第五章 软件测试
5.1 软件测试的基本概念
一、软件测试的目的和重要性
- 因为开发工作的前期不可避免地会引入错误,测试的目的是为了发现和改正错误,这对于某些涉及人的生命安全或重要的军事、经济目标的项目显得尤其重要。
二、软件测试的特点
1.软件测试的开销大
- 按照Boehm的统计,软件测试的开销大约占总成本的30%-50%。
2.不能进行“穷举”测试
- 只有将所有可能的情况都测试到,才有可能检查出所有的错误。但这是不可能的。
3.软件测试难度大
- 要尽可能找出多的错误,软件测试工作就需要选择“高效的测试用例”。
三、软件测试的基本原则
- 1.尽量不由程序设计者进行测试。
- 2.关键注重测试用例的选择。
- 输入数据的组成(输入数据、预期的输出结果)
- 既有合理输入数据,也有不合理的输入数据。
- 用例既能检查应完成的任务,也能够检查不应该完成的任务。
- 长期保存测试用例。
- 3.充分注意测试中的群集现象。
四、测试的基本步骤
- 语句覆盖:选择足够的测试用例,使得每个语句都至少能被执行一次。
- 判定覆盖:执行足够的测试用例,使得程序中每个判定至少都获得一次“真”值和“假”值。
- 条件覆盖:执行足够的测试用例,使得判定中的每个条件获得各种可能的结果。
- 判定/条件覆盖:执行足够的测试用例,使得判定中每个条件取到各种可能的值,并使每个判定取到各种可能的结果。
- 条件组合覆盖:执行足够的测试用例,使得每个判定中条件的各种可能组合都至少出现一次。
- 1)选择逻辑覆盖标准。
- 2)按照覆盖标准列出所有情况。
- 3)选择确定测试用例。
- 4)验证分析运行结果与预期结果。
2.黑盒法
-
不考虑程序的内部结构与特性,只根据程序功能或程序的外部特性设计测试用例。
5.3 软件测试的步骤
- 测试步骤及策略: 所有测试过程都应采用综合测试策略;即先作静态分析,再作动态测试。并事先制订测试计划。测试过程通常可分4步进行:
2.模块测试步骤
- 考虑到被测模块与其它模块的联系,因此测试时需要使用两类辅助模块来模拟其他模块。
- 驱动模块——模拟主程序功能,用户向被测模块传递数据,接收、打印从被测模块返回的数据。
- 桩模块——又称假模块,用于模拟那些由被测模块所调用的下属模块功能。
- 一般,驱动模块比桩模块容易设计,但都是额外开销。测试方法以白盒法为主。
-
自底而上增值
2.确认测试步骤
(1)有效性测试
- 制定测试计划,运用黑盒法,验证软件特性是否与需求符合。
(2)软件配置复查
- 软件配置—指软件工程过程中所产生的所有信息项:文档、报告、程序、表格、数据。随着软件工程过程的进展软件配置项(SCI—software Configuration Item)快速增加和变化。应复查SCI是否齐全。
3. α alpha α 测试和 β beta β 测试
- α alpha α 测试:是在开发机构的监督下,由个别用户在确认测试阶段后期对软件进行测试,目的是评价软件的FLURPS(功能、局域化、可使用性、可靠性、性能和支持),注重界面和特色。
- β beta β 测试:由支持软件预发行的客户对FLURPS进行测试,主要目的是测试系统的可支持性。
4.演绎法排错
- 演绎法是一种从一般原理出发,经过排除和精化的过程,推导出结论的方法。
第五章完
来源:Hatter_l
声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!