前言
一般来说,按照软件的研制阶段划分,软件测试可分为单元测试、集成测试、配置项测试、系统测试等。本文将对上述各测试阶段进行逐一介绍。
一、软件测试“V”模型
V模型是软件测试过程中一种比较常见的模型,是基于瀑布开发模型而来。虽然V模型有很多缺点,但是它明确规定了各个测试阶段,并能很清晰的反映开发过程和测试过程的关系(如下图所示)。本文将按V模型的顺序讲解各个测试阶段。
二、单元测试
单元测试(Unit Testing),是指对软件中的最小可测试单元进行测试验证,比如C语言中单元指一个函数,C++里单元指一个类中的方法。单元测试是白盒测试,主要依据软件详细设计和软件代码进行,不仅要求验证软件设计的功能,还要求对软件代码的覆盖率进行测试。
一般来说,单元测试的流程如下:
三、集成测试
集成测试(Integration Testing),在军工行业中也称部件测试,一种旨在暴露接口以及集成组件/系统间交互时存在的缺陷的测试。集成测试是灰盒测试,主要依据软件概要设计和软件代码进行,不仅要求验证软件设计的功能,还要求对软件单元调用的覆盖率和调用时序进行测试。
一般来说,集成测试的流程如下:
四、配置项测试
配置项测试(Configuration Item Testing),主要是对单个可独立运行的软件进行的测试。配置项测试是黑盒测试,主要依据软件需求规格说明书进行,验证软件的功能、性能、可靠性、兼容性、易用性、维护性、信息安全、可移植性等。
一般来说,配置项测试的流程如下:
五、系统测试
系统测试(System Testing),主要是对多个软件组成的系统进行的整体测试。系统测试是黑盒测试,主要依据系统规格说明书进行,验证系统的功能、性能、可靠性、兼容性、易用性、维护性、信息安全、可移植性、接口等。
一般来说,系统测试的流程如下:
总结
以上测试阶段主要依据《GB/T 15532 计算机软件测试规范》和《GJB/Z 141 军用软件测试指南》进行划分。在更新的测试标准中,在配置项测试和系统测试之间,还有一个配置项集成测试,依据系统接口需求规格说明进行,主要针对多个软件的集成进行测试,比如各个软件之间工作时序、接口等测试,测试流程和系统测试类似,此处不再赘述。
总的来说,每个测试阶段的测试对象、测试依据、测试侧重点都不相同,每个测试阶段都有其存在的意义,只有把每个阶段的测试都执行好,才能尽可能的确保软件质量。