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)建议
指出系统未来版本可以进行的修改。