Ch07[精].ppt
文本预览下载声明
软件工程——原理、方法和工具 Ch.7 软件测试 第7章 软件测试 7.1 软件测试的目标 7.2 软件测试的原则 7.3 软件测试方法 7.3.1 静态测试与动态测试 7.3.2 黑盒测试法与白盒测试法 7.4 软件测试用例的设计 7.4.1 白盒技术 被测模块的流程图 程序流程图 程序图 7.4.2 黑盒技术 7.4.2 黑盒技术 7.4.2 黑盒技术 7.5 软件测试过程 7.5 软件测试过程 7.5.1 单元测试 7.5.2 集成测试 7.5.2 集成测试 7.5.2 集成测试 7.5.3 确认测试 7.5.4 系统测试 7.6 调试 调试是在测试发现错误之后排除错误的过程。 7.6.1 调试的目的 7.6.2 调试技术 7.6.1 调试的目的 软件测试的目的是为找出软件中存在的错误,即通过测试来发现错误,而调试的目的是为了解决存在的错误,即对错误定位、分析并找出原因改正错误,因此调试也称为纠错。 7.6.2 调试技术 简单的调试技术 使计算机将存储器的全部内容,通过打印机打印出来。然后通过逐个数据进行查找,从中寻找确定错误位置。 在程序特定部位插入打印语句,其方法的优点是显示程序的动态过程,比较容易检查源程序的有关信息。 使用自动调试工具来分析程序的动态行为,纠正错误。 消去原因法 归纳法 演绎法 7.6.2 调试技术 7.6.2 调试技术 习题 习题 Q A * tyutli@163.com * 7.1 软件测试的目标 7.2 软件测试的原则 7.3 软件测试方法 7.4 软件测试用例的设计 7.5 软件测试过程 7.6 调试 G.J.Myers给出的软件测试的目标或定义: 软件测试是为了发现错误而执行程序的过程; 一个好的测试用例能够发现至今尚未发现的错误; 一个成功的测试是发现了至今尚未发现的错误的测试。 测试阶段的基本任务应该是根据软件开发各阶段的文档资料和程序内部结构,精心设计一组“高产”的测试用例,利用这些用例执行程序,找出软件中潜在的各种错误缺陷。 1. 测试用例既要有输入数据,又要有对应的输出结果 测试用例不仅要选用合理的输入数据,还应选择不合理的输入数据 除了检查程序是否做了它应该做的工作,还应该检查程序是否做了它不应该做的工作 应该远在测试开始之前就制定测试计划 测试计划、测试用例、测试报告必须作为文档长期保存 Pare to原理说明,测试发现的错误中80%很可能是由程序中20%的模块造成的 为了达到最佳的测试效果,程序员应该避免测试自己的程序 软件测试的分类: 动态测试 静态分析 7.3.1 静态测试与动态测试 7.3.2 黑盒测试法与白盒测试法 静态测试: 人工测试 计算机辅助静态分析 动态测试: 黑盒测试法 白盒测试法 黑盒测试,也称功能测试或数据驱动测试。它不考虑程序内部结构和处理过程。把被测程序看成一个黑盒子,只在软件接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求。 白盒测试,也称结构测试或逻辑驱动测试。测试人员需了解程序的内部结构和处理过程,以检查处理过程的细节为基础,要求对程序的结构特性做到一定程度的覆盖,对程序中的所有逻辑路径进行测试,并检验内部控制结构是否有错,确定实际的运行状态与预期的状态是否一致。 黑盒测试和白盒测试都不可能进行穷尽测试。 测试用例的设计人员必须努力以最少量的测试用例来发现最大量的可能错误。 7.4.1 白盒技术 7.4.2 黑盒技术 逻辑覆盖 语句覆盖 判定覆盖 条件覆盖 判定条件覆盖 条件组合覆盖 路径覆盖 循环覆盖 单循环 嵌套循环 基本路径测试 使用基本路径测试技术设计测试用例的步骤 : 根据详细设计结果或源程序画出相应的程序图(也称为流图) ; 计算程序图G的环形复杂度V(G) ; 确定线性独立路径的基本集合; 导出测试用例 ; 准备测试用例,确保基本路径集中的每一条路径的执行 9 10 2 3 4 5 6 8 7 1 等价类划分法 有效等价类 无效等价类 边界值分析法 错误推测法 因果图法 ⑨ 等于00 ⑩ 大于12 ⑧ 01~12之间 月份 ⑥ 小于196607 ⑦ 大于198106 ⑤ 在196607~198106 出生年月数值 ② 有非数字字符 ③ 少于6位数字字符 ④ 多于6位数字字符 ① 6位数字字符 出生年月的类型及长度 无效等价类 有效等价类 输入条件 “招聘考试”输入条件的等价类表 “招聘考试”边界值分析法测试用例 合格年龄
显示全部