您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 软件测试 2测试概述
SoftwareTesting软件测试第一部分数学背景•第一章测试概述•第二章举例•第三章测试人员的离散数学•第四章测试人员的图论(延后教学)•本章学习目标–了解测试相关的基本定义–掌握测试用例–通过维恩图理解测试–了解错误与缺陷分类–了解测试级别第一章测试概述1.1基本定义•错误(error):错误能扩散,最终导致被放大•缺陷(fault):是错误的结果,遗漏更难检测和解决•失效(failure):执行缺陷时发生•事故(incident):表示软件发生失效•测试(test):采用测试用例执行软件的活动•测试用例(testcast)一个测试生命周期需求规格说明设计编码测试缺陷分析缺陷隔离缺陷解决错误错误错误错误缺陷缺陷缺陷事故修复三个阶段:1.引入错误2.找出程序错误3.清除程序错误软件测试的阶段组成测试计划测试用例的开发运行测试用例测试评估1.2测试用例•输入的两种类型:–前提(测试用例执行之前已存在的环境)–实际输入(某种测试方法所既定标识)•预期输出的两种类型:–后果和实际输出–因为输出部分困难,所以常常被忽视测试活动要建立必要前提条件,提供输入,将输出与预期输出进行比较,最终确定测试是否通过。什么是测试用例•一个测试用例就是一个文档,其目的是确定应用程序的某个特性是否正常的工作。•一个测试用例应当有完整的信息,如:测试用例ID号,测试用例名字,测试用例的目的,测试条件、输入数据需求、步骤和期望结果。一个成功的测试示例在于:发现了至今尚未发现的缺陷。典型的测试用例信息测试用例ID目的前提预期输出后果执行历史日期结果版本执行人设计测试用例是软件测试员最重要的一项工作1.3通过维恩图理解测试•测试、结构视图和行为视图之间的关系–测试关注行为,结构视图关注是什么,行为试图关注做什么•描述行为与实现行为–P:程序实现的行为–S:描述行为程序行为SP规格说明程序•增加测试用例(T)后–S:描述的行为–P:程序实现的行为–T:测试用例SP1234567T8规格说明程序测试用例T1.4测试方法•测试方法:功能测试和结构测试–功能测试:任何程序都可以看作是将从输入定义域取值映射到输出值域的函数。又称为黑盒测试。–结构测试:基于应用程序的内部逻辑的知识,通过语句,分支,路径和条件的覆盖的测试方法。又称为白盒测试或逻辑驱动测试。功能测试•功能性测试用例具有两个显著的优点:–1)功能性测试与软件如何实现无关;–2)测试用例开发可以与实现并行进行•功能测试的缺点:–1)存在严重的冗余;–2)未测试的软件漏洞软件输入输出闭着眼睛测试软件通过维恩图理解功能性测试规格说明程序测试用例(方法A)规格说明程序测试用例(方法B)结构性测试•结构测试又称:开盒测试、白盒测试、玻璃盒测试、基于覆盖的测试•根据被测程序的逻辑结构设计测试用例;•力求提高测试覆盖率;应用程序通过维恩图理解结构性测试规格说明程序测试用例(方法A)规格说明程序测试用例(方法B)功能性测试和结构性测试•两种不同的观点:–RobertPoston认为结构性测试是“在浪费测试人员的时间⋯不支持好的软件测试实践⋯”–EdwardMiller认为结构性测:“如果达到85%或更好的水平,⋯是功能性测试找出的缺陷的两倍⋯”功能性测试结构性测试黑盒测试与白盒测试优缺点比较黑盒测试白盒测试优点①适用于各阶段测试②从产品功能角度测试③容易入手生成测试数据①可构成测试数据使特定程序部分得到测试②有一定的充分性度量手段③较多工具支持缺点①某些代码得不到测试②如果规格说明有误,则无法发现③不易进行充分性测试①不易生成测试数据(通常)②无法对未实现规格说明的部分进行测试③工作量大,通常只用于单元测试,有应用局限性质是一种确认技术,回答“我们在构造一个正确的系统吗?”是一种验证技术,回答“我们在正确地构造一个系统吗?”结论不论黑盒还是白盒测试都不能进行穷尽测试,所以软件测试不可能发现程序中存在的所有错误,因此需精心设计测试方案,力争尽可能少的次数,测出尽可能多的错误。CBADA只能用黑盒测试发现的错误B只能用白盒测试发现的错误C两种方法都能发现的错误D两种方法都不能发现的错误SP为什么缺陷很难被找出?•看不到•看到但是抓不到•典型的缺陷类型–需求解释有错误–用户定义错了需求–需求记录错误–设计说明有误–编码说明有误–程序代码有误–数据输入有误–测试错误–问题修改不正确–正确的结果是由于其它的缺陷产生的1.5错误与缺陷分类•根据严重程度分类的缺陷:–1.轻微词语拼写错误–2.中等误导或重复信息–3.使人不悦被截断的名称,0.00美元账单–4.影响使用有些交易没有处理–5.严重丢失交易–6.非常严重不正确的交易处理–7.极为严重经常出现“非常严重的”错误–8.无法忍受数据库破坏–9.灾难性系统停机–10.容易传染扩展到其他系统的系统停机几种常见的异常•输入/输出缺陷类型举例输入不接受正确的输入接受不正确的输入描述有错或遗漏参数有错或遗漏输出格式有错结果有错在错误的时间产生正确的结果不一致或遗漏结果不合逻辑的结果拼写/语法错误修饰词错误•逻辑缺陷–遗漏情况–重复情况–极端条件出错–解释有错–遗漏条件–外部条件有错–错误变量的测试–不正确的循环迭代–错误的操作符(例如用取代了≤)几种常见的异常几种常见的异常•计算缺陷–不正确的算法–遗漏计算–不正确的操作数–不正确的操作–括号错误–精度不够(四舍五入,截断)–错误的内置函数几种常见的异常•接口缺陷–不正确的中断处理–I/O时序有错–调用了错误的过程–调用了不存在的过程–参数不匹配(类型,个数)–不兼容的类型–过量的包含几种常见的异常•数据缺陷–不正确的初始化–不正确的存储/访问–错误的标志/索引值–不正确的打包/拆包–使用了错误的变量–错误的数据引用–缩放数据范围或单位错误–不正确的数据维数–不正确的下标–不正确的类型–不正确的数据范围–传感器数据超出限制–出现1次断开–不一致的数据1.6测试的级别•瀑布模型中的抽象和测试的级别需求分析详细设计概要设计编码单元测试集成测试系统测试ProcessofDevelopmentandTesting(V_Model)System/SoftwareDesignSystemTestFeatureTestDetailDesignCodeUnitTestRequirements,FunctionalDesignAcceptanceTestcustomer,user,PM,technicalsupportDesign/AnalysisVerify/testingVerificationofsystemdesignValidationofCustomerRequirementsEngineersTestObjectivesTestPlanningTestDesignTestExecution(Static)TestExecution(Dynamic)OperationalorBusinessNeedsDefineRequirementsDesignSystemBuildSystemRAD-VModel(进一步丰富)本章回顾•基本定义•测试用例•通过维恩图理解测试•标识测试用例–功能性测试–结构性测试–功能性测试与结构性测试之比较•错误与缺陷分类•测试级别SoftwareTesting谢谢!
本文标题:软件测试 2测试概述
链接地址:https://www.777doc.com/doc-3876149 .html