一、按测试执行顺序划分
- 单元测试
- 定义:针对软件基本组成单元(软件设计的最小单位)来进行正确性检验的工作;
- 测试目的:检测软件模块对《详细设计说明书》的符合程度。
- 集成测试
- 定义:在单元测试的基础上,将所有模块按照概要设计要求组装成为子系统或系统,验证组装后功能以及模块间接口是否正确的测试工作;
- 测试目的:检测软件模块对《概要设计说明书》的符合程度。
- 系统测试
- 定义:将已经集成好的的软件系统,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他元素组合在一起,在实际运行(使用)环境下,对计算机系统进行的一系列的测试工作。
- 测试目的:与《需求规格说明书》做比较,发现软件与系统需求定义不符合或与之矛盾的地方。
- 回归测试
- 定义:软件在测试或其他活动中发现的缺陷经过修改后,进行的测试;
- 测试目的:验证缺陷得到了正确的修复,同时对系统的变更没有影响以前的功能;
- 特点:回归测试可以发生在任何一个阶段,包括单元测试、集成测试和系统测试;
- 策略:
- 完全重复测试:重新执行前期建立的所有测试用例,并确认确认缺陷解决和修改的扩散影响性;
- 选择性重复测试:
- 覆盖修改法:选择直接影响的用例
- 周边影响法:选择间接影响的用例
- 指标达成方法:达到指标的覆盖率等
- 流程:
- 制定回归测试策略
- 确定测试的版本
- 按照回归测试策略执行回归测试
- 回归测试通过,关闭缺陷跟踪单(问题单)
- 回归测试不通过,缺陷跟踪单返回开发人员,经开发人员修改后再次进行回归测试
- 其他测试阶段
- 验收测试:用户根据合同、《需求规格说明书》或《验收测试计划》对产品进行的验收测试
- β测试:多用户在实际使用环境下进行的测试
- α测试:用户在开发环境下进行的测试,评价软件FLURPS
- FLURPS即:功能、局域化、可用性、可靠性、性能、技术支持
二、单元测试、集成测试、系统测试的比较
- 测试方法:
- 单元测试属于白盒测试范畴;
- 集成测试属于灰盒测试范畴;
- 系统测试属于黑盒测试范畴;
- 测试范围:
- 单元测试主要测试内部数据结构、逻辑控制、异常处理等;
- 集成测试主要测试模块间的接口与接口数据传递关系,以及模块组合后的整体功能;
- 系统测试主要测试整个系统相对于需求的符合度;
- 测试评估基准:
- 单元测试主要通过逻辑覆盖率来评估;
- 集成测试主要通过接口覆盖率来评估;
- 系统测试主要通过测试用例对需求规格的覆盖率来评估
三、主要的测试文档
- 测试计划:测试计划:测试范围、方法、资源,以及相应测试活动的时间进度安排表的文档;
- 测试方案:为完成软件集成特性的测试而进行的设计测试方法的细节文档;
- 测试用例:为完成一个测试项的测试输入、预期结果、测试执行条件等因素的文档;
- 测试执行规划:执行测试时测试活动序列的文档;
- 测试报告:执行测试结果的文档;
- 测试日报:每天测试执行情况的记录和总结。