技术文章

软件测试文件编制规范


1 引言

1.1 目的和作用

本规范规定一组软件测试文件。测试是软件生存周期中一个独立的、关键的阶段,也是保证软件质量的重要手段。为了提高检测出错误的几率,使测试能有计划地、有条不紊地进行地进行,就必须要编制测试文件。而标准化的测试文件就如同一种通用的参照体系,可达到便于交流的目的。文件中所规定的内容可以作为对测试过程完备性的对照检查表,故采用这些文件将会提高测试过程的每个阶段的能见度,极大地提高测试工作的可管理性。

1.2 适用对象及范围

本规范是为软件管理人员、软件开发人员和软件维护人员、软件质量保证人员、审计人员、客户及用户制定的。

本规范用于描述一组测试文件,这些测试文件描述测试行为。本规范定义每一种基本文件的目的、格式和内容。所描述的文件着重于动态测试过程,但有些文件仍适用其它种类的测试活动。

本规范可应用于数字计算机上运行的软件。它的应用范围不受软件大小、复杂度或重要性的限制,本规范既适用于初始开发的软件测试文件编制,也适用于其后的软件产品更新版本的测试文件编制。

本规范并不要求采用特定的测试方法学、技术及设备或工具。对文件控制、配置管理或质量保证既不指明也不强制特定的方法学。根据所用的方法学,可能需要增加别的文件(如“质量保证计划”)。

本规范既适用于纸张上的文件,也适用于其它媒体上的文件。如果电子文件编制系统不具有安全的批准注册机制,则批准签字的文件必须使用纸张。

2 引用标准

GB/T 11457 软件工程术语

GB 8566 计算机软件开发规范

GB 8567 计算机软件产品开发文件编制指南

3 定义

本章定义本规范中使用的关键术语。

3.1 设计层 design level

软件项的设计分解(如系统、子系统、程序或模块)。

3.2 通过准则 pass criteria

判断一个软件项或软件特性的测试是否通过的判别依据。

3.3 软件特性 software feature

软件项的显著特性。(如功能、性能或可移植性等)。

3.4 软件项 software item

源代码、目标代码、作业控制代码、控制数据或这些项的集合。

3.5 测试项 test item

作为测试对象的软件项。

4 概述

4.1 主要内容

本规范确定了各个测试文件的格式和内容,所提出的文件类型包括测试计划、测试说明和测试报告。

测试计划描述测试活动的范围、方法、资源和进度。它规定被测试的项、被测试的特性、应完成的测试任务、担任各项工作的人员职责及与本计划有关的风险等。

测试说明包括三类文件:

1)测试设计说明:详细描述测试方法,规定该设计及其有关测试所包括的特性,还规定完成测试所需的测试用例和测试规程,并规定特性的通过准则。

2)测试用例说明:列出用于输入的具体值以及预期的输出结果,并规定在使用具体测试用例时,对测试规程的各种限制。将测试用例与测试设计分开,可以使它们用于多个设计并能在其它情形下重复使用。

3)测试规程说明:规定对于运行系统和执行指定的测试用例来实现有关测试设计所要求的所有步骤。

测试报告包括四类文件:

1)测试项传递报告:指明在开发组和测试组独立工作的情况下或者在希望正式开始测试的情况下为进行测试而被传递的测试项。

2)测试日志:测试组用于记录测试执行过程中发生的情况。

3)测试事件报告:描述在测试执行期间发生并需进一步调查的一切事件。

4)测试7总结报告:总结与测试设计说明有关的测试活动。

这些文件同其它文件在编制方面的关系以及同测试过程的对应关系如图1所示。

4.2 实施灵活性

GB 8567中,涉及软件测试的文件有“测试计划”及“测试分析报告”。本规范中的八个测试文件是上述二个文件的补充和细化,这样可使文件的书定更具体、更有参照性,其中测试计划可细化为本规范的测试计划、测试设计说明、测试用例说明及测试规程说明,测试分析报告可细化为本规范的测试项传递报告、测试日志、测试事件报告及测试总结报告。

使用本规范的每个单位,要规定测试阶段所应有的特定文件,并在测试计划中规定测试完成后所能提交的全部文件。对于不同的设计层或不同规模的软件,所选文件的种类也可有所不同。

在所提供的每个标准文件中,每一章的内容对于具体的应用和特定的测试阶段可以有所增减。不仅可以调整内容,还可以在基本文件集中增加另外的文件。任何一个文件都可以增加新的内容,并且某章若无可写的内容,则可不写,但须保留该章的编号。使用本规范的每个单位应该补充规定对内容的要求和约定,以便反映自己在测试、文件控制、配置管理和质量保证方面所用的特定方法、设备和工具。

附录A(参考件)中,将叙述文件编制实施及使用指南。

 

4.3 总体要求

以下将叙述各个测试文件的书写格式及内容。对于每一个文件而言各章应按指定的次序排列,补充的章可以放在最后或放在“批准”一章的前面(如果该文件最后一章是“批准”的话)。如果某章的部分或全部内容在另一文件中,则应在相应的内容位置上列出所引用的材料,引用的材料必须附在该文件后面或交给文件的使用者。

5 内容要求

5.1 测试计划

测试计划结构如表1所示。

1 测试计划

1 测试计划名称

2 引言

3 测试项

4 被测试的特性

5 不被测试的特性

6 方法

7 项通过准则

8 暂停标准和再启动要求

9 应提供的测试文件

10 测试任务

11 环境要求

12 职责

 

13 人员和训练要求

14 进度

15 风险和应急

16 批准 

 

 

下面给出每一章的详细内容:

5.1.1 测试计划名称(本计划的第1章)

为本测试计划取现代战争专用的名称。

5.1.2 引言(本计划的第2章)

归纳所要求测试的软件项和软件特性,可以包括系统目标、背景、范围及引用材料等。

在最高层测试计划中,如果存在下述文件,则需要引用它们:项目计划、质量保证计划、有关的政策、有关的标准等。

5.1.3 测试项(本计划的第3章)

描述被测试的对象,包括其版本、修订级别,并指出在测试开始之前对逻辑或物理变换的要求。

5.1.4 被测试的特性(本计划的第4章)

指明所有要被测试的软件特性及其组合,指明每个特性或特性组合有关的测试设计说明。

5.1.5 不被测试的特性(本计划的第5章)

指出不被测试的所有特性和特性的有意义的组合及其理由。

5.1.6 方法(本计划的第6章)

描述测试的总体方法,规定测试指定特性组志需的主要活动、、技术和工具,应详尽地描述方法,以便列出主要的测试任务,并估计执行各项任务所需的时间。规定所希望的电低程度的测试彻底性,指明用于判断测试彻底性的技术(如:检查哪些语句至少执行过一次)。指出对测试的主要限制,例如:测试项可用性、测试资源的可用性和测试截止期限等。

5.1.7 项通过准则(本计划的第7章)

规定各测试项通过测试的标准。

5.1.8 暂停标准和再启动要求(本计划第8章)

规定用于暂停全部或部分与本计划有关的测试项的测试活动的标准。规定当测试再启动时必须重复的测试活动。

5.1.9 应提供的测试文件(本计划的第9章)

规定测试完成后所应递交的文件,这些文件可以是前述八个文件的全部或者部分。

5.1.10 测试任务(本计划的第10章)

指明执行测试所需的任务集合,指出任务音的一切依赖关系和所需的一切特殊技能。

5.1.11 环境要求(本计划的第11章)

规定测试环境所必备的和希望的的性质。包括:硬件、通信和系统软件的物理特征、使用方式以及任何其它支撑测试所需的软件或设备,指出所需的特殊测试工具及其它测试要求(如出版物或办公场地等)。指出测试组目前还不能得到的所有要求的来源。

5.1.12 职责(本计划的第12章)

指出负责管理、设计、准备、执行、监督、检查和仲裁的小组。另外指出负责提供

5.1.3 中指出的测试项和在5.1.11中指出的环境要求的小组。

这些小组可以包括开发人员、测试人员、操作员、用户代表、数据管理员和质量保证人员。

5.1.13 人员和训练要求(本计划的第13章)

指明测试人员应有的水平以及为掌握必要技能可供选择的训练科目。

5.1.14 进度(本计划的第14章)

包括在软件项目进度中规定的测试里程碑以及所有测试项传递时间。

定义所需的新的测试里程碑,估计完成每项测试任务所需的时间,为每项测试任务和测试里程碑规定进度,对每项测试资源规定使用期限。

5.1.15 风险和应急(本计划的第15章)

预测测试计划中的风险,规定对各种风险的应急措施(如:延期传递的测试项可能需要加夜班来赶上规定的进度。)

5.1.16 批准(本计划的第16章)

规定本计划必须由哪些人(姓名和职务)审批。为签名和填写日期留出位置。

5.2 测试设计说明

测试设计说明如表2所示。

2 测试设计说明

1 测试设计说明名称

2 被测试的特性

3 方法详述

4 测试用例名称

5 特性通过准则

 

 

下面给出本说明每一章的详细内容。

5.2.1 测试设计说明名称(本说明第1章)

给每一个测试设计说明取一个专用名称。如果存在的话,也可引用有关的测试计划中给出的名称。

5.2.2 被测试的特性(本说明的第2章)

规定测试项,描述作为本设计测试目标的特性和特性的组合,其它特性可以论及,但不必测试。

5.2.3 方法详述(本说明的第3章)

将测试计划中规定的方法进行细化,包括要用的具体测试技术,规定分析测试结果的方法(如比较程序或人工观察)。

规定为选择测试用例提供合理依据的一切分析结果。例如:可以说明容错的条例(如:区别有效输入和无效输入的条件)。

归纳所有测试用例的共同属性,可以包括输入约束条件,共享环境的要求,对共享的特殊规程的要求及任何共享的测试用例间的依赖关系。

5.2.4 测试例名称(本说明的第4章)

列出与本设计有关的每一测试用例的名称和简要说明。某个特定的测试用例可能在多个测试设计说明中出现,列出与本测试设计说明有关的规程及其简要说明。

5.2.5 特性通过准则(本说明的第5章)

规定用于判别特性和特性组合是否通过测试的准。

5.3 测试用例说明

测试用例说明结构如表3所示。

3 测试用例说明

1 测试用例说明名称

2 测试项

3 输入说明

4 输出说明

5 环境要求

6 特殊的规程说明

7 用例间的依赖关系

 

 

由于测试用例可能被由多个小组长期使用的多个测试设计说明引用,所以在测试用例说明中必须包含足够具体的信息以便重复使用。

下面给出本说明每一章的详细内容。

5.3.1 测试用例说明名称(本说明的第1章)

给本测试用例说明取一个专用名称

5.3.2 测试项(本说明的第2章)

规定并简要说明本测试用例所要涉及的项和特性、对于每一项、可考虑引用以下文件:需求说明书、设计说明书、用户手册、操作手册。

5.3.3 输入说明(本说明的第3章)

规定执行测试用例所需的各个输入。有些输入可以用值(允许适当的误差)来规定。而另一些输入,如常数表或事务文件可以用名来规定。规定所有合适的数据库、文件、终端信息、内存常驻区域和由操作系统传送的值。规定各输入间所需的所有关系(如时序关系等)。

5.3.4 输出说明(本说明的第4章)

规定测试项的所有输出和特性(如:响应时间)。提供各个输出或特性的正确值(在适当的误差范围内)。

5.3.5 环境要求(本说明的第5章)

5.3.5.1 硬件

规定执行本测试用例所需的硬件特征和配置(如:80字符×24行的显示终端)。

5.3.5.2 软件

规定执行本测试用例所需的系统软件和应用软件。系统软件可以包括操作系统、编译程序、模拟程序和测试工具等。

5.3.5.3 其它

说明所有其它的要求,如特种设施要求或经过专门训练的人员等。

5.3.6 特殊的规程要求(本说明的第6章)

描述对执行本测试用例的测试规程的一切特殊限制。这些限制可以包括特定的准备、操作人员干预、确定特殊的输出和清除过程。

5.3.7 用例间的依赖关系(本说明的第7章)

列出必须在本测试用例之前执行的测试用例名称,归纳依赖性质。

5.4 测试规程说明

测试规程说明结构如表4表示

4 测试规程说明

1 测试规程说明名称

2 目的

3 特殊要求

4 规程步骤

 

 

下面给出本说明每一章的详细内容。

5.4.1 测试规程说明名称(本说明的第1章)

给每个测试规程说明取一个专用名称,给出对有关测试设计说明的引用。

5.4.2 目的(本说明的第2章)

描述本规程的目的。如果本规程执行测试用例,则引用各有关的测试用例说明。

5.4.3 特殊要求(本说明的第3章)

指出执行本规程所需的所有特殊要求,包括作为先决条件的规程、专门技能要求和特殊环境要求。

5.4.4 规程步骤(本说明的第4章)

5.4.4.1 日志

说明用来记录测试的执行结果、观察到的事件和其它与测试有关事件(见5.6条测试日志和5.7条测试事件报告)的所有特殊方法或格式。

5.4.4.2 准备

描述新任务执行规程所必需的动作序列。

5.4.4.3 启动

描述开始执行规程所必需的动作。

5.4.4.4 处理

描述在规程执行过程中所必需的动作。

5.4.4.5 度量

描述如何进行测试度量(如描述如何用网络模拟程序来充其量远程终端的响应时间)。

5.4.4.6 暂停

描述因发生意外事件暂停测试所必需的动作。

5.4.4.7 再启动

规定所有再拨动点和在启动点上重新启动规程所必需的动作。

5.4.4.8 停止

描述正常停止执行时所必需的动作。

5.4.4.9 清除

描述恢复环境所必需的动作。

5.4.4.10 应急

描述处理执行过程中可能发生的异常事件所必需的动作。

5.5 测试项传递报告

测试项传递报告结构如表5所示。

5 测试项传递报告

1 传递报告名称

2 传递项

3 位置

4 状态

5 批准

 

 

下面给出本报告每一章的详细内容。

5.5.1 传递报告名称(本报告的第1章)

为本测试项传递报告取一个专用名称。

5.5.2 传递项(本报告的第2章)

规定被传递的项及其版本/修订级别。提供与传递项有关的项文件和测试计划的相关信息,指出对该传递项负责的人员。

5.5.3 位置(本报告的第3章)

规定传递项的位置及其所在媒体。

5.5.4 状态(本报告的第4章)

描述被传递的测试项的状态,包括其与项文件、这些项的以往传递以及测试计划的差别。列出希望由被传递项解决的事件报告。

5.5.5 批准(本报告的第5章)

规定本传递报告必须由哪些人(姓名和职务)审批,并为签名和日期留出位置。

5.6 测试日志

测试日志结构如表6所示。

6 测试日志

1 测试日志名称

2 描述

3 活动和事件条目

 

 

下面给出本报告每一章的详细内容。

5.6.1 测试日志名称(本日志的第1章)

为本测试日志取一专用的名称。

5.6.2 描述(本日志的第2章)

除了在日志条目中特别注明的以外,用于日志中所有条目的信息都包括在本章中。应该考虑有以下信息:

1)规定被测试项及其版本/修订级别。如果存在的话,引用各项的传递报告。

2)规定完成测试的环境属性,包括设备说明、所用的硬件、所用的系统软件及可用存储容量等可用资源。

5.6.3 活动和事件条目(本日志的第3章)

对每个事件(包括事件的开始和结束),记录发生的日期和时间,并说明记录者。应考虑以下各项信息。

5.6.3.1 执行描述

记录所执行的测试规程的名称,并引用该测试规程说明。记录执行时在场人员,包括:测试者、操作员和观察员,还要说明每个人的作用。

5.6.3.2 测试结果

对每次执行,记录人工可观察到的结果(如:产生的错误信息、异常中止和对操作员动作的请求等),还要记录所有输出的位置(如磁带号码),记录测试的执行是否成功。

5.6.3.3 环境信息

记录本条目的的一切特殊的环境条件。

5.6.3.4 意外事件

记录意外事件及其发生前后的情况(如请求显示总计,屏幕显示正常,但响应时间似乎异常长,重复执行时响应时间也同样过长)。记录无法开始执行测试或无法结束测试的周围环境(如电源故障或系统软件问题)。

5.6.3.5 事件报告名称

每产生一个测试事件报告时,记录其名称。

5.7 测试事件报告

测试事件报告结构如表7所示。

7 测试事件报告

1 测试事件报告名称

2 摘要

3 事件描述

4 影响

 

 

下面给出本报告每一章的详细内容。

5.7.1 测试事件报告名称(本报告的第1章)

为本测试事件报告取一个专用名称。

5.7.2 摘要(本报告的第2章)

简述事件,指出有关测试项及其版本/修订级别。引用有关的测试规程说明、测试用例说明及测试日志。

5.7.3 事件描述(本报告的第3章)

对事件进行描述。该描述应包括以下各项:

输入

预期结果

实际结果

异常现象

日期和时间

规程步骤

环境

重复执行的意图

测试者

观察者

该描述应该包括有助于确定事件发生原因及改正其中错误的有关浩劫及观察。例如,描述可能对此事件有影响的所有测试用例执行情况,描述与已公布的测试规程之间的一切差异等。

5.7.4 影响(本报告的第4章)

在所知道的范围内指出本事件对测试计划、测试设计说明、测试规程说明或测试用例说明所产生的影响。

5.8 测试总结报告

规定本报告必须由哪些人(姓名和职务)审批,并为签名和日期留出位置。

文件编制实施及使用指南(参考件)

A1 实施指南

在实施测试文件编制的初始阶段可先编写测试计划与测试报告文件。测试计划将为整个测试过程提供基础。测试报告将鼓励测试单位以良好的方式记录整个测试过程的情况。

经过一段时间的实践,积累了一定的经验之后再逐步引进其它文件。测试文件编制最终将形成一个相应于设计层的文件层次,即:系统测试文件、子系统测试文件及模块测试文件等。在本单位所使用的特定的测试技术的文件编制可作为正文中所述的基本文件集的补充。

A2 用法指南

在项目计划及单位标准中,应该指明在哪些测试浩劫中需要哪些测试文件,并可在文件中加入一些内容,使各个文件适应一个特定的测试项及一个特定的测试环境。

A1是在多种测试活动中所需的测试文件的例。所需的文件数量将因单位而异。

A1 一个测试文件编制实例

文件   测试计划  测试设计说明  测试用例说明 测试规程说明 测试项传递报告 测试日志 测试事件报告 测试总结报告

活动

验收                                                                                           -                         

安装                                                -                   -                                       -                         

系统                                                                                                                    

子系统    -                   -                                                                                                

模块      -                                                 -                         -                   -                -              

 






Copyright © 2015 Wmsoft 版权所有