软件测试:40%工作量
测试横跨2个阶段:
1.在编写出每个模块就要进行必要的测试—编写和单元测试
2.对软件系统进行各种综合测试
测试的目标:发现软件中的错误
软件测试基础
软件测试准则
pareto原理:80%的错误由20%的程序造成的
最佳效果:最大可能性发现错误的测试
测试方法
- 黑盒测试 = 功能测试
完全不考虑内部的处理方法和结构,只检查功能是不是按说明书正规使用
2.白盒测试 = 结构测试
知道程序的结构和处理方法,按内部逻辑测试,主要执行通路是不是按说明书执行
测试步骤
详说单元测试
单元=模块(模块是软件设计的最小单元)
单元测试使用白盒测试方法
5个测试重点
测试阶段的信息流
代码审查
当一个单元测试完了要进行代码审查
由一个审查小组进行
代码测试比计算机测试优越的地方在于:一次审查会上可以检查出许多错误;用计算机测试方法发现错误之后,需要改正这个错误才能继续测试,错误一个一个发现并改正的
计算机测试
驱动程序是主程序,接受测试数据,传给模块,印出结果
说白了 : 把小模块抽出来,用驱动程序运行测试,因为小模块不是独立程序,需要调用
存根程序代替被测试的模块所调用的模块(即下层模块),目的是为了简化下层模块
驱动程序和存根程序代表开销,为了减少开销,可以使用下面的集成测试方法。
模块的内聚程度高可以简化单元测试过程,因为每个模块只完成一个功能,则需要测试方案数目将减少。
集成测试
将所有模块集成,然后测试所有
将模块组成程序有两种方法:
非渐增式和渐增式
评价:
- 非渐增式 – 将所有模块作为一个整体,当面对非常复杂的情况时,会遇到许多错误
- 渐增式 – 将程序划分成小分,容易定位错误和改正,可以使用系统化的测试方法
不同集成测试的比较:
自顶向下:
优点-- 不需要测试驱动程序,能够在测试阶段早期实现并验证系统的主要功能,能在早期发现上层模块的接口错误
缺点-- 需要存根程序,低层模块发现问题晚,在早期不能充分展开人力。
自底向上
优缺点相反
回归测试
在集成测试过程中每当一个新模块进来时,程序发生变化。回归测试指重新执行已经做过的测试的某个子集。
确认测试通过黑盒测试
7.5.2 软件配置复查—测试完了保证文档同步
目的:保证软件配置的所有成分都齐全,
质量符合要求,文档与程序完全一致,而且已
经编好目录。
输入信息有两类:
- 软件配置:需求说明书、设计说明书
- 测试配置:测试计划、测试方案
如果测试错误—调试—调试由程序编写者修改