全程软件测试(二十八):用例设计—测试用例进阶—读书笔记

测试用例进阶.m4a14:29来自阳哥说IT

测试用例计划的目的

对测试用例进行正确且详细的计划是达成测试目标的必经之路。

大型项目中测试用例的数量比较庞大,这是非常正常的情况。而在小型项目中,若要达到测试目标,测试用例的数量一般也不在少数。

测试用例的建立需要耗费测试人员几个月甚至几年时间,因此应该对测试用例进行正确且详细的计划,以便所有测试人员以及项目小组其他成员审查和使用。

在项目开发及测试期间会出现软件的多个版本,此时应对新版本软件执行多次先前完成的测试。这一方面可以保证新版软件中旧缺陷已得以修复,另一方面可查询是否存在新的缺陷。若没有对测试用例进行正确且详细的计划,测试人员将不清楚是使用原有的测试用例进行测试还是应编写新测试用例,也不清楚原有的测试用例是否已得到重复测试。

测试人员对整个项目的测试需要有一个整体把控,要清楚整个项目中计划执行的测试用例数量和在软件最终版本上执行的测试用例数量,要了解通过的测试用例数量、失败的测试用例数量以及测试用例中是否有可忽略的部分。通过制订测试用例计划可提前把控全局,使整个项目的测试达到最终目标。

如果涉及高精度、高风险行业,测试工作更容不得丝毫差错,因为使用忽略了某些测试用例的软件对于这些行业来说是致命的。所以,在对这些行业的软件进行测试时,测试小组必须制订出精确的测试用例计划,达到不忽略任何一个存在风险的测试用例、确保所有计划的测试用例均已执行的目的。正确且详细的测试用例计划和跟踪提供了一种证实测试的手段。

测试设计说明

项目整体测试计划的级别非常高,它将待测软件拆分为具体特性和可测试项,然后将拆分后的内容分派给每个测试员。但它未指明针对这些特性进行测试的方法,有时仅给出测试方法种类的一些提示,而且并不会涉及测试工具的使用方式及测试工具的使用场景。因此,为了能更好、更顺利地进行测试,需要为软件的单个特性定义具体的测试方法,这就是测试设计说明。

测试设计说明在ANSI/IEEE 829标准中有明确解释:测试设计说明是在测试计划中提炼测试方法,要明确指出设计包含的特性以及相关的测试用例和测试程序,并指定判断特性通过/失败的规则。

测试设计说明的目的是针对软件具体特性来描述和组织需要进行的测试,但并不会给出具体的测试用例或执行测试的步骤。ANSI/IEEE 829标准中规定了测试设计说明应该包含的部分内容。

(1)标识符:用于引用和定位测试设计说明的唯一标识符。

(2)要测试的特性:对测试设计说明所包含的软件特性的描述。例如,“写字板程序中的字体大小选择和显示”。此部分内容中还应明确指出需要间接测试的特性——通常是作为主特性的辅助特性。例如,文件打开对话框的用户界面虽然在测试设计说明中不会重点指出,但在测试读写功能的过程中需要对其功能进行间接测试,如加载和保存。

(3)方法:描述测试的通用方法。若方法在测试计划中明确列出,则应在此详细描述需要使用的技术,并提供验证测试结果的方法。

(4)测试用例信息:描述所引用的测试用例的相关信息。此部分应列出所选的等价区间,提供测试用例的引用信息及用于执行测试用例的测试程序说明。例如,“检查最大值测试用例ID#15326”。此部分不进行实际测试用例的定义。

(5)通过/失败规则:描述判定某项特性的测试结果是通过还是失败的规则。此类描述可能非常简单和明确,例如,“通过是指当执行全部测试用例时没有发现软件缺陷”;也可能不是非常明确,例如,“失败是指15%以上的测试用例没有通过”。

测试用例说明

若测试员已经进行过软件测试,他们可能会采用以前使用的用例描述格式来记录和记载测试用例。本篇介绍编写(记录和记载)测试用例的方法,并指出在编写(记录和记载)测试用例的过程中需要考虑的相关重点问题。

ANSI/IEEE 829标准规定测试用例说明需要“编写用于输入输出的实际数值和预期结果,同时明确指出使用具体测试用例产生的测试程序的限制”。测试用例说明内容如下表所示。

测试用例

测试用例说明应包含需要发送给软件的值或条件及其预期结果。测试用例说明可被多个其他测试用例说明引用,也可引用多个其他测试说明。ANSI/IEEE 829标准还列出了一些应包含在测试用例说明中的重要信息,具体如下所述。

(1)标识符:由测试设计说明和测试程序说明引用的唯一标识符。

(2)测试项:描述被测试的详细特性、代码模块等,应比测试设计说明中所列出的特性更加详细具体,还需要指出引用的产品说明书或测试用例所依据的其他设计文档。

(3)输入说明:列举出执行测试用例的所有输入内容或条件。例如,测试计算器程序,输入说明可能只有“1+2”;若测试蜂窝电话交换软件,则输入说明可能是成百上千种输入条件。

(4)输出说明:描述执行测试用例的预期结果。例如,1+2等于3,或在蜂窝电话交换软件中成百上千个输出变量的预期值。

(5)环境要求:执行测试用例必要的硬件、软件、测试工具、人员及其他工具等。

(6)特殊要求:描述执行测试必须满足的特殊要求,但并不是所有软件都有特殊要求。

(7)用例之间的依赖性:注明用例之间的关系。若一个测试用例依赖于其他用例或受其他用例的影响,则在此部分注明。

若根据上述内容进行测试用例的文档编写,则每个测试用例至少需要一页的文字描述,当测试用例数量较为庞大时,文档会非常厚。因此,ANSI/IEEE 829标准只是作为编写测试用例的一个规范,而并非强制要求。现实中一般都会采用简便且效果较好的方法进行替代,只有在一些政府项目和某些特殊行业的要求下才会严格按照上述标准编写测试用例。

采用简便方法并不是说放弃或忽视重要的信息,而是找出一个更有效的方法对这些信息进行精简。例如,下表给出了一个打印机兼容性简单列表的例子。

打印机兼容性简单列表

图中的每一行是一个测试用例的测试要点,有自己的标识符。测试用例的所有其他信息,如测试项、输入说明、输出说明、环境要求、特殊要求和依赖性等适用于所有这些用例,可以一并编写,附加到表格后面。审查测试用例的人员可以快速看完测试用例信息,然后审查表格。

表述测试用例的其他选择有大纲、状态表和数据流程图等方式。

测试程序说明

将测试设计说明和测试用例说明编写完成后,需要对执行测试用例的程序做进一步说明。ANSI/IEEE 829标准规定测试程序说明需要“明确指出为实现相关测试设计而执行具体测试用例和操作软件系统的全部步骤”。

测试程序说明也称“测试脚本说明”,详细定义了执行测试用例的每一步操作。需要定义的内容如下。

(1)标识符:将测试程序与相关测试用例和测试设计相联系的唯一标识。

(2)目的:本测试程序说明的目的及将要执行的测试用例的引用信息。

(3)特殊要求:执行测试所需的其他程序、特殊测试技术或特殊设备。

(4)详细说明:执行测试用例的详细描述,包括的内容如下。

① 日志:指出记录测试结果和现象的方法。

② 设置:说明准备测试的步骤。

③ 启动:说明启动测试的步骤。

④ 程序:描述运行测试的步骤。

⑤ 衡量标准:描述判断结果的标准。

⑥ 关闭:描述因意外原因而推迟测试的步骤。

⑦ 终止:描述正常停止测试的步骤。

⑧ 重置:说明把环境恢复到测试前状态的步骤。

⑨ 偶然事件:说明处理计划之外情况的步骤。

测试程序说明需要尽可能地详细,应对测试内容、测试方法、测试过程、测试步骤等进行明确表述,并尽可能简单明了。如此,既可以告知项目中新加入的测试员测试的具体内容,又可以避免重复测试。下面以一个示例的片段来演示如何编写测试程序说明。

标识符:计算器。

目的:本测试程序说明描述执行加法测试用例的步骤。

特殊要求:本次测试不需要特殊的硬件和软件。

详细说明日志:测试人员按测试要求记录程序执行过程,所有必填项都必须填写,包括问题的记录。

设置:测试人员必须安装Windows 98的干净副本,使用测试工具Tool-A和Tool-B等。

启动:启动Windows 98,单击开始按钮,选择程序,选择附件,选择计算器。

程序:使用键盘输入每个测试用例并比较结果。

衡量标准:……

测试用例细节探讨

测试用例计划有组织性、重复性、跟踪和测试证实四个目标软件测试工程师需要尽可能地实现上述目标,但目标的整体实现程度主要取决于测试软件所在行业、公司以及项目和测试组的具体情况,在实际测试中一般不会按照最细致的标准来编写测试用例

软件测试工程师设计出的测试用例计划应该既能达到测试要求,又能满足实际需求。例如,测试程序要求安装 Windows 2000(PC 中)来执行测试,测试程序说明在设置部分声明需要Windows2000,但是未声明Windows 2000的版本,一两年内出现新版本会怎样?测试程序是否需要升级?为了避免测试系统版本升级而导致问题,说明中可省略具体的版本,而以“可用的最新版本”来替代。

软件测试人员在编写测试用例时,最佳策略是采用当前项目所采用的标准,同时结合ANSI/IEEE 829标准定义的格式,找出符合项目要求的内容,并做适当的调整。

测试用例模板

测试用例模板如下表所示。

测试用例模板

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年8月3日
下一篇 2021年8月3日

相关推荐