章18 编写和跟踪测试用例
一、测试用例计划的目标
有条不紊地仔细计划测试用例,是达成目标的必由之路。四个原因:
1)组织
即使在小型软件项目上,也可能有数千个测试用例。正确的计划会组织好用例,以便全体测试员和其它项目小组成员有效的审查和使用。
2)重复性
在项目期间有必要多次执行同样的测试,以寻找新的软件缺陷。
3)跟踪
4)测试证实
软件测试小组必须证明确实执行了计划执行的测试。
特别测试:有一种软件测试称为特别测试(ad hoc testing),描述在没有实际计划下执行测试——没有测试用例计划,有时甚至没有高级测试计划。特别测试就是测试员坐在软件前面开始乱敲键盘。
二、测试用例计划综述
创建测试计划过程比结果文档更重要。三个等级:
1)测试设计说明(test design specification)
2)测试用例说明(test case specification)
3)测试过程说明(test procedure specification)
离最高级测试计划越远,侧重点就越倾向于产生的书面文档,而不是创建过程。
最低要求是测试小组应该创建包含IEEE829大纲中所述信息的测试计划。
要紧的是完成工作后满足了测试用例计划的四个目标:组织、重复性、跟踪和测试证实。
1、测试设计
整体项目计划在非常高的等级上编制,它把软件拆分为具体特性和可测试项,并将其分派到每个测试员头上。
测试设计说明的目的是组织和描述针对具体特性需要进行的测试。然而,它不给出具体的用例或者执行测试的步骤。测试设计说明的部分内容:
1)标识符:用于引用和标记测试设计说明的唯一标识符。
2)要测试的特性:测试设计说明所包含的软件特性描述。
3)方法:描述测试软件特性的通用方法。
4)测试用例确认:对用于检查特性的具体测试用例的高级描述和引用。
5)通过/失败规则:描述测试特性的通过和失败由什么构成。
2、测试用例
测试用例细节基本上应该清楚地解释要向软件发送什么值或者条件,以及预期结果。它可以由一个或多个测试用例说明来引用,也可以引用多个测试程序。包括的重要信息:
1)标识符:由测试设计过程说明和测试程序说明引用的唯一标识符。
2)测试项:描述被测试的详细特性、代码模块等。
3)输入说明:列举送到软件执行测试用例的所有输入内容或者条件。
4)输出说明:描述进行测试用例预期的结果。
5)环境要求:指执行测试用例必要的硬件、软件、测试工具、实用工具、人员等。
6)特殊过程要求:描述执行测试必须做到的特殊要求。
7)用例之间的依赖性
表述测试用例的其它选择有简单列表、大纲甚至诸如状态表或数据流程图之类的图表。
3、测试程序
测试程序(test procedure):明确指出为实现相关测试设计而操作软件系统和试验具体测试用例的全部步骤。
测试程序或者测试脚本(test script)说明详细定义了执行测试用例的每一步操作。
1)标识符:把测试程序与相关测试用例和测试设计捆绑在一起的唯一标识符。
2)目的:程序的目的以及将要执行的测试用例的引用信息。
3)特殊要求:执行程序所需的其它程序、特殊测试技术或者特殊设备。
4)程序步骤:执行测试的详细步骤:
(1)日志:指出用什么方式、方法记录结果和现象;
(2)设置:说明如何准备测试;
(3)启动:说明用于启动测试的步骤;
(4)程序:描述用于运行测试的步骤;
(5)度量:描述如何判断结果;
(6)关闭:说明由于以外原因挂起测试的步骤;
(7)重启:告诉测试人员重启测试;
(8)终止:测试正常停止的步骤;
(9)重置:把环境恢复到测试前的状态;
(10)偶然事件:处理计划之外的情况。
通常不太可能需要按照最细致的程度编写测试用例。
诀窍是找出最合适的详细程度。
三、测试用例组织和跟踪
管理和跟踪系统的方法:
1)凭脑子记;
2)书面文档;
3)电子表格;
4)自定义数据库。
跟踪测试用例的理想方法是使用测试用例管理工具(test case management tool),一种为处理测试用例而专门编程设计的数据库。