软件测试生命周期一般包括7个阶段:1)计划 2)分析,3)设计,4)构建,5)测试周期,6)后测试和实施,7)实施后。

1. 计划(产品定义阶段)
 高层次的测试计划(包含多重测试周期) 
 质量保证计划(质量目标,测试标准等 ) 
 确定计划评审的时间 
 报告问题过程
 确定问题的分类
 确定验收标准-给质量保证员和用户。 
 建立应用程序测试数据库
 确定衡量标准,例如缺陷数量/严重程度和缺陷起源(仅举几个例子) 。 
 确定项目质量度量
 开始制定项目整体测试时间表(时间,资源等) 
 必需阶段:评审产品定义文档
 文档中加入质量保证标准,作为工程改善进程的一部分
 根据该产品的特点帮助确定问题的范围
 大约每月要花5 -1 0小时在这一方面
 计划在数据库管理所有测试用例,包括手工方面或者自动化方面。

2. 分析(外部文档阶段)
 根据业务需求开发功能验证矩阵。 
 制定测试用例格式-估计时间和分配优先级。 
 制定测试周期矩阵与时间线
 根据功能验证矩阵开始编写测试用例
 根据业务需求计划测试用例基准数据
 确定用于自动化测试的测试用例。 
 自动化团队开始在测试工具中创建变量文件和高层次的测试脚本。 
 为自动化系统中的跟踪组件设置路径和自动化引导。 
 界定压力和性能测试的范畴。 
 按照每个测试用例的数据要求开始建立基准数据库。
 定义维护基准数据库的过程,即备份,恢复,验证。 
 开始规划项目所需的测试周期数,和回归测试次数。 
 开始文档复查,如:功能设计文档,业务需求文档,产品规格说明书,产品外部文档等。 
 审查测试环境和实验室,前端与后端系统都要。 
 准备使用McCabe工具,以支持白盒测试中代码的研发和复杂性分析
 建立反馈机制并开始录入文档。 
 必需阶段:审查外部文件
 文档中加入质量保证标准,作为工程改善进程的一部分。
 根据群体执行反馈编写测试用例
 开始研制测试用例估计数目,每个用例的执行时间,和用例是否自动化这些方面的度量
 为每个测试用例确定基准数据, 
 大约每月要花25小时在这一方面

3. 设计(文档架构阶段) 
 根据变更修改测试计划
 修改测试周期矩阵和时间线
 核实测试计划和用例用到的数据都输入到数据库,或是否必需的。 
 修改功能验证矩阵
 继续编写测试用例,根据变化添加新的用例 
 制定风险评估标准
 规范自动化测试和多用户测试的细节。 
 挑选出一套用于自动化测试的测试用例,并且把这些用例脚本化
 规范压力测试和性能测试的细节。
 终确定的测试周期。 (根据用例的估计时间和优先权确定每个周期所用的测试用例数) 
 终确定的测试计划
 估计单元测试所需资源 
 必需阶段:审查架构文件
 文档中加入质量保证标准,作为工程改善进程的一部分。
 确定要进行编码的的实际组件或模块 
 在这定义单元测试标准,通过/失败准则等。 
 单元测试报告,报告进行单元测试后的模块质量如何,白盒测试和黑盒测试都要包括输入/输出数据和所有决定点。 
 列出所有要进行单元测试的模块

4. 构建(单元测试阶段) 
 完成所有计划
 完成测试周期矩阵和时间线
 完成所有测试用例。 (手动) 
 完成第一套自动化测试用例的测试脚本。 
 完成压力和性能测试的计划
 开始压力和性能测试
 McCabe工具支持-提供度量
 测试自动化测试系统,并修复错误。 
 发展单元测试 
 运行质量保证验收测试套件,以确保软件已经可以交给QA测试。

5. 测试周期/ 错误修正( 重复/系统测试阶段) 
 测试周期1,执行第一套的测试用例(前端和后端) 
 报告错误
 错误审核-不断开展的活动。 
 根据需求修改测试用例
 根据需求增加测试用例
 测试周期二
 测试周期三

6. 后的测试和实施(代码冻结阶段) 
 执行所有前端测试用例-人工和自动化。 
 执行所有后端测试案例-人工和自动化。 
 执行所有压力和性能测试。 
 提供对正在进行的缺陷跟踪度量。 
 提供对正在进行的复杂性和设计的度量。 
 更新测试用例和测试计划的估计时间。 
 文件测试周期,回归测试,并更新相应文档。

7. 实施后
 开展实施后评估会议以回顾整项工程。 (经验所得)
 准备终的缺陷报告和相关度量。
 制定战略以防止类似的问题在今后的项目中重复出现。
 创建如何改进流程的计划目标和里程碑,
 McCabe工具-制作后的报道和分析。
 自动化测试组-1 )审查测试用例以评估其他可用于自动化回归测试的用例2 )清理自动化测试用例和变量,和3 )审查自动化测试和手工测试结果的整合过程
 测试实验室和测试环境-清理测试环境,标记和存档用过测试用例和数据,恢复测试仪器到原始状态等。