软件测试是软件开发过程中重要内容之一,是软件质量保证的关键。软件测试贯穿软件产品开发的整个生命周期,如第二章V模型图2-1所示,软件测试和软件项目同时开始,从产品的需求分析审查到最后的验收测试,直至软件发布。
从测试实际的前后过程来看,软件测试的过程是由一系列的不同测试阶段所组成,这些软件测试的步骤分为:需求分析审查、设计审查、单元测试、集成测试(组装测试)、功能测试、系统测试、验收测试、回归测试(维护)等。详细内容见下表。
阶 段
输入和要求
输出
需求分析审查
Requirements Review
市场/产品需求定义、分析文档和相关技术文档
要求:需求定义要准确、完整和一致, 真正理解客户的需求
需求定义中问题列表,批准的需求分析文档
测试计划书的起草
设计审查
Design Review
产品规格设计说明、系统架构和技术设计文档、测试计划和测试用例
要求:系统结构的合理性、处理过程的正确性、数据库的规范化、模块的独立性等
清楚定义测试计划的策略、范围、资源和风险,测试用例的有效性和完备性
设计问题列表、批准的各类设计文档、系统和功能的测试计划和测试用例
测试环境的准备
单元测试
Unit Testing
源程序、编程规范、产品规格设计说明书和详细的程序设计文档
要求:遵守规范、模块的高内聚性、功能实现的一致性和正确性
缺陷报告、跟踪报告;完善的测试用例、测试计划
对系统功能及其实现等了解清楚
集成测试
Integration Testing
通过单元测试的模块或组件、编程规范、集成测试规格说明和程序设计文档、系统设计文档
要求:接口定义清楚且正确、模块或组件一起工作正常、能集成为完整的系统
缺陷报告、跟踪报告;完善的测试用例、测试计划;集成测试分析报告;
集成后的系统
功能验证
Functionality Testing
代码软件包(含文档),功能详细设计说明书; 测试计划和用例
要求:模块集成 功能的正确性、适用性
缺陷报告、代码完成状态报告、功能验证测试报告
系统测试
System Testing
修改后的软件包、测试环境、系统测试用例和测试计划
要求:系统能正常地、有效的运行,包括性能、可靠性、安全性、兼容性等。
缺陷报告、系统性能分析报告、缺陷状态报告、阶段性测试报告
验收测试
Acceptance Testing
产品规格设计说明、预发布的软件包、确认测试用例
要求:向用户表明系统能够按照预定要求那样工作,使系统最终可以正式发布或向用户提供服务。用户要参与验收测试,包括α测试(内部用户测试)、β测试(外部用户测试)
用户验收报告、缺陷报告审查、版本审查
最终测试报告
版本发布
Release
软件发布包、软件发布检查表(清单)
当前版本已知问题的清单、版本发布报告
维护
Maintance
变更的需求、修改的软件包、测试用例和计划
要求:新的或增强的功能正常、原有的功能正常,不能出现回归缺陷
缺陷报告、更改跟踪报告、测试报告
所有,软件测试演义® ——系列讨论的目录,见: 软件测试演义——中高级系列(序)