25/1/151第七章软件测试25/1/152基本概念软件开发过程必须伴有质量保证活动。软件测试是软件质量保证的关键元素,代表了规约、设计和编码的最终检查。软件测试分为单元测试和综合测试。25/1/153测试用例设计选择测试用例是软件测试员最重要的一项工作。测试用例的属性:属性描述name测试用例的名称location可执行的完全路径名input输入数据或命令oracle与测试输入相比较的期待测试结果log测试生产的输出25/1/154软件测试信息流软件配置测试测试配置测试工具结果分析排错可靠性分析测试结果错误预期结果出错率改正的软件预测的可靠性需求规格说明书软件设计说明书被测源程序测试计划测试用例(测试数据)测试驱动程序25/1/155测试活动和相关工作产品项目协议对象设计客户开发人员用户集成策略系统分解功能性需求非功能性需求单元测试集成测试结构测试功能测试性能测试用户手册验收测试安装测试现场测试日常操作25/1/156测试设计中需要考虑的22种测试类型•黑盒测试•白盒测试•单元测试•累计综合测试•集成测试•功能测试•系统测试•端到端测试•健全测试•衰竭测试•接受测试•负载测试•强迫测试•性能测试•可用性测试•安装/卸载测试•恢复测试•兼容测试•安全测试•比较测试•Alpha测试•Beta测试25/1/157测试的方法与技术软件测试的策略和方法静态测试方法动态测试方法人工测试方法计算机辅助静态分析方法白盒测试方法黑盒测试方法25/1/158动态测试方法(1)选取定义域有效值,或定义域外无效值.(2)对已选取值决定预期的结果(3)用选取值执行程序(4)执行结果与(2)结果相比,不吻和程序有错.25/1/159黑盒测试—闭着眼睛测试软件软件输入不深入代码细节的测试方法称为动态黑盒测试。软件测试员充当客户来使用它。输出25/1/1510黑盒测试如果知道了软件产品应该具有的功能,可通过测试来验证每个功能是否都能正常使用,此为黑盒测试。25/1/1511黑盒测试又称:功能测试数据驱动测试基于规格说明书的测试25/1/1512白盒测试—带上X光眼镜测试??????????????3581322.293419985680302829734315250*(1+0.015)*((1+0.015)^360-1)/0.015250*(1+0.015)*((1+0.015)^360-1)/0.015假如知道一个盒子包含一台计算机,而另一个盒子是人用纸笔计算,就会选择不同的测试用例了解软件的运作方式会影响测试手段25/1/1513白盒测试如果知道了软件产品的内部工作过程,可通过测试来检验产品内部动作是否按照规格说明书的规定正常进行,此为白盒测试。25/1/1514白盒测试又称:开盒测试结构测试玻璃盒测试基于覆盖的测试.根据被测程序的逻辑结构设计测试用例;力求提高测试覆盖率;25/1/1515黑盒测试与白盒测试比较黑盒测试是从用户观点,按规格说明书要求的输入数据与输出数据的对应关系设计测试用例,是根据程序外部特征进行测试。白盒测试是根据程序内部逻辑结构进行测试。25/1/1516黑盒测试与白盒测试优缺点比较黑盒测试白盒测试优点缺点性质①适用于各阶段测试②从产品功能角度测试③容易入手生成测试数据①可构成测试数据使特定程序部分得到测试②有一定的充分性度量手段③可或较多工具支持①某些代码得不到测试②如果规格说明有误,则无法发现③不易进行充分性测试①不易生成测试数据(通常)②无法对未实现规格说明的部分进行测试③工作量大,通常只用于单元测试,有应用局限是一种确认技术,回答“我们在构造一个正确的系统吗?”是一种验证技术,回答“我们在正确地构造一个系统吗?”25/1/1517黑盒测试与白盒测试不论黑盒还是白盒测试都不能进行穷尽测试,所以软件测试不可能发现程序中存在的所有所有错误,因此需精心设计测试方案,力争尽可能少的次数,测出尽可能多的错误.25/1/1518黑盒测试与白盒测试能发现的错误CBAD-只能用黑盒测试发现的错误A-只能用白盒测试发现的错误-两种方法都能发现的错误-两种方法都不能发现的错误BCD25/1/1519白盒测试的测试用例设计逻辑覆盖法(1)语句覆盖(2)判定覆盖(3)条件覆盖(4)判定/条件覆盖(5)条件组合覆盖(6)路径覆盖25/1/1520举例:开始(A>1)AND(B=0)(A=2)OR(X>1)返回X=X/AX=X+1FFTTabdce25/1/1521举例:例:PROCEDURESAMPAL(A,B:REAL;VARX:REAL);BEGINIF(A>1)...