六、软件测试计划及测试说明
1 范 围
1.1 定 义
1.1.1 系统标识
包含该文档所适用的软件标识号、标题和版本号。
1.1.2 测试用例标识
“用例标识”:规定为:系统代号分系统代号软件标识符 测试类型用例名简称;例如XXX系统代号为“ABC”的软件功能测试标识为:ABC GN_001。
“系统代号”、“分系统代号”、“软件标识符”取值参见E.7节“文档编写要求”。
“测试类型”:取值范围为功能测试(GN)、性能测试(XN)、接口测试(JK)。
“用例名简称”:取值为用例名简称或者序号,序号为三位,从001起编。
1.1.3 术 语
列出本文档适用的术语及其定义。如软件配置项、计算机软件部件、计算机软件单元等。
1.1.4 错误等级
测试的软件缺陷分为四级:
a)致命错误
导致下述后果之一的软件缺陷,视为致命错误:软件死机;软件崩溃;软件异常退出;数据丢失,且很难恢复。
b)严重错误
导致下述后果之一的软件缺陷,视为严重错误:没有实现软件需求,对软件功能有较大影响;没有正确实现软件需求,导致软件不能正常使用;数据丢失,但较容易恢复。
c)一般错误
导致下述后果之一的软件缺陷,视为一般错误:没有实现软件需求,对软件功能影响较小;没有正确实现软件需求,但对正确使用软件其他功能没有影响或影响较小;软件操作与软件使用说明不符。
d)建议改进
对于已经实现软件需求,但使用不方便的软件功能提出改进建议。
1.2 系统概述
简述文档所适用的系统和软件的用途。应描述系统和软件的一般特性;概述系统开发、运行和维护的历史(若有);标识项目的需方、用户、开发方和保障机构;标识当前的和计划的运行现场;列出其它相关文档。
1.3 文档概述
概述文档的用途(包括其来源、作用、是编写哪些文档的依据等)和主要内容,并描述与其使用有关的保密性要求。
1.4 与其它计划的关系
说明本软件测试计划与其它项目管理计划的关系(若有)。否则,用“不适用”注明。
2 引用文档
列出该文档中引用到的所有文档的编号、标题、修订版及日期。引用文件按照国家标准、国家军用标准、行业标准、文件的顺序排列。
3 软件测试环境
注:视需要划分为若干节来描述每一个预期的测试现场的软件测试环境。
3.x (测试现场名)
注:标识用于测试的一个或多个测试现场,应划分为以下几个子节来描述每一个现场的软件测试环境。如果所有测试都在同一个现场进行,本节及其下面的子节只出现一次。如果多个测试现场使用相同的或类似的软件测试环境,可以一起介绍。后面可以引用前面的说明,这样能减少测试现场说明中的重复信息。
3.x.1 软件项
通常应通过名称、编号和版本来标识在测试现场为实现计划中的测试活动所需要的软件项(例如,操作系统、编译器、通信软件、相关的应用软件、数据库、输入文件、代码审计程序、动态路径分析程序、测试驱动程序、预处理程序、测试数据生成程序、测试控制软件、其它专用测试软件、后处理程序)。还应描述每一个软件项的用途,说明它的介质(磁带、磁盘等),指明哪些是要由该现场负责提供的,还应指明与这些软件项有关的任何保密措施或其它保密性、私密性问题。
3.x.2 硬件项
通常应通过名称、编号和版本来标识在测试现场的软件测试环境中要使用的计算机硬件,接口设备,通信设备等。本节应描述每一项的用途,说明每一项所需要的使用周期和数量,指明哪些是要由该现场负责提供的,还应指明与这些项有关的任何保密措施或其它保密性、私密性问题。
3.x.3 其它材料
标识并描述在测试现场进行测试所需的其它材料。这些材料可能包括手册、软件清单、包含着被测软件的介质、包含着测试用数据的介质、输出样板,以及其它表格和指导材料。本节应标识将交付给该现场的和希望由该现场提供的那些项。本说明通常应包括的这些材料的类型、布局和数量。本节还应指明与这些项有关的任何保密措施或其它保密性、私密性问题。
3.x.4 安装、测试和控制
标识开发方执行下列每项工作的计划,这些工作可能需要测试现场的人员给予配合:
a. 获取或开发软件测试环境中用到的每一个要素
b. 在使用之前,安装并测试软件测试环境中的每一项
c. 控制并维护软件测试环境的每一项
3.x.5 参测单位
本节应标识参加测试现场测试工作的单位以及它们的作用和职责。
3.x.6 人 员
标识在测试现场测试期间所需要人员的数量、类型和技能水平,需要他们的日期和时间,以及任何特殊的需要,例如,为保证大规模测试工作的连续性和一致性,需要轮班操作并始终保持关键技能。
3.x.7 定向计划
描述在测试前和测试中要进行的任何定向和培训。此信息与3.1.x.6中给出的人员需求有关。培训可包括用户指导、操作员指导、维护和控制组指导以及对全体人员分工定位的简述。如果预计有大范围培训的话,可单独制定一个计划,而在这儿引用之。
3.x.8 要执行的测试
通过引用第3.2章来标识将在测试现场执行的测试。
4 测试标识
注:划分为以下几节来标识和描述本测试计划所适用的每一个测试。
4.1 一般信息
划分为若干子节来提供适用于所要执行的整个测试的一般性信息。
4.1.1 测试级别
描述测试将在哪些级别上执行,例如,CSCI级或系统级。
4.1.2 测试类别
描述将要执行的测试的类型或类别(例如,定时测试,错误输入测试,最大能力测试)。
4.1.3 测试条件
本节应描述适用于所有测试或一组测试的条件。
a)系统的每个特性应至少被一个正常测试用例和一个被认可的异常测试用例覆盖;
b)测试用例的输入应至少包括有效等价类值、无效等价类值和边界数据值;
c)应逐项测试系统/子系统设计说明规定的系统的功能、性能等特性;
d)应测试软件配置项之间、软件配置项和硬件之间的所有接口;
e)应测试系统的输出及其格式;
f)应测试运行条件在边界状态和异常状态下,或在人为设定的状态下,系统的功能和性能;
g)应测试系统访问和数据全性;
h)应测试系统的全部存储量、输入/输出通道和处理时间的余量;
i)应按照系统/子系统设计文档的要求,对系统的功能、性能进行强度测试;
j)应测试设计中用于提高系统安全性、可靠性的结构、算法、容错、冗余、中断处理等方案;
k)对安全性关键的系统,应对其进行安全性分析,明确每一个危险状态和导致危险的可能原因,并对此进行针对性的测试;
l)对有恢复和重置功能需求的系统,应测试其恢复或重置功能和平均恢复时间,并且对每一类导致恢复或重置的情况进行测试;
m)对不同的实际问题应外加相应的专门测试。
对具体的系统,可根据软件测试任务书(合同或项目计划)及系统的重要性、安全关键等级等要求对上述内容进行裁减。
4.1.4 测试方法
系统测试一般采用黑盒测试。通常采用的方法主要有a)功能分解:针对软件主要功能;b)等价类划分:划分为有效等价类和无效等价类;c)边界值分析:针对软件边界进行测试用例设计;d)判定表:针对有多个条件的情况设计测试用例;e)因果图:主要针对有因果关系的功能点。
4.2 计划执行的测试
划分为以下几个子节来完整地描述所计划的全部测试。
4.2.x (一个待测试项)
注:通过名字和项目唯一标识符来标识一个CSCI、子系统、系统或其它实体,并划分为以下几个子节来描述针对各个项计划要作的测试。(注:本计划中“测试”一词是指测试用例之集合。)
4.2.x.y (一个测试的项目唯一标识符)
通过项目唯一标识符来标识一个测试,并为该测试提供下面指定的信息。可视需要引用4.1节中的一般信息。
a. 测试对象
b. 测试级别
c. 测试类型或类别
d. 需求规格说明中指定的合格性方法
e. 该测试所涉及的CSCI需求以及软件系统需求的标识符;(另一种办法是在第6章中提供这一信息。)
f. 特殊需求(例如,48小时连续工作,武器模拟,测试程度,使用一种特殊的输入或使用数据库)
g. 应记录的数据的类型
h. 应采用的数据记录/简约/分析的类型
i. 假设和约束,例如预期由于系统或测试条件-时限、接口、设备、人员、数据库等原因导致测试的局限性;
J. 与该测试有关的安全性、保密性及私密性考虑。
注:
a)“测试点”:参考软件需求规格说明的系统需求节,取为名词词组或者编号;
b)“用例名称”:参考软件需求规格说明的系统需求节,取为名词词组;
c)“用例标识”:参见1.1.2 ;
d)“测试类型”:“功能测试”、“性能测试”或“接口测试”;
e)“用例描述”:参考软件需求规格说明的系统需求节撰写;
f)“备注”可包括:假设与约束,如由于系统或测试条件、时间、接口、设备、人员、数据库等的原因而对测试产生的预期限制;与测试有关的安全性、保密性要求;被调用的测试过程名称;特殊需求(如:设备连续工作48h、特殊输入或数据库的使用)等。
5 测试进度
包含或引用实施本计划所标识测试的时程。它应包括:
a. 用图表来描述安排进行测试的现场以及进行测试的时间区间。
b. 针对每个测试现场,分别说明下列活动和事件的进度。通常按时间排序并附带必要的解释:
现场测试的周期和分配给该测试的主要部分的周期;
现场测试前用于建立软件测试环境及其它设备、进行系统调试、定向和熟悉测试事宜所需要的时间;
该测试所需要的数据库/数据文件值,输入值,及其它操作数据的收集;
实施测试,包括计划中的再测试;
软件测试报告的准备、评审和批准。
6 需求可追踪性
包含:
a. 从本计划中标识的每一个测试,到它所涉及的CSCI需求以及软件系统需求的可追踪性。
b. 从本测试计划所覆盖的每一个CSCI需求以及每一个软件系统需求,到针对它的测试的可追踪性。这种可追踪性应覆盖所有适用的《软件需求规格说明》中的CSCI需求。
7 测试说明
分小节用名字/项目唯一标识符描述被测系统(软件)的每个被测试项的有关信息。
7.x (一个测试的项目唯一标识符)
注:通过项目唯一标识符来标识一个测试,应划分为以下几个子节。当所需信息与前面为另一个测试所指出的信息重复时,可引用之而无需重复。
7.x.y (一个测试用例的项目唯一标识符)
注:通过项目唯一标识符来标识一个测试用例,说明其目的并提供简要的说明。由下列几个子节来提供该测试用例的详细说明。