
第2章 软件测试策略与过程 2.1软件测试的复杂性分析 2.2软件测试方法与策竖 2.3 单元测试 2 集成测试 25 确认测试 系统测试 验收测试 测试后的调试 面向对象的软住测试 第二章软件测试策略与过程
A Free sample background from www.powerpointbackgrounds.com Slide 1 第二章 软件测试策略与过程 第2章 软件测试策略与过程 2.1 软件测试的复杂性分析 2.2 软件测试方法与策略 2.3 单元测试 2.4 集成测试 2.5 确认测试 2.6 系统测试 2.7 验收测试 2.8 测试后的调试 2.9 面向对象的软件测试

本章教学目标 ■理解软件测试的复杂性 ■理解软件测试的方法与策略 ■明确单元测试的主要任务和过程 ■明确集成测试的方法和确认测试的准则 ■明确系统测试的八个领域测试要点 ■明确验收测试的主要内容和相关配置 第二章款件测试策略与过程
A Free sample background from www.powerpointbackgrounds.com Slide 2 第二章 软件测试策略与过程 本章教学目标 ◼ 理解软件测试的复杂性 ◼ 理解软件测试的方法与策略 ◼ 明确单元测试的主要任务和过程 ◼ 明确集成测试的方法和确认测试的准则 ◼ 明确系统测试的八个领域测试要点 ◼ 明确验收测试的主要内容和相关配置

2.1软件测试的复杂性分析 1、无法对程序进行完全测试 (1)测试所需要的输入量太大 (2)测试的输出结果太多 (3)软件实现的途径太多 (4)软件规格说明没有一个客观标准 2、测试无法显示潜在的软件缺陷和故障 一通过软件测试只能报告软件已被发现的缺陷和故障, 无法报告隐藏的软件故障。 3、存在的故障现象与发现的故障数量成正比 一结论:应当对故障集中的程序段进行重点测试 Return 第二章软件测试策略与这程
A Free sample background from www.powerpointbackgrounds.com Slide 3 第二章 软件测试策略与过程 2.1 软件测试的复杂性分析 1、无法对程序进行完全测试 (1)测试所需要的输入量太大 (2)测试的输出结果太多 (3)软件实现的途径太多 (4)软件规格说明没有一个客观标准 2、测试无法显示潜在的软件缺陷和故障 ——通过软件测试只能报告软件已被发现的缺陷和故障, 无法报告隐藏的软件故障。 3、存在的故障现象与发现的故障数量成正比 ——结论:应当对故障集中的程序段进行重点测试 Return

软件测试的复杂性分析(续) 4、不能修复所有的软件故障 一原因:没有足够的进行修复;修复的风险较大;不 值得修复:可不算做故障的一些缺陷;“杀虫剂现象”。 一结论:关键是要进行正确的判断、合理的取舍,根据 风险分析决定哪些故障必须修复,哪些故障可以不修复。 5、软件测试的代价 一工作原则:就是如何将无边无际的可能性减小到一个 可以控制的范围,以及如何针对软件风险做出恰当选择, 去粗存精,找到最佳的测试量,使得测试工作量不多也不 少,既能达到测试的目的,又能较为经济。 第二章软件测试策略与这程
A Free sample background from www.powerpointbackgrounds.com Slide 4 第二章 软件测试策略与过程 软件测试的复杂性分析(续) 4、不能修复所有的软件故障 ——原因:没有足够的进行修复;修复的风险较大; 不 值得修复;可不算做故障的一些缺陷;“杀虫剂现象” 。 ——结论:关键是要进行正确的判断、合理的取舍,根据 风险分析决定哪些故障必须修复,哪些故障可以不修复。 5、软件测试的代价 ——工作原则:就是如何将无边无际的可能性减小到一个 可以控制的范围,以及如何针对软件风险做出恰当选择, 去粗存精,找到最佳的测试量,使得测试工作量不多也不 少,既能达到测试的目的,又能较为经济

2.2软件测试方法与策略 2.2.1静态测试与动态测试 2.2.2黑盒测试与自盒测试 2.2.3软件测试过程 Return 第二章软件测试策略与议程
A Free sample background from www.powerpointbackgrounds.com Slide 6 第二章 软件测试策略与过程 2.2 软件测试方法与策略 2.2.1 静态测试与动态测试 2.2.2 黑盒测试与白盒测试 2.2.3 软件测试过程 Return

软件测试策略 ■什么是软件测试策略? 一是为软件工程过程定义的一个软件测试的模板,也就是 把特定的测试用例方法放置进去的一系列步骤。 ■软件测试策略包含的特征: (1)测试从模块层开始,然后扩大延伸到整个基于计算机的 系统集合中。 (2)不同的测试技术适用于不同的时间点。 (3)测试是由软件的开发人员和(对于大型系统而言)独立 的测试组来管理的。 (4)测试和调试是不同的活动,但是调试必须能够适应任何 的测试策略。 第二章软件则试策略与过程
A Free sample background from www.powerpointbackgrounds.com Slide 7 第二章 软件测试策略与过程 软件测试策略 ◼ 什么是软件测试策略? ——是为软件工程过程定义的一个软件测试的模板,也就是 把特定的测试用例方法放置进去的一系列步骤。 ◼ 软件测试策略包含的特征: (1)测试从模块层开始,然后扩大延伸到整个基于计算机的 系统集合中。 (2)不同的测试技术适用于不同的时间点。 (3)测试是由软件的开发人员和(对于大型系统而言)独立 的测试组来管理的。 (4)测试和调试是不同的活动,但是调试必须能够适应任何 的测试策略

软件测试充分性准则 ■对任何软件都存在有限的充分测试集合。 ■如果一个软件系统在一个测试数据集合上的测试是充分的,那 么再多测试一些数据也应该是充分的。这一特性称为单调性。 ■即使对软件所有成分都进行了充分的测试,也并不表明整个软 件的测试已经充分了。这一特性称为非复合性。 ■即使对软件系统整体的测试是充分的,也并不意味软件系统中 各个成分都已经充分地得到了测试。这个特性称为非分解性。 ■软件测试的充分性应该与软件的需求和软件的实现都相关。 ■软件越复杂,需要的测试数据就越多。这一特性称为复杂性。 ■测试得越多,进一步测试所能得到的充分性增长就越少。这一 特性称为回报递减率。 第二章款件则试菜略与这程
A Free sample background from www.powerpointbackgrounds.com Slide 8 第二章 软件测试策略与过程 软件测试充分性准则 ◼ 对任何软件都存在有限的充分测试集合。 ◼ 如果一个软件系统在一个测试数据集合上的测试是充分的,那 么再多测试一些数据也应该是充分的。这一特性称为单调性。 ◼ 即使对软件所有成分都进行了充分的测试,也并不表明整个软 件的测试已经充分了。这一特性称为非复合性。 ◼ 即使对软件系统整体的测试是充分的,也并不意味软件系统中 各个成分都已经充分地得到了测试。这个特性称为非分解性。 ◼ 软件测试的充分性应该与软件的需求和软件的实现都相关。 ◼ 软件越复杂,需要的测试数据就越多。这一特性称为复杂性。 ◼ 测试得越多,进一步测试所能得到的充分性增长就越少。这一 特性称为回报递减率

2.2.1静态测试与动态测试 1、静态测试 ■静态测试不实际运行软件,主要是对软件的编程格式、结构 等方面进行评估。 ■静态测试包括代码检查、静态结构分析、代码 质量度量>等。它可以由人工进行,也可以借助软件工 具自动进行。 ■静态测试方法也可利用计算机作为对被测程序进行特性分析 的工具,但与人工测试方式有着根本区别。另一方面,因它 并不真正运行被测程序,只进行特性分析,这又与动态方法 不同。所以,静态方法常常称为“分析”,静态测试是对被 测程序进行特性分析方法的总称。 第二章软件测试策略与过程
A Free sample background from www.powerpointbackgrounds.com Slide 9 第二章 软件测试策略与过程 2.2.1 静态测试与动态测试 1、静态测试 ◼ 静态测试不实际运行软件,主要是对软件的编程格式、结构 等方面进行评估。 ◼ 静态测试包括代码检查 、静态结构分析 、代码 质量度量 等。它可以由人工进行,也可以借助软件工 具自动进行。 ◼ 静态测试方法也可利用计算机作为对被测程序进行特性分析 的工具,但与人工测试方式有着根本区别。另一方面,因它 并不真正运行被测程序,只进行特性分析,这又与动态方法 不同。所以,静态方法常常称为“分析”,静态测试是对被 测程序进行特性分析方法的总称

静态测试与动态测试(续) ■静态测试阶段的任务: (1)检查算法的逻辑正确性。 (2)检查模块接口的正确性。 (3)检查输入参数是否有合法性检查。 (4)检查调用其他模块的接口是否正确。 (5)检查是否设置了适当的出错处理。 (6)检查表达式、语句是否正确,是否含有二义性。 (7)检查常量或全局变量使用是否正确。 (8)检查标识符的使用是否规范、一致。 (9)检查程序风格的一致性、规范性。 (10)检查代码是否可以优化,算法效率是否最高 (11)检查代码注释是否完整,是否正确反映了代码的功能。 第二章软件则试策略与过程
A Free sample background from www.powerpointbackgrounds.com Slide 13 第二章 软件测试策略与过程 静态测试与动态测试(续) ◼ 静态测试阶段的任务: (1)检查算法的逻辑正确性。 (2)检查模块接口的正确性。 (3)检查输入参数是否有合法性检查。 (4)检查调用其他模块的接口是否正确。 (5)检查是否设置了适当的出错处理。 (6)检查表达式、语句是否正确,是否含有二义性。 (7)检查常量或全局变量使用是否正确。 (8)检查标识符的使用是否规范、一致。 (9)检查程序风格的一致性、规范性。 (10)检查代码是否可以优化,算法效率是否最高。 (11)检查代码注释是否完整,是否正确反映了代码的功能

静态测试与动态测试(续) ■静态测试可以完成以下工作: (1)发现下列程序的错误:错用局部变量和全局变量;未 定义的变量、不匹配的参数;不适当的循环嵌套或分支嵌 套、死循环、不允许的递归:调用不存在的子程序,遗漏 标号或代码。 (2)找出以下问题的根源:从未使用过的变量;不会执行 到的代码、从未使用过的标号;潜在的死循环。 (3)提供程序缺陷的间接信息:所用变量和常量的交叉应 用表;是否违背编码规则;标识符的使用方法和过程的调 用层次。 (4)为进一步查找做好准备。 (5)选择测试用例。 (6)进行符号测试。 第二章款件则试菜略与这程
A Free sample background from www.powerpointbackgrounds.com Slide 14 第二章 软件测试策略与过程 静态测试与动态测试(续) ◼ 静态测试可以完成以下工作: (1)发现下列程序的错误:错用局部变量和全局变量;未 定义的变量、不匹配的参数;不适当的循环嵌套或分支嵌 套、死循环、不允许的递归;调用不存在的子程序,遗漏 标号或代码。 (2)找出以下问题的根源:从未使用过的变量;不会执行 到的代码、从未使用过的标号;潜在的死循环。 (3)提供程序缺陷的间接信息:所用变量和常量的交叉应 用表;是否违背编码规则;标识符的使用方法和过程的调 用层次。 (4)为进一步查找做好准备。 (5)选择测试用例。 (6)进行符号测试