测试方法
灰盒测试
灰盒测试,确实是介于 白盒测试与 黑盒测试之间的,可以这 样理解,灰盒测试关注输出对于输入的正确性,同时也关注内部表现,但这种关注不象白盒那样详细、完整,只是通过一些表征性的现象、事件、标志来判断内部的运行状态,有时候输出是正确的,但内部其实已经错误了,这种情况非常多,如果每次都通过白盒测试来操作,效率会很低,因此需要采取这样的一种灰盒的方法。
白盒测试
白盒测试,又称结构测试。他的前提是可以把程序看成在一个透明的白盒子里,测试者完全知道程序的结构和处理算法。这种方法按照程序内部 逻辑设计 测试用例,检测程序中的主要执行通路是否能按照预定要求正确工作。
白盒测试根据软件的内部 逻辑设计设施用例,常用的技术是 逻辑复盖,即考察用测试数据运行被测程序是对程序逻辑的复盖程度。主要的复盖标准有: 语句复盖、 判定复盖、 条件复盖、判定/条件复盖、组合条件复盖和 路径复盖。
黑盒测试
黑盒测试根据关键需求说明书所规定的功能来设计 测试用例,它不考虑软件的内部结构和处理算法。常用的 黑盒测试技术包括等价类划分、边值分析、错误推测和因果图等。
测试工作流程
从测试流程的角度看,软件测试可分为 单元测试、 集成测试和 确认测试。
单元测试
单元测试(unit testing),也称 模块测试,通常可放在编程阶段,由 程序员对自己编写的模块自行测试,检查模块是否实现了 详细设计说明书中规定的功能和算法。 单元测试主要发现编程和 详细设计中产生的错误,单元测试计划应该在详细设计阶段制定。
单元测试期间着重从以下几个方面对模块进行测试:模块接口、局部 数据结构、重要的执行通路、出错处理通路及边界条件等。
集成测试
集承测试(integration testing),也称 组装测试,它是对由各模块组装而成的程序进行测试,主要目标是发现模块间的接口和通信问题。集成测试主要发现设计阶段产生的错误,集成 测试计划应该在 概要设计阶段制定。集成的方式可分为非渐增式和渐增式。
确认测试
确认测试(validation testing),主要依据 软件需求说明书检查软件的功能、性能及其他特征是否与用户的需求一致。确认测试计划应该在 需求分析阶段制定。