1
面向对象软件工程实践指南
1.2.9.4 9.4 测试阶段交付物
9.4 测试阶段交付物

9.4.1 软件测试计划

软件测试计划是描述测试目的、范围、方法和软件测试的重点等的文档。软件测试计划作为软件项目计划的子计划,在项目启动初期就必须规划。

软件测试计划是指导测试过程的纲领性文件,包含了产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容。借助软件测试计划,参与测试的项目成员,尤其是测试管理人员,可以明确测试任务和测试方法,保持测试实施过程的顺畅沟通,跟踪和控制测试进度,应对测试过程中的各种变更。

9.4.1.1 测试策略

1)整体测试策略

对整个测试的流程安排、参加的人员、预期达到的结果进行总体概要说明。

2)进入准则

说明测试活动启动需要满足的进入准则,即开始执行本测试计划之前必须完成的各项工作,包括集成/系统测试开始前需要进行的产品构建等。

3)暂停/退出准则

暂停准则说明测试异常中止的触发条件,一般为发现严重的妨碍测试继续进行的错误。

退出准则作为测试活动完成与否的判据,应当明确地予以说明。

9.4.1.2 测试范围和测试方法

本节中将围绕软件的功能需求、性能需求、接口需求等各种需求确定测试需求。

1)测试的子系统对象

列出需要测试的子系统,以及不需要测试的子系统。

2)测试需求

(1)功能需求。参考软件需求规格说明,针对每一个用例确定测试需求。

a.用例1。

●列出对应的测试需求,每一条测试需求需要采用一定的格式进行编号,例如,采用“TR-对应的需求编号序号”进行编号。一般一个用例对应多条测试需求;

●针对该用例的测试需求,使用的测试方法(黑盒、白盒、自动化、手工),如果采用了自动化测试,说明采用的工具。

b.用例2。

……

(2)其他需求。针对软件需求规格说明中提出的需求,逐条确定是否需要进行测试:①对每一条需要测试的需求,简要列出需求项,并针对性地列出测试需求;②针对测试需求,列出使用的测试方法(黑盒、白盒、自动化、手工),如果是自动化测试,说明采用的工具。

9.4.1.3 测试用例

本节针对测试需求设计测试用例。每一个测试需求,可能对应一个或者多个测试用例(见表9-1)。

表9-1 测试用例设计表

其中:

(1)需求项:需求项可以是一个用例,也可以是其他需求。需求项的编号为“RQ-序号〈需求项名称〉”,如果这一需求是用例,那么需求项名称为用例名,其编号直接使用用例编号,如果是其他需求,简要概括该需求作为需求项名称。

(2)测试用例编号:可以采用“TU-需求编号-测试需求编号-用例编号”的方式。

(3)测试对象:说明测试作用的是整个软件系统、某一软件模块、某个组件还是某个类。

(4)优先级:分为高、较高、中、较低、低各个等级。

(5)输入:明确表示输入数据,或者输入文件。

(6)输出:定义期望获得的正确的输出。

(7)步骤:分步骤描述测试是如何进行的。

(8)说明:对使用的工具,或者需要注意的地方加以说明。

9.4.1.4 测试环境

1)硬件环境

描述测试所需求的硬件环境。

2)软件环境

描述测试所需求的软件环境。

3)通信环境要求

描述网络通信等方面的要求。

4)安全性环境要求

描述系统安全方面的要求。

5)特定测试环境要求

如对测试资源有特殊要求,请在此处说明。

9.4.1.5 测试计划安排

1)工作量估计

根据工作内容和项目任务对包括测试设计的工作量、测试执行和测试总结的工作量,以人月或人日计,并确定测试计划、测试设计、测试准备、测试执行和测试评估工作所占的比重。软件测试工作量应为开发工作量的30%~40%为宜。表9-2为测试工作量估计表。

表9-2 测试工作量估计表

2)人员需求及安排

表9-3列出了在此测试活动的人员安排。

表9-3 测试人员安排表

3)进度安排

表9-4列出了测试的时间安排。

表9-4 测试进度表

注:所有结束时间为输出要求通过评审的结束时间。

4)其他资源需求及安排

描述所需的其他资源的安排。

9.4.1.6 可交付工件

本节列出了将要创建的各种文档、工具和报告,及其创建人员、交付对象和交付时间。

9.4.1.7 风险管理

本节详细描述本次测试所面临的风险(如人力资源风险、测试技术风险、测试资源风险、质量保证风险等)及相应的建议解决办法。

表9-5列出了一些风险的分析。分析表必须按影响的程度来排序。实践中,随着时间的推移和环境的变化,必须随时更新风险的分析。

表9-5 测试风险表

9.4.2 软件测试总结报告

测试总结报告是对测试情况的汇报,在总结报告中,将概要描述测试方法,详细描述测试过程和测试结果,并对系统给出评价和建议。

9.4.2.1 测试概要

在本节中对测试需求和测试方法进行描述。

1)测试需求与测试用例

可以将测试计划(见9.4.1节)中第2、3节的内容复制过来。

2)测试环境与配置

描述具体的测试环境及其配置情况。

3)测试工具

描述实际采用的测试工具。

9.4.2.2 测试执行情况

1)测试进度情况

测试进度如表9-6所示。

表9-6 测试进度表

2)测试人员

表9-7列出了在此测试活动的实际的人员安排。

表9-7 测试人员安排表

9.4.2.3 测试总结

1)测试用例执行结果

测试用例执行结果如表9-8所示。

2)测试问题解决

表9-9中描述测试中发现的、没有满足需求或其他方面要求的部分。

表9-8 测试用例执行结果表

表9-9 测试问题表

3)测试结果分析

(1)覆盖分析。

a.测试覆盖分析(见表9-10)。

测试覆盖率=41/46×100%=89.13%

表9-10 测试覆盖分析表

b.需求覆盖分析(见表9-11)。对应约定的测试文档,本次测试对系统需求的覆盖情况为

需求覆盖率=Y(P)项/需求项总数×100%=83.33%

表9-11 测试需求覆盖分析表

P表示部分通过,N/A表示不可测试或者测试用例不适用。

(2)缺陷分析。统计发现的BUG总个数,并按照严重程度列出各项BUG数:①严重影响系统运行的错误;②功能方面一般缺陷,影响系统运行;③不影响运行但必须修改;④合理化建议(不是BUG,但是可以改进)。

按缺陷在各需求项中的分布情况分析(见表9-12)。

表9-12 缺陷分析表

9.4.2.4 综合评价

1)软件能力

对软件是否满足交付进行确认,并简要描述系统功能。

2)缺陷和限制

指出还存在的不足。

3)建议

指出系统未来版本可以进行的修改。