软件测试生命周期是规范整个软件测试过程的指导性纲要,它给出一个测试项目开始到结束的工作流程,如图 2.4 所示。
(1)获取测试需求。从软件开发需求规格说明书中获取软件测试需求,明确测试对象与范围,了解用户具体需求,编制测试需求文档。
(2)编写测试计划。根据需求规格说明书、测试需求文档来编写测试计划。对测试全过程的组织、资源、原则等进行规定和约束,并制定测试全过程各个阶段的任务以及时间进度安排,提出对各项任务的评估、风险分析和需求管理。在软件测试流程的不同阶段,都需要编写测试计划,用来指导与监督测试过程。
(3)制定测试方案。根据测试计划,描述需要测试的特性、测试的方法、测试环境的规划、测试工具的设计和选择、测试用例的设计方法、测试代码的设计方案。
测试计划与测试方案的区别如下。
①测试计划是组织管理层面的文件,从组织管理的角度对一次测试活动进行规划。测试方案是技术层面的文档,从技术的角度对一次测试活动进行规划。
②测试计划的具体内容有测试组织形式、测试对象、遵守的原则、工作任务分配、任务的时间和进度安排等。测试方案的具体内容有明确策略、测试特性的细化(形成测试子项)、测试用例的规划、测试环境的规划、自动化测试框架的设计、测试工具的设计和选择等。
③测试方案需要再测试计划的只掉喜爱进行,测试计划提出“做什么”,而测试方案明确 “怎么做”。
(4)开发与设计测试用例。测试工程师进行测试脚本的开发,或者测试用例的设计。通过测试数据的准备,进行测试用例的开发与设计,便于组织与控制测试流程。
(5)执行测试。测试工程师使用开发完成的测试脚本和设计完成的测试用例进行测试。
(6)提交缺陷报告。在执行测试脚本或测试用例后,找出与预期结果不相符合的问题,填写缺陷报告,提交给测试管理人员与相关开发人员。
(7)测试分析与评审。当整个测试过程结束后,要对产品的全部缺陷加以统计、分析、评审、总结,找出缺陷发生的原因,提出过程改进的意见。
(8)提交测试总结。测试总结给出产品是否通过测试的结论、产品性能优化的措施。
(9)准备下一个版本的测试。当一个产品即将发布新版本时,准备新的测试过程。