软件测试规范示例文档

软件测试规范示例文档
软件测试规范示例文档

软件测试规范陕西华商数码信息股份有限公司

目录

一.概述 (1)

二软件测试理论 (2)

1.什么是软件测试 (2)

2.软件测试的目标 (2)

三.软件测试流程 (3)

1.软件测试流程图 (3)

2.软件测试流程细则 (4)

3.软件测试注意事项 (5)

四.软件测试类型 (6)

1.模块测试 (6)

2.子系统测试 (6)

3.系统测试 (6)

4.验收测试 (6)

五.黑盒测试方法 (7)

1.等价类划分 (7)

2.因果图 (8)

3.边值分析法 (8)

4.猜错法 (8)

5.随机数法 (9)

六.白盒测试方法 (10)

1.语句覆盖 (10)

2.判定理盖 (10)

3.条件覆盖 (11)

4.判定/条件覆盖 (11)

5.条件组合覆盖 (11)

七.测试错误类型 (12)

八.测试标准 (13)

附录一单元测试报告 (14)

附录二集成测试报告 (15)

附录三测试大纲 (16)

附录四测试大纲附录 (17)

附录五测试计划 (18)

附录六程序错误报告 (19)

附录七测试分析报告 (20)

一.概述

本规范是对项目软件测试的一份指导性文件,对软件测试过程中所涉及到的测试理论、测试类型、测试方法、测试标准、测试流程以及软件产品开发单位所承担的职责进行总体规范,以有效保证软件产品的质量。

1.什么是软件测试

无论怎样强调软件测试的重要性和它对软件可靠性的影响都不过分。在开发大型软件系统的漫长过程中,面对着极其错综复杂的问题,人的主观认识不可能完全符合客观现实,与工程密切相关的各类人员之间的通信和配合也不可能完美无缺,因此,在软件生命周期的每个阶段都不可避免地会产生差错。我们力求在每个阶段结束之前通过严格的技术审查,尽可能早地发现并纠正差错;但是,经验表明审查并不能发现所有差错,此外在编码过程中还不可避免地会引入新的错误。如果在软件投入生产性运行之前,没有发现并纠正软件中的大部分差错,则这些差错迟早会在生产过程中暴露出来,那时不仅改正这些错误的代价更高,而且往往会造成很恶劣的后果。测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件中的错误。目前软件测试仍然是保证软件质量的关键步骤,它是对软件规格说明、设计和编码的最后复审。软件测试在软件生命周期中横跨两个阶段。通常在编写出每个模块之后就对它做必要的测试(称为单元测试),模块的编写者和测试者是同一个人,编码和单元测试属于软件生命周期的同一个阶段。在这个阶段结束之后,对软件系统还应该进行各种综合测试,这是软件生命周期中的另一个独立的阶段,通常由专门的测试人员承担这项工作。大量统计资料表明,软件测试的工作量往往占软件开发总工作量的40%以上,在极端情况,测试那种关系人的生命安全的软件所花费的成本,可能相当于软件工程其他开发步骤总成本的三倍到五倍。因此,必须高度重视软件测试工作,绝不要以为写出程序之后软件开发工作就接近完成了,实际上,大约还有同样多的开发工作量需要完成。仅就测试而言,它的目标是发现软件中的错误,但是,发现错误并不是我们的最终日的。软件工程的根本目标是开发出高质量的完全符合用户需要的软件。

2.软件测试的目标

下面这些规则也可以看作是测试的目标或定义:

(1)测试是为了发现程序中的错误而执行程序的过程;

(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;

(3)成功的测试是发现了至今为止尚未发现的错误的测试。

从上述规则可以看出,测试的正确定义是“为了发现程序中的错误而执行程序的过程”。这和某些人通常想象的“测试是为了表明程序是正确的”,“成功的测试是没有发现错误的测试”等等是完全相反的。正确认识测试的目标是十分重要的,测试目标决定了测试方案的设计。如果为了表明程序是正确的而进行测试,就会设计一些不易暴露错误的测试方案;相反,如果测试是为了发现程序中的错误,就会力求设计出最能暴露错误的测试方案。

由于测试的目标是暴露程序中的错误,从心理学角度看,由程序的编写者自己进行测试是不恰当的。因此,在综合测试阶段通常由其他人员组成测试小组来完成测试工作。此外,应该认识到测试决不能证明程序是正确的。即使经过了最严格的测试之后,仍然可能还有没被发现的错误潜藏在程序中。测试只能查找出程序中的错误,不能证明程序中没有错误。

1.软件测试流程图

2.软件测试流程细则

需求阶段:

测试人员了解项目需求收集结果包括项目需求规格说明、功能结构及模块划分等。

测试人员了解项目需求变更。

测试人员会同项目主管根据软件需求制定并确认《测试计划》(附录五)。

设计编码阶段:

测试人员制定《测试大纲》(附录三、附录四)。

项目开发组对完成的功能模块进行单元测试,测试人员参与单元测试过程;单元测试完成,产生单元测试报告。

所有单元测试及相应的修改完成后,项目开发组组织进行集成测试,测试人员参与集成测试过程;集成测试完成后,产生集成测试报告。

测试阶段:

项目开发组完成集成测试后,提交测试所要求的待测软件及各种文档、手册、前期测试报告(《需求分析》、《软件设计规范》和上一级《测试报告》附录一、附录二)。

测试组安排和协调测试设备、环境等准备工作。

测试组按测试计划、测试大纲的要求对待测软件进行有效性测试、集成测试。

填写《错误报告》(附录六)。

对修改后的情况进行复合。

测试结束后,测试人员对测试结果进行汇总;测试主管审核测试结果,得出测试结论;测试组进行测试分析和评估,编写《测试分析报告》(附录七)。

提交《测试分析报告》。

将所有文件存档。

对测试未通过的待测软件,测试人员汇总并向项目开发组提交测试错误报告。

项目开发组对测试错误报告进行确认,对有争议的问题可由上一级技术负责人确认和仲裁;项目开发组针对测试错误报告进行逐项修改,修改完成后再将待测软件及错误修改情况提交及测试组进行回归测试。

待测软件测试通过后,项目测评结束。

制作《用户操作手册》(帮助文件)。

用户测试阶段:

项目开发组与用户方商定测试计划、测试内容、测试环境等。

项目测试组向用户方提供项目内部测试汇总报告。

由项目开发组或测试组配合用户进行用户方测试。

由用户方编制用户方软件测试报告(程序错误报告和测试分析报告),若用户方不愿或无法编制测试报告,则经与用户方协商由我方测试人员编制用户方测试报告,经用户方签字后即可生效。

项目经理与用户方对用户方测试进行确认。

3.软件测试注意事项

根据《软件开发规范》仔细检查软件的界面是否合乎要求。(每一个子界面也应如此)其中,应注意提示信息和软件开发商信息是否正确。小的图标是否合乎要求。检查菜单当中的各项功能和功能按钮是否能正确使用。

根据《软件开发规范》和《用户需求》及《软件详细设计》设计测试用例。(以边界值法、等价类划分法为主)。对功能界面要求注意与功能相关的信息显示及显示位置是否正确。数据输入界面应注意文字格式及数字和文字的区别。是否能够正确保存信息。数据查询(显示)界面应注意显示信息是否正确和完整。是否能正确查询。对打印功能要求注意打印出的报表是否正确。(包括报表各项信息、数据信息和报表字体等)。

这一项测试主要是对软件的错误处理功能进行测试。就是进行错误的操作或输入错误的数据,检查软件对这些情况是否能做出判断并予以提示。

特殊情况下要制造极端状态和意外状态,比如网络异常中断、电源断电等情况。

一定要注意测试中的错误集中发生现象,这和程序员的编程水平和习惯有很大的关系。

对测试错误结果一定要有一个确认的过程。一般有A测试出来的错误,一定要有一个B来确认,严重的错误可以召开评审会进行讨论和分析。

制定严格的测试计划,并把测试时间安排得尽量宽松,不要希望在极短的时间内完成一个高水平的测试。

回归测试的关联性一定要引起充分的注意,修改一个错误而引起更多错误出现的现象并不少见。

妥善保存一切测试过程文档,意义是不言而喻的,测试的重现性往往要靠测试文档。

四.软件测试类型

除非是测试一个小程序,否则一开始就把整个系统作为一个单独的实体来测试是不现实的。与开发过程类似,测试过程也必须分步骤进行,每个步骤在逻辑上是前一个步骤的继续。大型软件系统通常由若干个子系统组成,每个子系统又由许多模块组成。因此,大型软件系统的测试基本上由下述几个步骤组成:

1.模块测试

在设计得好的软件系统中,每个模块完成一个清晰定义的子功能,而且这个子功能和同级其他模块的功能之间没有相互依赖关系。因此,有可能把每个模块作为一个单独的实体来测试,而且通常比较容易设计检验模块正确性的测试方案。模块测试的目的是保证每个模块作为一个单元能正确运行,所以模块测试通常又称为单元测试。在这个测试步骤中所发现的往往是编码和详细设计的错误。

2.子系统测试

子系统测试是把经过单元测试的模块放在一起形成一个子系统来测试。模块相互间的协调和通信是这个测试过程中的主要问题,因此这个步骤着重测试模块的接口。

3.系统测试

系统测试是把经过测试的于系统装配成一个完整的系统来测试。在这个过程中不仅应该发现设计和编码的错误,还应该验证系统确实能提供需求说明书中指定的功能,而且系统的动态特性也符合预定要求。在这个测试步骤中发现的往往是软件设计中的错误,也可能发现需求说明中的错误。不论是子系统测试还是系统测试,都兼有检测和组装两重含义,通常称为集成测试。

4.验收测试

验收测试把软件系统作为单一的实体进行测试,测试内容与系统测试基本类似,但是它是在用户积极参与下进行的,而且可能主要使用实际数据(系统将来要处理的信息)进行测试。验收测试的目的是验证系统确实能够满足用户的需要,在这个测试步骤中发现的往往是系统需求说明书中的错误。

五.黑盒测试方法

黑盒测试(black—box testing)又称功能测试、数据驱动测试或基于规范的测试(即ec颠cation—based testing)。用这种方法进行测试时,被测程序被当作看不见内部的黑盒。在完全不考虑程序内部结构和内部特性的情况下,测试者仅依据程序功能的需求规范考虑确定测试用例和推断测试结果的正确性。因此黑盒测试是从用户观点出发的测试,黑盒测试直观的想法就是既然程序被规定做某些事,那我们就看看它是不是在任何情况下都做的对。完整的“任何情况”是无法验证的,为此黑盒测试也有一套产生测试用例的方法,以产生有限的测试用例而覆盖足够多的“任何情况”。由于黑盒测试不需要了解程序内部结构,所以许多高层的测试如确认测试、系统测试、验收测试都采用黑盒测试。

黑盒测试首先是程序通常的功能性测试。要求:

每个软件特性必须被一个测试用例或一个被认可的异常所覆盖。

用数据类型和数据值的最小集测试。

用一系列真实的数据类型和数据值运行,测试超负荷、饱和及其他“最坏情况”的结果;

用假想的数据类型和数据值运行,测试排斥不规则输入的能力;

对影响性能的关键模块,如基本算法、应测试单元性能(包括精度、时间、容量等)。

不仅要考核“程序应该做什么?”还要考察“程序是否做了不该做的2”同时还要考察程序在其他一些情况下是否正常。这些情况包括数据类型和数据值的异常等等。下述几种方法:(a)等价类划分,(b)因果图方法,(c)边值分析法,(d)猜错法,(e)随机数法,就是从更广泛的角度来进行黑盒测试。每一个方法都力图能涵盖更多的“任何情况”,但又各有长处,综合使用这些方法,会得到一个较好的测试用例集。

1.等价类划分

等价类划分是一种典型的黑盒测试方法。等价类是指某个输入域的集合。它表示对揭露程序中的错误来说,集合中的每个输入条件是等效的。因此我们只要在一个集合中选取一个测试数据即可。等价类划分的办法是把程序的输入域划分成若干等价类,然后从每个部分中选取少数代表性数据当作测试用例。这样就可使用少数测试用例检验程序在一大类情况下的反映。

在考虑等价类时,应该注意区别以下两种不同的情况:

有效等价类:有效等价类指的是对程序的规范是有意义的、合理的输入数据所构成的集合。在具体问题中,有效等价类可以是一个,也可以是多个。

无效等价类:无效等价类指对程序的规范是不合理的或无意义的输入数据所构成的集合。对于具体的问题,无效等价类至少应有一个,也可能有多个。

确定等价类有以下几条原则:

如果输入条件规定了取值范围或值的个数,则可确定一个有效等价类和两个无效等价类。例如,程序的规范中提到的输入条包括“……项数可以从1到999……”,则可取有效等价类为“l<项数<999”,无效等价类为“项数<l,,及“项数>999”。

输入条件规定了输入值的集合,或是规定了“必须如何”的条件,则可确定一个有效等价类和一个无效等价类。如某程序涉及标识符,其输入条件规定“标识符应以字母开头……”则“以字母开头者”作为有效等价类,“以非字母开头”作为无效等价类。

如果我们确知,已划分的等价类中各元素在程序中的处理方式是不同的,则应将此等价类进一步划

为每个等价类规定一个唯一的编号;

设计一个测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类。重复这一步,最后使得所有有效等价类均被测试用例所覆盖;

设计一个新的测试用例,使其只覆盖一个无效等价类。重复这一步,使所有无效等价类均被覆盖。这里强调每次只覆盖一个无效等价类。这是因为一个测试用例中如果含有多个缺陷,有可能在测试中只发现其中的一个,另一些被忽视。等价类划分法能够全面、系统地考虑黑盒测试的测试用例设计问题,但是没有注意选用一些“高效的”、“有针对性的”测试用例。后面介绍的边值分析法可以弥补这一缺点。

2.因果图

等价类划分法并没有考虑到输入情况的各种组合。这样虽然各个输入条件单独可能出错的情况已经看到了,但多个输入情况组合起来可能出错的情况却被忽略。采用因果图方法能帮助我们按一定步骤选择一组高效的测试用例,同时,还能为我们指出程序规范的描述中存在什么问题。

利用因果图导出测试用例需要经过以下几个步骤:

分析程序规范的描述中哪些是原因,哪些是结果。原因常常是输入条件或是输入条件的等价类。结果是输出条件。

分析程序规范的描述中语义的内容,并将其表示成连接各个原因与各个结果的“因果图”。

由于语法或环境的限制,有些原因和结果的组合情况是不可能出现的。为表明这些特定的情况,在因果图上使用持殊的符号标明约束条件。把因果图转换成判定表。把判定表的每一列写成一个测试用例。

3.边值分析法

边值分析法是列出单元功能、输入、状态及控制的合法边界值和非法边界值,设计测试用例,包含全部边界值的方法。典型地包括IF语句中的判别值,定义域、值域边界,空或畸形输入,末受控状态等。边值分析法不是一类找一个例子的方法,而是以边界情况的处理作为主要目标专门设计测试用例的方法。另外,边值分析不仅考查输入的边值,也要考虑输出的边值。这是从人们的经验得出的一种有效方法。人们发现许多软件错误只是在下标、数据结构和标量值的边界值及其上、下出现,运行这个区域的测试用例发现错误的概率很高。

用边值分析法设计测试用例时,有以下几条原则:

如果输入条件规定了取值范围,或是规定了值的个数,则应以该范围的边界内及刚刚超出范围的边界外的值,或是分别对最大、最小及稍小于最小、稍大于最大个数作为测试用例。如有规范“某文件可包含l至255”个记录……“,则测试用例可选1和255及0和256等。

针对规范的每个输出条件使用原则〔a〕。

如果程序规范中提到的输入或输出域是个有序的集合(如顺序文件、表格等)就应注意选取有序集的第一个和最后一个元素作为测试用例。

分析规范,尽可能找出可能的边界条件。一个典型的边值分析例子是三角形分类程序。选取a,b,c构成三角形三边,“任意两边之和大于第三边”为边界条件。边值分析相等价类划分侧重不同,对等价类划分是一个补充。如上述三角形问题,选取a=3,b=4,c=5,a=2,b=4,c=7则覆盖有效和无效等价类。如果能在等价类划分中注入边值分析的思想。在每个等价类中不只选取一个覆盖用例,而是进而选取该等价类的边界值等价类划分法将更有效,最后可以用边值分析法再补充一些测试用例。

4.猜错法

猜错法在很大程度上是凭经验进行的,是凭人们对过去所作的测试工作结果的分析,对所揭示的缺陷的规律性作直觉的推测来发现缺陷的。

一个采用两分法的检索程序,典型地可以列出下面几种测试情况:

被检索的表只有一项或为空表;

表的项数恰好是2的幂次;

表的项数比2的幂次多1等。

猜错法充分发挥人的经验,在一个测试小组中集思广益,方便实用,特别在软件测试基础较差的情况下,很好地组织测试小组 (也可以有外来人员)进行错误猜测,是有效的测试方法。

5.随机数法

即测试用例的参数是随机数。它可以自动生成,因此自动化程度高。使用大量随机测试用例测试通过的程序会提高用户对程序的信心。但其关键在于随机数的规律是否符合使用实际。

六.白盒测试方法

白盒法测试,是以程序的内部逻辑为基础,有选择地执行程序中最有代表性的通路。因此,白盒法也叫逻辑覆盖法(bgic MM阴e)。最彻底的逻辑覆盖法,是覆盖程序巾的诲一条通路。但当程序中含有大量循环时,要执行每一条通路是44可能的。因此,我们只能寄希望于程序的覆盖度尽可能高一些。目前常用的一些覆盖标准有:语句覆盖、判定覆盖、条件澄盖、判定涤件覆盖、条件组合覆盖、路径覆盖等。

白盒法考虑的是测试用例对程序内部逻辑的覆盖程度,所以又称为逻辑覆盖法。最彻底的白盒法是覆盖程序中的每一条路径,但这不可能,我们希望覆盖的路径尽可能多一些。为了衡量测试的覆盖程度,需要建立一些标准,目前常用的一些覆盖标准是:

(1)语句覆盖;

(2)判定覆盖;

(3)条件覆盖;

(4)判定/条件覆盖;

(5)条件组合覆盖。

1.语句覆盖

程序的某次运行一般并不能执行到其中的每一个语句,因此,如果某语句含有一个错误,而它在测试中没执行,这个错误就不可能被发现。为了提高发现错误的可能性,应该在测试时至少要执行程序中的每一个语句。

所谓“语句覆盖”测试标准,它的含义是:选择足够的测试用例,使得程序中每个语句至少都能执行一次。

例子:

Procedure Example(Var A,B,C:real)

begin

if(A>1)and(B=0)

then x:=x/A;

if(A=2)or(x>1)

then x:=x+l

end;

为了使程序中每个语句至少执行一次,只需设计一个能通过路径ace的例子就可以了。例如选择输入数据为:

A=2,B=0,x=3

就可达到“语句覆盖”标准。

显然,语句覆盖是一个比较弱的覆盖标准。如果第一个条件语句中的and错误地写成or,上面的测试用例是不能发现这个错误的,或者是第二个条件语句中x>1误写成x>0,这个测试用例也不能暴露它。我们还可以举出许多错误情况是上述测试数据不能发现的。所以,一般认为“语句覆盖”是很不充分的最低的一种覆盖标准。

2.判定理盖

比“语句覆盖”稍强的覆盖标准是“判定覆盖”(或称分支覆盖)。这个标准是:执行足够的测试用例,使得程序中每个判定至少都获得一次“真”值和“假”值,即使得程序中的每一个分文至少都通过一次。

对上面那个例子,如果设计两个测试用例,就可以达到“判定覆盖”的标难。为此,我们可以选择输人数据为:

(1)A=3,B=0,x=l

(2)A=2,B=1,x=3

“判定覆盖”比“语句覆盖”严格,因为如果每个分支都执行过了,自然每个语句也就执行了。

3.条件覆盖

它的含义是:执行足够的测试用例,使得判定中每个条件获得各种可能的结果。

对于例子程序,我们只需设计以下两个测试用例就可满足这标准:

(1)A=2,B=o,x=4(沿路径ace执行)

(2)A=1,B=l,x=l(沿路径aN执行)

虽然同样只要两个测试用例,但它比判定覆盖中两个测试用例更有效。一般来说,“条件覆盖”比“判定覆盖”强,但是,并不总是如此,满足“条件覆盖”不一定满足“判定覆盖”。例如对语句。

IF(A AND B)THEN S

设计两个测试用例:A“真”B“假”和A“假”B“真”。对于上例我们设计两个测试用例为:

(1)A=1,B=o,x=3

(2)A=2,B=l,x=1

亦是如此,它们能满足“条件覆盖”但不满足“判定覆盖”。

4.判定/条件覆盖

针对上面的问题引出了另一种覆盖标准,这就是“判定/条件覆盖”,它的含义是:执行足够的测试用例,同时满足判定覆盖和条件覆盖的要求。显然,它比“判定覆盖”和“条件覆盖”都强。

对于例子程序,我们选取测试用例:

(1)A=2,B=0,x=4

(2)A=1,B=l,x=l

它满足判定/条件覆盖标准。

值得指出,看起来“判定/条件覆盖”似乎是比较合理的,应成为我们的目标,但是事实并非如此,因为大多数计算机不能用一条指令对多个条件作出判定,而必须将源程序中对多个条件的判定分解成几个简单判定。这个讨论说明了,尽管“判定/条件覆盖”看起来能使各种条件取到所有可能的值,但实际上并不一定能检查到这样的程度。针对这种情况,有下面的条件组合覆盖标准。

5.条件组合覆盖

“条件组合覆盖”的含义是:执行足够的测试用例,使得每个判定中条件的各种可能组合都至少执行一次。这是一个最强的逻辑覆盖标准。

再看例子程序,必须使测试用例覆盖八种组合结果

(1)A>1,B=0 (5)A=2,x>1

(2)A>1,B<>0 (6)A=2,x<1

(3)A2,x>1

(4)A<1,B<>0 (8)A<>2,x<1

必须注意到,(5)、(6)、(7)、(8)四种情况是第二个条件语句的条件组合,而x的值在该语句之前是要经过计算的,所以我们还必须根据程序的逻辑推算出在程序的人口点x的输入值应是什么。

要测试八个组合结果并不是意味着需要八种测试用例,事实上,我们能用四种测试用例来覆盖它们:

(1)A=2,B=o,x=4;

(2)A=2,B=1,x=l;

(3)A=l,B=o,x=2;

(4)A=1,B=1,x=l。

上面四个例子虽然满足条件组合覆盖,但并不能覆盖程序中的每一条路径,可以看出条件组合覆盖仍然是不彻底的,在白盒测试时,要设法弥补这个缺陷。

七.测试错误类型

本规范定义以下五类测试错误类型。

A类—严重错误,包括以下各种错误:

由于程序所引起的死机,非法退出

死循环

数据库发生死锁

因错误操作导致的程序中断

功能错误

与数据库连接错误

数据通讯错误

B类—较严重错误,包括以下各种错误:

程序错误

程序接口错误

数据库的表、业务规则、缺省值未加完整性等约束条件

C类—一般性错误,包括以下各种错误:

操作界面错误(包括数据窗口内列名定义、含义是否一致)打印内容、格式错误

简单的输入限制未放在前台进行控制

删除操作未给出提示

数据库表中有过多的空字段

D类—较小错误,包括以下各种错误:

界面不规范

辅助说明描述不清楚

输入输出不规范

长操作未给用户提示

提示窗口文字未采用行业术语

可输入区域和只读区域没有明显的区分标志

E类—测试建议

八.测试标准

黑盒测试的通过准则一般有:

单元功能同设计需求一致;

规定的路径覆盖率及覆盖类达到要求,且单元执行正确;

所规定的黑盒测试手段被使用,且单元执行正确;

对残留错误有合法解释或被认可暂留;

虽然路径覆盖率不能达到,但其他各测试的错误查出率趋产0或稳定(时间的长短视情况而定)。各类软件测试合格须符合以下标准。

以上比例为错误占总测试模块的比例。

软件产品未经测试合格,不允许出公司。

1 测试过程与结果

1.1 (某程序模块/文档名称)测试

测试对象:(某程序模块/文档)

测试方面:(设计规范/应用功能及流程/程序代码)

责任人:

测试人及测试时间:

问题及影响、处理结果:

1.2 (某程序模块/文档名称)测试

测试对象:(某程序模块/文档)

测试方面:(设计规范/应用功能及流程/程序代码)

责任人:

测试人及测试时间:

问题及影响、处理结果:

……

2 测试结论

对单元测试的结果评价。

测试负责人:审核(项目经理):年月日年月日

附录三测试大纲

1 概述

1.1 编写目的

[可照抄下列语句,也可适当修改。]

本文档的编写目的在于为XXXX(软件名称)软件测试人员提供详细的测试步骤和测试数据,以保证测试人员对软件测试的正确性和完整性。

1.2 参考资料

说明软件测试所需的资料(需求分析、设计规范等)。

1.3 术语和缩写词

说明本次测试所涉及到的专业术语和缩写词等。

1.4 测试内容和测试种类

2 系统结构

图表形式表示。

3 测试目的

4 测试环境

4.1 硬件

列出进行本次测试所需的硬件资源的型号、配置和厂家。

4.2 软件

列出进行本次测试所需的软件资源,包括操作系统和支持软件(不含待测软件)的名称、版本、厂家。

5 人员

列出一份清单,说明在整个测试期间人员的数量、时间、技术水平的要求。

6 测试说明

可以把整个测试过程按逻辑划分为几个组(包括测试计划中描述的总体测试要求的每个方面),并给每个组命名一个标识符。

6.1 [测试1名称及标识符]说明

6.1.1 测试概述

对测试1进行一个总体描述,主要说明这组测试的基本内容。

6.1.2 测试准备

描述本测试开始前系统必须具备的状态和数据。

6.1.3 测试步骤

对各测试操作按先后顺序进行编号。具体操作和数据见附录。

6.2 [测试2名称及标识符]说明

测评组:

年月日

附录四测试大纲附录

本附录描述了各测试步骤的详细说明,在填入测试结果后,可直接作为测试记录。内容较多时,可一页只放一个测试说明。

测试名称:标识符:

测试时间:测试人:

附录五测试计划

1 概述

1.1 编写目的

[可照抄下列语句,也可适当修改。]

本文档的编写目的在于为整个测试阶段的管理工作和技术工作提供指南;确定测试的内容和范围,为评价系统提供依据。

1.2 参考资料

说明软件测试所需的资料(需求分析、设计规范等)。

1.3 术语和缩写词

说明本次测试所涉及到的专业术语和缩写词等。

1.4 测试种类

说明本次测试所属的测试种类(单元测试、集成测试、有效性测试、系统测试、用户测试)及测试的对象。

2 系统描述

简要描述被测软件系统,可用图表加解释的形式,说明被测系统的输入、基本处理功能及输出,为进行测试提供一个提纲。

3 测试环境

3.1 硬件

列出进行本次测试所需的硬件资源的型号、配置和厂家。

3.2 软件

列出进行本次测试所需的软件资源,包括操作系统和支持软件(不含待测软件)的名称、版本、厂家。

4 测试安排

4.1 (子系统1名称和项目唯一标识号)

4.1.1 测试总体要求

描述本次测试的要求,如:

对所有功能进行正确性测试;

使用一些虚假值、最大值和错误值对软件进行测试;

对软件进行错误检测和出错恢复的测试;

对特定环境条件的组合,用模拟测试数据对软件进行测试;

使用从环境中提取的“真实数据”作为输入,对软件进行测试。

4.1.2 主要测试内容

列出提纲。

4.1.3 测试进度安排

给出进行测试工作的时间安排。

4.2 (子系统2名称和项目唯一标识号)

5 测试数据的记录、整理和分析

说明对本次测试得到数据的记录、整理和分析的方法和存档要求。

审核:

年月日

批准:

年月日

软件测试文件编制规范

计算机软件测试文件编制规范 1 引言 目的和作用 本规范规定一组软件测试文件。测试是软件生存周期中一个独立的、关键的阶段,也是保证软件质量的重要手段。为了提高检测出错误的几率,使测试能有计划地、有条不紊地进行地进行,就必须要编制测试文件。而标准化的测试文件就如同一种通用的参照体系,可达到便于交流的目的。文件中所规定的内容可以作为对测试过程完备性的对照检查表,故采用这些文件将会提高测试过程的每个阶段的能见度,极大地提高测试工作的可管理性。 适用对象及范围 本规范是为软件管理人员、软件开发人员和软件维护人员、软件质量保证人员、审计人员、客户及用户制定的。 本规范用于描述一组测试文件,这些测试文件描述测试行为。本规范定义每一种基本文件的目的、格式和内容。所描述的文件着重于动态测试过程,但有些文件仍适用其它种类的测试活动。 本规范可应用于数字计算机上运行的软件。它的应用范围不受软件大小、复杂度或重要性的限制,本规范既适用于初始开发的软件测试文件编制,也适用于其后的软件产品更新版本的测试文件编制。 本规范并不要求采用特定的测试方法学、技术及设备或工具。对文件控制、配置管理或质量保证既不指明也不强制特定的方法学。根据所用的方法学,可能需要增加别的文件(如“质量保证计划”)。 本规范既适用于纸张上的文件,也适用于其它媒体上的文件。如果电子文件编制系统不具有安全的批准注册机制,则批准签字的文件必须使用纸张。 2 引用标准 GB/T 11457 软件工程术语 GB 8566 计算机软件开发规范 GB 8567 计算机软件产品开发文件编制指南 3 定义 本章定义本规范中使用的关键术语。 设计层design level 软件项的设计分解(如系统、子系统、程序或模块)。 通过准则pass criteria 判断一个软件项或软件特性的测试是否通过的判别依据。 软件特性software feature 软件项的显著特性。(如功能、性能或可移植性等)。 软件项software item 源代码、目标代码、作业控制代码、控制数据或这些项的集合。 测试项test item 作为测试对象的软件项。 4 概述

软件测试流程方案

软件测试流程实施方案 1.流程的意义 从一个软件企业的长远发展来看,如果要提高产品的质量首先应当从流程抓起,规范软件产品的开发过程。这是一个软件企业从小作坊的生产方式向集成化规范化的大公司迈进的必经之路,也是从根本上解决质量问题,提高工作效率的一个关键手段。 软件产品的开发同其它产品(如汽车)的生产有着共同特性,即需要按一定的过程来进行生产。在工业界,流水线生产方式被证明是一种高效的,且能够比较稳定的保证产品质量的一种方式。通过这种方式,不同的人员被安排在流程的不同位置,最终为着一个目标共同努力,这样可以防止人员工作间的内耗,极大的提供工作效率。并且由于其过程来源于成功的实例,因此其最终的产品质量能够满足过程所设定的范围。软件工程在软件的发展过程中吸取了这个经验并把它应用到了软件开发中,这就形成了软件工程过程,简单的说就是开发流程。 不管我们做哪件事情,都有一个循序渐进的过程,从计划到策略到实现。软件流程就是按照这种思维来定义我们的开发过程,它根据不同的产品特点和以往的成功经验,定义了从需求到最终产品交付的一整套流程。流程告诉我们该怎么一步一步去实现产品,可能会有那些风险,如何去避免风险等等。由于流程来源于成功的经验,因此,按照流程进行开发可以使得我们少走弯路,并有效的提高产品质量,提高用户的满意度。 目前流行的流程方法有很多种,如瀑布模型、螺旋模型、RUP模型、IPD 流程等,不同的过程模型适合于不同类型的项目。 2.测试工作流程图

2.1测试工作总体流程图 说明:集成测试和系统测试的反馈意见可能导致设计文档(需求或数据库)的修改。 2.2需求阶段流程图

软件测试详细标准

软件测试标准 前言 前一版的《软件测试标准》,在测试工作中发挥了很好的指导作用。本次修改在原标准基础上,提出了新的测试理念、工作方法、组织方式,使之更贴近实际工作,真正起到纲领的作用。 一、软件测试 1、软件测试的目的 软件测试是指为了度量和提高被测试对象的质量、对测试对象进行工程设计、使用和维护的与软件开发过程并发的生命周期过程。软件测试的目的为:验证软件产品的实现状态以及实现质量。 2、软件测试相关概念 2.1白盒测试 指基于程序结构的测试,测试目标是检查程序内部逻辑结构和逻辑路径,是代码级的测试。 2.2黑盒测试 基于程序功能的测试,根据输入输出的关系推断程序功能的正确性。 2.3测试用例 测试方案,包括数据输入和相应的期望输出。依据测试用例来执行具体操作。 2.4预防性测试 其原理为:只要测试在生命周期中进行得足够早,就能够提高待测软件的质量。 2.5测试风险分析 其目的为:确定测试对象、测试的优先级、测试的深度。 2.6软件测试模型 公司目前采用V模型,实现测试与软件开发的同步进行。

2.7等价类划分 将测试对象按某种约定划分为有限个组成部分,提高测试的有效性。 2.8边界值分析 分析测试对象的所有边界值及边界附近的临界值。 二、测试工作流程 需求分析审核需求分析,编写验收测试部分用例 实地调研重点收集客户实际业务资料、操作习惯,并与需求分析作出对比 概要设计审核概要设计,从用户角度提出问题 编写集成测试用例 详细设计 审核详细设计报告,与需求分析、概要设计进行比对编写单元测试用例编写用户手册总体框架单元测试阶段提出测试计划 审核测试用例 执行测试 测试总结 集成测试阶段验收测试阶段 补充测试用例资料归档 修改测试 审核修改计划程序员提供修改清单编写测试用例执行测试 测试总结 复测测试报告复测测试用例复测 三、开发—测试流程

软件测试文档编制规范

文档编制规范

目录 文档编制规范 (1) 一、文档的分类 (2) 二、文档的编号 (2) 三、文档编写的格式要求 (3) 3.1、页面布局 (3) 3.1.1、页边距 (3) 3.1.2、页眉页脚 (3) 3.2、首页标题及公司基本信息 (3) 3.3、目录 (4) 3.4、正文 (4) 3.4.1、正文内容 (4) 3.4.2、小标题级别 (4) 3.4.3、图片与表格 (5) 3.4.4、功能点与列表 (8) 3.5、附件 (8)

一、文档的分类 将文档分成如下几类: 1、规章制度类(编号:GZZD):公司、部门的各项规章制度; 2、工作规范类(编号:GZGF):各部门的工作规范; 3、项目管理规范类(编号:XMGL):项目管理规范、药监项目管理规范、招投标系统开 发与实施指南等; 4、项目类文档(编号:XM):包括项目各个过程的产出物,如合同(HT)、建设方案(FA)、 需求文档(XQ)、设计文档(SJ)、操作手册(CZSC)、测试报告(CSBG)等; 5、体系类(ISO9001、ISO27001、CMMI3); 6、知识类(编号:ZS):各类技术经验总结等; 7、产品类(编号:产品名称缩写):如OA、Mis平台、电子招投标产品的介绍资料/操作手 册等 8、其他类(不需要编号):上述7个类别之外的其它文档。 二、文档的编号 文档的编号是文档唯一标识,主要用于文档的检索和版本控制。 文档编号规则如下: 文档编号=文档所属部门代码+文档类别代码+文档流水号+版本号 示例如下: 例如:QYGL-GZZD -001V2.1

企业管理部 说明: 1.部门代码为各部门的拼音首字母(公司的部门代码为GTXD)。 部门编码示例: 企业管理部-QYGL、人力资源部-RLZY、行政部-XZ、开发部-KF(子部门为KF1、KF2类推)、实施部-SS(子部门SS1、SS3类推)、测试部-CS等; 2.版本号使用2位数字进行声明,数字间使用英文标点“.”隔开。首位数字表示第几个 版本,末尾数字表示版本内的第几次修改。例如:v1.0表示第一次正式发布的版本; v1.2,表示在第一次发布后进行第二次修改后的文档。 3.其它类的文档(各种表单、ppt等),无需编号、页眉页脚,如《培训记录表》等。 4.EXCEL类文档按WORD文档编号方式编号。 5.其他各类外来文件,包括各法律法规、技术标准和顾客资料等,均按各自的原本编号, 也不需要另外修改。 三、文档编写的格式要求 3.1、页面布局 3.1.1、页边距 上下页边距:2.54厘米,左右页边距:3.17厘米(默认)。 3.1.2、页眉页脚 页眉:加入公司logo图片左对齐;后面加上文档名称,用小五号宋体字(Times new Roman);文件编号和版本号,如“GTXD-GZZD-001 V1.0”右对齐;页眉顶端距离0.8厘米。 页脚:加入公司名称及联系方式居中;加入页码/总页数右对齐页面底部;用小五号宋体字(Times new Roman),页脚底端距离1.2厘米。 首页如果是封页,则不显示页眉页脚。 3.2、首页标题及公司基本信息 公司基本信息:顶格、两端对齐,以图片形式放置公司logo及公司基本信息。

软件测试流程规范

软件测试流程规范 一、通读项目需求设计文档 1.测试的准备阶段; 2.仔细阅读《软件需求规格说明书》; 3.根据测试手册,做前期的测试准备; 二、明确测试任务的范围 ⑴功能测试;⑵界面测试;⑶接口测试;⑷容错测试;⑸负载测试; ⑹安全测试;⑺性能测试;⑻稳定性测试;⑼配置测试;⑽安装测试; ⑾恢复测试;⑿文档测试;⒀可用性测试; 三、学习理解被测试软件 由开发人员组织讲解所要执行测试的软件或者产品,测试人员必须认真理解拿到手中待测试的软件或者产品。 四、制定测试计划 “工欲善其事,必先利其器”。软件测试必须以一个好的测试计划作为基础。作为测试的起始步骤和重要环节。测试计划应包括:产品基本情况调研、测试策略、测试大纲(功能模块的测试、详细测试、高级测试)、测试内容(界面测试、测试需求说明)、测试人力资源配置、测试计划的变更、测试硬件环境、测试软件环境、测试工具、测试进度计划表、问题跟踪报告、测试通过准则、测试计划的评审意见等。另外还包括测试计划的目的、测试对象信息、测试计划使用的范围及测试参考文档。 1.项目简介; 对产品(项目)的一个了解和概述,主要对产品(项目)功能的简述。 2.测试背景; 产品在那种情况下开始研发,执行测试,交待为何而测试产品的背景。 4.测试类型(方法);(黑盒测试) ⑴功能测试;⑵界面测试;⑶接口测试;⑷容错测试;⑸负载测试; ⑹安全测试;⑺性能测试;⑻稳定性测试;⑼配置测试;⑽安装测试; ⑾恢复测试;⑿文档测试;⒀可用性测试; 5.测试资源;

6.测试策略\测试需求\测试任务\测试点; 针对测试需求定义测试类型、测试方法以及需求的测试工具等。 ①对于每种测试,都应提供测试说明,并解释其实施的原因。 ②制定测试策略时所考虑的主要事项有:将要使用的技术以及判断测试何时完成的标准。 ③下面列出了在进行每项测试时需考虑的事项,除此之外,测试还只应在安全的环境中使用已 知的、有控制的数据库来执行。 ④不实施某种测试,则应该用一句话加以说明,并陈述这样的理由。例如,“将不实施该测试。 该测试本项目不适用”。 No工作内容开始时间结束时间责任人提交的结果备注 五、设计测试用例 测试用例的主要来源为:1)需求说明书及相关文档2)相关的设计说明(概要设计,详细设计等)3)与开发组交流对需求理解的记录(可以是开发人员的一个解释)4)已经基本成型的UI(可以有针对性地补充一些用例) 从所得到的资料中,分解出若干小的“功能点”,理解“功能点”,编写相应的测试用例。 项目名称程序版本功能模块名用例编号编制人编制时间 论坛 功能特性 测试目的 参考信息 预置条件特殊规程说 明 参考信息 测试用例 基本流 序号名称说明1 2 备选流 序号名称说明1 2 相关的用例无 测试场景 序号名称说明

软件测试流程规范最全样本

软件测试流程规范整体流程图 1.详细流程执行 1.1 筹划与设计阶段 整体流程图 立项会议 · 项目可行性分析· 确定项目经理· 确定测试组长· 项目正式立项· 测试组长确定 需求评审· 需求规格说明书 · · 明确需求 · 消除歧义 · 会议讨论并确认· 需求明确无异议 测试工作 启动 · 需求规格说明书 · 项目开发计划 · 测试预通知 · 组建测试小组 · 召开测试情动会 · 测试小组成立 · 开发方与测试方目 标达成一致 测试设计 阶段 · 需求规格说明书 · 项目开发计划 · 概要设计、详细 设计 · 其他相关文档 · 设计测试计划 · 设计测试用例 · 测试计划 · 测试用例集 设计内容 评审 · 测试计划 · 测试用例集 · 评审测试计划 · 评审测试用例集 · 优化的测试计划 · 优化的测试用例集

1.1.1 立项会议 由高层主管立项会议,会议重要对项目可行性进行分析,并且拟定项目经理及项目测试组长。 1.1.2 需求评审 注:1.需求定义基本完毕,此时应在评审会议召开之前发给测试团队,预留时间给测试有关人员熟悉、理解。 2.测试部参加人员由测试部经理指定,重要由测试组长、测试设计等人员构成(还应

涉及配备管理人员、质量保证人员)。 1.1.3 测试工作启动 注:在正式测试任务下达前,开发团队应在项目(产品)开发筹划完毕后及时向测试团队下达预告知,告之较为确切测试日期,提供当前最新有关资料。部门经理和测试组长组建测试小组,并视详细状况决定与否需要调节人力、时间安排、测试环境等其他资源。测试小构成员可预先熟悉必要项目(产品)资料。 1.1.4 测试设计阶段 1.1.4.1 设计测试筹划 注:针对需求分析文档和项目开发筹划文档测试完毕后,测试组需要编写测试筹划文档、制

软件测试规范标准[详]

软件测试规 1目的 确保软件产品质量,使产品能够顺利交付和通过验收的一项重要措施。 2适用围 适用于项目开发过程中的单元测试、集成测试、系统测试、业务测试、验收测试以及一些专项测试。 3职责 ?项目测试负责人组织编制《测试计划》、《测试方案》,指导和督促测试人员完成各阶段的测试工作。 ?项目组测试人员按照《测试计划》、《测试方案》完成所承担的测试任务,并按要求填写《问题报告及维护记录》。 ?测试经理依照确认规程和准则对工作产品进行确认,提出对确认规程和准则的修改意见 ?项目负责人组织测试环境的建立。 ?项目经理审核负责控制整个项目的时间和质量。 ?研发人员确认修改测试人员提交的bug。 4工作流程 4.1 测试依据 详细设计是模块测试的依据。因此设计人员应向测试人员提供《系统需求规格书名书》、《详细设计》、《概要设计》等有关资料。测试人员必须认真阅读,真正弄懂系统需求和详细设计。 4.2 制订《测试方案》 在测试之前,由项目负责人根据《测试计划》的要求,组织人员编制相应的《测试方案》,《测试方案》应包括以下容:

?测试目的; ?所需人员及相应培训要求; ?测试环境、工具和测试软件; ?测试用例、测试数据和预期的结果。 4.3 单元测试 项目开发实现过程中,每个程序单元(程序单元的划分视具体开发工具而定,一般定为函数或子程序级)编码调试通过后,要及时进行单元测试。 单元测试由单元开发者自己进行,使用白盒测试方法,根据程序单元的控制流程,争取达到分支覆盖。对于交互式运行的产品,不便于进行自动测试的,可以采用功能测试的方法进行。 单元测试针对程序模块,从程序的部结构出发设计测试用例。多个模块可以独立进行单元测试。 ?单元测试容包括模块接口测试、局部数据结构测试、路径测试、错误处理测试等; ?单元测试组织原则一遍根据开发进度安排对已开发完成的单一模块进行测试; ?单元测试停止标准:完成了所有规定单元的测试,单元测试中发现的bug已经得到修改。 4.4 集成测试 编码开发完成,项目组部应进行组装测试。 集成测试由项目负责人组织策划(编写测试计划、测试用例)并实施。集成测试着重对各功能模块之间的接口进行测试,验证各功能模块是否能协调工作、参数传递及功能调用是否正常。测试采用交叉方法,即个人开发的软件应由其他的项目组成员进行测试。 集成测试过程应填写《问题报告及维护记录》,测试结果应形成《测试报告》。 4.5 系统测试 在项目开发完成之后,应对整个系统软件和硬件进行系统测试。对性能、可靠性、健壮性、压力承受力等方面分别进行评价,以验证系统是否满足

软件测试流程及规范V1.1

软件测试流程及规范V1.1

二、各阶段具体流程 1.需求分析阶段 立项 需求调研 编写/修改SRS 提交SRS SRS 审核 审核是否通过 达到要求 提交最终版SRS 审核是否通过 审核通过 依据SRS ,项目整体计划,设计、编写《测试计划》 和《测试设计》《测试计划》根据SRS 定义相应的测试需求报告,即制订测试的标准,以后所有的测试工作都将围绕着测试需求来进行,符合测试需求的应用程序即是合格的,反之即是不合格的;同时,还要适当选择测试内容,合理安排测试人员、测试 时间及测试资源等。 《测试设计》 将测试计划阶段制订的测试需求 分解、细化为若干个可执行的测 试过程,并为每个测试过程选择 适当的测试用例。 进入概要设计阶段评审测试计划 和测试设计优化测试计划、 测试设计1.1步骤说明 1、需求定义基本完成,SRS 编写完成。 2、开评审会,由需求调研人员、开发组、设计组、测试组等人员对需求中不清楚、不完整、存在疑义的地方提出问题,相关人员解答并确认。 3、当评审未通过,直接打回,重新修改SRS ,问题解决后,重新提交评审。

4、当评审通过后,依据SRS,项目整体计划,设计、编写《测试计划》和《测试设计》,具体模板见附件。 5、开评审会,由开发组、设计组、测试组等人员对计划和设计中不清楚、不完整、存在疑义的地方提出问题。 6、当审批未通过,直接打回,优化测试计划、测试设计,问题解决后,重新提交评审。 7、审核通过后,进入下一阶段。 1.2测试通过打回标准 1.3、阶段的输出 输入:最新SRS、项目计划 输出:测试计划、测试设计 2、单元及集成测试流程

软件开发技术文档编写规范

软件开发技术文档编写规范 在项目开发过程中,应该按要求编写好十三种文档,文档编制要求具有针对性、精确性、清晰性、完整性、灵活性、可追溯性。 ◇可行性分析报告:说明该软件开发项目的实现在技术上、经济上和社会因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由。 ◇项目开发计划:为软件项目实施方案制订出具体计划,应该包括各部分工作的负责人员、开发的进度、开发经费的预算、所需的硬件及软件资源等。 ◇软件需求说明书(软件规格说明书):对所开发软件的功能、性能、用户界面及运行环境等作出详细的说明。它是在用户与开发人员双方对软件需求取得共同理解并达成协议的条件下编写的,也是实施开发工作的基础。该说明书应给出数据逻辑和数据采集的各项要求,为生成和维护系统数据文件做好准备。 ◇概要设计说明书:该说明书是概要实际阶段的工作成果,它应说明功能分配、模块划分、程序的总体结构、输入输出以及接口设计、运行设计、数据结构设计和出错处理设计等,为详细设计提供基础。 ◇详细设计说明书:着重描述每一模块是怎样实现的,包括实现算法、逻辑流程等。 ◇用户操作手册:本手册详细描述软件的功能、性能和用户界面,使用户对如何使用该软件得到具体的了解,为操作人员提供该软件各种运行情况的有关知识,特别是操作方法的具体细节。 ◇测试计划:为做好集成测试和验收测试,需为如何组织测试制订实施计划。计划应包括测试的内容、进度、条件、人员、测试用例的选取原则、测试结果允许的偏差范围等。 ◇测试分析报告:测试工作完成以后,应提交测试计划执行情况的说明,对测试结果加以分析,并提出测试的结论意见。 ◇开发进度月报:该月报系软件人员按月向管理部门提交的项目进展情况报告,报告应包括进度计划与实际执行情况的比较、阶段成果、遇到的问题和解决的办法以及下个月的打算等。 ◇项目开发总结报告:软件项目开发完成以后,应与项目实施计划对照,总结实际执行的情况,如进度、成果、资源利用、成本和投入的人力,此外,还需对开发工作做出评价,总结出经验和教训。 ◇软件维护手册:主要包括软件系统说明、程序模块说明、操作环境、支持软件的说明、维护过程的说明,便于软件的维护。 ◇软件问题报告:指出软件问题的登记情况,如日期、发现人、状态、问题所属模块等,为软件修改提供准备文档。 ◇软件修改报告:软件产品投入运行以后,发现了需对其进行修正、更改等问题,应将存在的问题、修改的考虑以及修改的影响作出详细的描述,提交审批。 1可行性分析报告 1 引言 1.1 编写目的:阐明编写可行性研究报告的目的,提出读者对象。

软件测试基本流程与要求要求规范

软件测试基本流程与规范 1目标 制定完整且具体的测试路线和流程,为快速、高效和高质量的软件测试提供基础流程框架。 最终目标是实现软件测试规范化,标准化。 2测试流程说明

3测试需求分析 测试需求是整个测试过程的基础;确定测试对象以及测试工作的范围和作用。用来确定整个测试工作(如安排时间表、测试设计等)并作为测试覆盖的基础。而且被确定的测试需求项必须是可核实的。即,它们必须有一个可观察、可评测的结果。无法核实的需求不是测试需求。所以我现在的理解是测试需求是一个比较大的概念,它是在整个测试计划文档中体现出来的,不是类似的一个用例或者其他. ·测试需求是制订测试计划的基本依据,确定了测试需求能够为测试计划提供客观依据; ·测试需求是设计测试用例的指导,确定了要测什么、测哪些方面后才能有针对性的设计测试用例; ·测试需求是计算测试覆盖的分母,没有测试需求就无法有效地进行测试覆盖; 3.1测试方法与规范 3.1.1测试方法 随着软件技术发展,项目类型越来越多样化。根据项目类型应选用针对性强的测试方法,合适的测试方法可以让我们事半功倍。以下是针对目前项目工程可以参考的测试方法: ?β测试(beta测试)--非程序员、测试人员 β测试,英文是Beta testing。又称Beta测试,用户验收测试(UAT)。 β测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。 当开发和测试根本完成时所做的测试,而最终的错误和问题需要在最终发行前找到。这种测试一般由最终用户或其他人员完成,不能由程序员或测试员完成。?α测试(Alpha测试)--非程序员、测试人员 α测试,英文是Alpha testing。又称Alpha测试. Alpha测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,Alpha测试不能由该系统的程序员或测试员完成。 在系统开发接近完成时对应用系统的测试;测试后,仍然会有少量的设计变更。这种测试一般由最终用户或其他人员来完成,不能由程序员或测试员完成。?兼容性测试 --测试人员 兼容性测试是指测试软件是否可以成功移植到指定的硬件或者软件环境中,例如在B/S项目中各个不同浏览器之间的测试。 ?用户界面测试-UI测试--测试人员 用户界面测试,英文是User interface testing。又称UI测试。 用户界面,英文是User interface。是指软件中的可见外观及其底层与用户交互的部分(菜单、对话框、窗口和其它控件)。

软件测试规范

软件测试标准规范 1目的 为了确保软件产品质量,使产品能够顺利交付和通过验收,特编写本文档,以作参考 2适用范围 本文档适用于项目开发过程中的单元测试、集成测试、系统测试、业务测试、验收测试以及一些专项测试。 3职责 ?项目测试负责人组织编制《测试计划》、《测试方案》,指导和督促测试人员完成各阶段的测试工作。 ?项目组测试人员按照《测试计划》、《测试方案》完成所承担的测试任务,并按要求填写《问题报告及维护 记录》。 ?测试经理依照确认规程和准则对工作产品进行确认,提出对确认规程和准则的修改意见 ?项目负责人组织测试环境的建立。 ?项目经理审核负责控制整个项目的时间和质量。 ?研发人员确认修改测试人员提交的bug。 4工作流程 4.1测试依据 详细设计是模块测试的依据。因此设计人员应向测试人员提供《系统需求规格书名书》、《详细设计》、《概要设计》等有关资料。测试人员必须认真阅读,真正弄懂系统需求和详细设计。 4.2制订《测试方案》

在测试之前,由项目负责人根据《测试计划》的要求,组织人员编制相应的《测试方案》,《测试方案》应包括以下内容: ?测试目的; ?所需人员及相应培训要求; ?测试环境、工具和测试软件; ?测试用例、测试数据和预期的结果。 4.3单元测试 项目开发实现过程中,每个程序单元(程序单元的划分视具体开发工具而定,一般定为函数或子程序级)编码调试通过后,要及时进行单元测试。 单元测试由单元开发者自己进行,使用白盒测试方法,根据程序单元的控制流程,争取达到分支覆盖。对于交互式运行的产品,不便于进行自动测试的,可以采用功能测试的方法进行。 单元测试针对程序模块,从程序的内部结构出发设计测试用例。多个模块可以独立进行单元测试。 ?单元测试内容包括模块接口测试、局部数据结构测试、路径测试、错误处理测试等; ?单元测试组织原则一遍根据开发进度安排对已开发完成的单一模块进行测试; ?单元测试停止标准:完成了所有规定单元的测试,单元测试中发现的bug已经得到修改。 4.4集成测试 编码开发完成,项目组内部应进行组装测试。 集成测试由项目负责人组织策划(编写测试计划、测试用例)并实施。集成测试着重对各功能模块之间的接口进行测试,验证各功能模块是否能协调工作、参数传递及功能调用是否正常。测试采用交叉方法,即个人开发的软件应由其他的项目组成员进行测试。

软件测试计划模板参考文档

XXX项目 软件测试计划 编号: xxxx公司 20xx年xx月 目录

1文档说明 (2) 1.1文档信息 (2) 1.2文档控制 (2) 1.2.1变更记录 (2) 1.2.2审阅记录 (3) 2引言 (4) 2.1编写目的 (4) 2.2项目背景 (4) 2.3参考资料 (4) 2.4术语和缩略语 (5) 3测试策略 (5) 3.1整体策略 (5) 3.2测试范围 (7) 3.3测试交接标准 (8) 3.3.1单元测试交接标准 (8) 3.3.2集成测试交接标准 (8) 3.4测试通过标准 (8) 3.5测试类型 (8) 3.5.1功能测试 (8) 3.5.2性能测试 (9) 3.5.3容量测试 (9) 3.5.4安全测试 (9) 3.6风险分析 (9) 4测试方法 (10) 4.1里程碑技术 (10) 4.2测试用例设计 (10) 4.3测试实施过程 (11) 4.4测试方法综述 (11) 4.5测试团队结构 (11) 5资源需求 (12) 5.1培训需求 (12) 5.2运行环境 (12) 5.2.1软件运行环境 (12) 5.2.2硬件运行环境 (13) 6各阶段时间分配 (13) 7测试过程管理 (13) 7.1测试文档 (13) 7.1.1测试文档管理 (13) 7.2缺陷处理过程 (14) 7.3测试报告 (14)

1文档说明 1.1文档信息 文档基本信息参看表1-1文档信息表。 表1-1文档信息表 1.2文档控制 1.2.1变更记录 文档变更记录在表1-2中详细记录。

1.2.2审阅记录 表1-3中详细记录了审阅记录。

测试流程规范文档

软件测试流程规范 测试人员要站在用户的角度来思考,这个产品是不是用户需要的。 一、软件发布流程流程: (1)、产品需求分析:根据客户或者用户提出的功能需求,对产品功能逻辑进行需求的分析,了解客户需要一个什么产品。 (2)、设计测试用例:根据客户的需求,进行功能流程设计,主要包括正确的逻辑和错误的逻辑,同时需要设计一些特殊内容输入,如特殊字符、空格以及不同的环境。 (3)、测试用例评审:将设计好的测试用例与领导开发同事一起进行评审,检查是否有遗漏的地方。 (4)、执行测试用例:开发人员在功能开发完毕后完成在开发环境的测试后,提交到测试环境,测试人员开始执行测试用例。 (5)、跟进测试问题:开发修复问题后,对BUG进行修复后的测试跟进工作,在产品上线前需要将版本的BUG进行一次修复确认测试。(6)、提交测试报告:完成一个迭代版本的测试之后,需要提交次版本的质量情况。 二、软件测试类型: (1)、单元测试:对软件中最小的可测试单元进行检查和验证,这个一般开发人员自己就做了。

(2)、集成测试:是确保各单元组合在一起后能够按既定意图协作运行,并确保增量的行为正确。这里测试人员可以根据设计的测试用例来执行功能测试。 (3)、系统测试:简单的说就是对整个软件进行测试,执行整个系统的全部测试用例。(但是系统测试还包括恢复测试、安全测试、压力测试) (4)、验证测试:通俗的可以理解为是对软件系统的检查,软件是否满足功能需求,这个可以根据需求文档来进行,验证测试也可以理解为客户的验收测试。 三、测试用例的编写规范 (1)、测试用例包括以下内容:用例编号、测试项目、功能模块测试小标题、操作步骤、问题详细描述、PASS&FAIL、优先级、研发确认、测试者&时间、验收结果、备注。 (2)、测试用例表格文件命名规则:项目名称+版本号+更新日期(年月日),如果有自己习惯的方式可以不按照这样命名。 (3)、BUG跟进表包括以下内容:编号、BUG小标题、开发者、优先级、创建时间、是否完成、完成时间、类型、状态。 (4)、测试结果数据:主要记录用例的执行情况和BUG的修复情况。详细信息见下图:

软件测试流程及规范V1.1

二、各阶段具体流程 1.需求分析阶段 1.1步骤说明 1、需求定义基本完成,SRS编写完成。 2、开评审会,由需求调研人员、开发组、设计组、测试组等人员对需求中不清楚、不完整、存在疑义的地方提出问题,相关人员解答并确认。 3、当评审未通过,直接打回,重新修改SRS,问题解决后,重新提交评审。 4、当评审通过后,依据SRS,项目整体计划,设计、编写《测试计划》和《测试设计》,具体模板见附件。 5、开评审会,由开发组、设计组、测试组等人员对计划和设计中不清楚、不完整、存在疑义的地方提出问题。 6、当审批未通过,直接打回,优化测试计划、测试设计,问题解决后,重新提交评审。 7、审核通过后,进入下一阶段。

1.2测试通过打回标准 1.3、阶段的输出 输入:最新SRS、项目计划 输出:测试计划、测试设计 2、单元及集成测试流程 2.1步骤说明: 1、理解需求和设计 理解设计是很重要的,特别是要搞清楚被测试模块在整个软件中所处的位置,这对测试的内容将会有很大的影响。需要记住的一个原则就是:好的设计,各模块只负责完成自己的事情,层次与分工是很明确的。在单元测试的时候,可以不用测试不属于被测试模块所负责的功能,以减少测试用例的冗余,集成测试的时候会有机会测试到的。 所以,单元测试主要是关注本单元的内部逻辑,而不用关注整个业务的逻辑,因为会有

别的模块去完成相关的功能。 2、概览源代码 浏览一下源代码,主要任务: 1)初步检查源代码的编码风格与规范。 2)大致估算测试工作量,比如:需要多少的测试用例、需要写多少的驱动模块和装模块等。 3)确定模块的复杂程度,初步制定测试的优先级等。 3、精读源代码 认真阅读和分析代码,主要任务: 1)理解代码的业务逻辑。 2)检查代码与设计是否相符,如果详细设计没有该模块的流程图的话,先去画出流程图。 3)仔细研究逻辑复杂的模块。 4)可以采用一些检查列表来检查程序可能会出现的问题。 4、设计测试用例 综合运用白盒测试方法(和结合黑盒测试方法)来设计测试用例,包括功能测试、性能测试等,要达到一定的测试覆盖率。在设计测试用例的过程中,流程图或控制流图是分析的好帮手。 5、搭建单元测试环境 使用工具或自己写的框架将有助于单元测试的实施。在这个阶段主要就是写桩模块和驱动模块,第4步所设计的测试用例是通过驱动模块传递给被测试模块的,然后驱动模块想办法获取被测试模块对数据的处理结果,并判定返回的实际结果与测试用例的预期结果是否一致,通过测试框架来记录执行的结果,对于出现的错误,还需要统计错误的信息,供执行完之后分析。 6、执行测试 运行写好的驱动模块完成对被测试模块的测试。 7、补充和完善测试用例 单元测试也是个循序渐进的过程,可能一开始考虑的不够全面,或预期的覆盖标准太低,需要在测试过程中不断补充测试用例,直到满足要求为止。 8、分析结果,给出评价

软件测试完成标准

软件测试完成标准 目录 1.简介 (2) 1.1目的 (2) 1.2范围 (2) 1.3文档结构 (2) 1.4词汇表 (2) 2.软件测试完成标准 (3) 2.1软件测试暂停、完成标准 (3) 2.2单元测试停止标准 (3) 2.3集成测试停止标准 (3) 2.4确认测试停止标准 (3) 2.5系统测试停止标准 (4) 2.6安装测试停止标准 (4) 2.8验收测试停止标准 (4) 2.9缺陷修复率标准 (5) 2.10覆盖率标准 (5) 2.11缺陷等级分类 (5)

1.简介 1.1目的 本文档的目的是为软件单元测试、集成测试、确认测试、系统测试、安装测试、验收测试提供停止标准。 1.2范围 本文档适用于虹信软件股份有限公司所有项目及产品的测试活动。 1.3文档结构 第一部分: 简介,介绍软件停止标准的目的,本标准的适用范围,以及在本文档中使用的词汇的解释。 第二部分: 描述软件单元测试、集成测试、确认测试、系统测试、安装测试、验收测试停止标准。 第三部分: 列出本标准使用的参考文献。 第四部分: 附录 1.4词汇表 缺陷(Defect):缺陷是对软件产品预期属性的偏离现象。 覆盖率(Coverage rate):语句覆盖率、测试用例执行覆盖率,测试需求覆盖率等的总称。

2. 软件测试完成标准 2.1 软件测试暂停、完成标准 1)软件系统在进行单元、集成、确认、系统、安装、验收测试时,发现紧急错误 大于等于严重级别错误暂停测试返回开发。 2)软件系统经过单元、集成、确认、系统、安装、验收测试,分别达到单元、集 成、确认、系统、安装、验收测试停止标准。 3)软件系统通过验收测试,并已得出验收测试结论。 4)软件项目需暂停以进行调整时,测试应随之暂停,并备份暂停点数据。 5)软件项目在其开发生命周期内出现重大估算,进度偏差,需暂停或终止时,测 试应随之暂停或终止,并备份暂停或终止点数据。 2.2 单元测试完成标准 1)按照单元测试计划完成了所有规定单元的测试 2)达到了测试计划中关于单元测试所规定的覆盖率的要求 3)软件单元功能与设计一致 4)在单元测试中发现的错误已经得到修改,各级缺陷修复率达到标准 2.3 集成测试完成标准 1)按照集成构件计划及增量集成策略完成了整个系统的集成测试 2)达到了测试计划中关于集成测试所规定的覆盖率的要求 3)被测试的集成工作版本每千行代码必须发现至少2个错误(不含优化级别错误) 4)集成工作版本满足设计定义的各项功能、性能要求 5)在集成测试中发现的错误已经得到修改,各级缺陷修复率达到标准 2.4 功能测试完成标准 1)功能测试用例设计已经通过评审 2)按照功能测试计划完成了功能测试 3)达到了功能测试计划中关于功能测试所规定的覆盖率的要求 4)系统达到详细设计定义的各项功能,性能

计算机软件测试文件编制规范模板

计算机软件测试文件编制规范模板 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)测试用例说明:列出用于输入的具体值以及预期的输出结果,并规定在使用具体测试用例时,对测试规程的各种限制。将测试用例与测试设计分开,可以使它们用于多个设计并能在其它情形下重复使用。

软件系统测试规范

上海兴汉科技公司软件测试规范

目录

一.概述 本规范是对项目软件测试的一份指导性文件,对软件测试过程中所涉及到的测试理论、测试类型、测试方法、测试标准、测试流程以及软件产品开发单位所承担的职责进行总体规范,以有效保证软件产品的质量。

1.什么是软件测试 无论怎样强调软件测试的重要性和它对软件可靠性的影响都不过分。在开发大型软件系统的漫长过程中,面对着极其错综复杂的问题,人的主观认识不可能完全符合客观现实,与工程密切相关的各类人员之间的通信和配合也不可能完美无缺,因此,在软件生命周期的每个阶段都不可避免地会产生差错。我们力求在每个阶段结束之前通过严格的技术审查,尽可能早地发现并纠正差错;但是,经验表明审查并不能发现所有差错,此外在编码过程中还不可避免地会引入新的错误。如果在软件投入生产性运行之前,没有发现并纠正软件中的大部分差错,则这些差错迟早会在生产过程中暴露出来,那时不仅改正这些错误的代价更高,而且往往会造成很恶劣的后果。测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件中的错误。目前软件测试仍然是保证软件质量的关键步骤,它是对软件规格说明、设计和编码的最后复审。软件测试在软件生命周期中横跨两个阶段。通常在编写出每个模块之后就对它做必要的测试(称为单元测试),模块的编写者和测试者是同一个人,编码和单元测试属于软件生命周期的同一个阶段。在这个阶段结束之后,对软件系统还应该进行各种综合测试,这是软件生命周期中的另一个独立的阶段,通常由专门的测试人员承担这项工作。大量统计资料表明,软件测试的工作量往往占软件开发总工作量的40%以上,在极端情况,测试那种关系人的生命安全的软件所花费的成本,可能相当于软件工程其他开发步骤总成本的三倍到五倍。因此,必须高度重视软件测试工作,绝不要以为写出程序之后软件开发工作就接近完成了,实际上,大约还有同样多的开发工作量需要完成。仅就测试而言,它的目标是发现软件中的错误,但是,发现错误并不是我们的最终日的。软件工程的根本目标是开发出高质量的完全符合用户需要的软件。 2.软件测试的目标 下面这些规则也可以看作是测试的目标或定义: (1)测试是为了发现程序中的错误而执行程序的过程; (2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案; (3)成功的测试是发现了至今为止尚未发现的错误的测试。 从上述规则可以看出,测试的正确定义是“为了发现程序中的错误而执行程序的过程”。这和某些人通常想象的“测试是为了表明程序是正确的”,“成功的测试是没有发现错误的测试”等等是完全相反的。正确认识测试的目标是十分重要的,测试目标决定了测试方案的设计。如果为了表明程序是正确的而进行测试,就会设计一些不易暴露错误的测试方案;相反,如果测试是为了发现程序中的错误,就会力求设计出最能暴露错误的测试方案。 由于测试的目标是暴露程序中的错误,从心理学角度看,由程序的编写者自己进行测试是不恰当的。因此,在综合测试阶段通常由其他人员组成测试小组来完成测试工作。此外,应该认识到测试决不能证明程序是正确的。即使经过了最严格的测试之后,仍然可能还有没被发现的错误潜藏在程序中。测试只能查找出程序中的错误,不能证明程序中没有错误。

软件测试规程

受控状态(章):受控号: ******************有限公司 软件测试规程 文件编号: &&&&&&&/TE82402-2013 文件版本: ******************有限公司对本文件资料享受着作权及其他专属权利,未经书面许可,不得将该等文件资料(其全部或任何部分)披露予任何第三方,或进行修改后使用。

修订履历

1. 目的 软件测试是软件工程的重要组成部分,测试工作的质量直接影响软件产品的生命力。测试工作的标准化是软件质量保证重要而且必须的环节。制定本标准的目的在于使测试流程更标准,测试过程更规范。从而使整个软件产生纳入更系统化、更专业化的轨道。 2. 范围 本标准适用于软件测试流程的管理和测试的具体操作过程。本标准的使用者可以是企业内部的测试人员和开发人员。 3. 职责 测试负责人:根据测试任务优先级制定测试计划。根据测试计划负责监控软件测试过程,及时调整测试策略和方法,进行测试任务安排。 测试人员:配置测试环境及准备测试数据,参与《测试分析报告》的编写,评价软件功能的性能及正确性,确保所负责模块的测试质量。 4. 术语定义 软件测试 软件测试是指通过一定的制度、方法、技术、流程和工具对软件测试对象进

行检查、验证和分析,根本目的是验证和确认软件测试对象与需求的一致性,最终保证软件系统的质量。 测试执行 在测试环境中按照测试用例完成测试,主要工作包括执行测试用 例;记录、分析、解决测试过程中发现的错误,并执行回归测试;评估测试结果,提交测试总结报告。 测试环境 是指满足软件系统测试要求的硬件、网络和系统软件环境,包括主 机、存储、网络、外围设备、操作系统软件、数据库、中间件、系统配置参数和测试用业务数据等。 5. 测试规程 软件测试流程 软件测试流程图 软件测试流程细则 需求阶段: 测试人员了解项目需求收集结果包括项目需求规格说明、功能结构及模块划分等。 测试人员了解项目需求变更。 测试人员会同项目主管根据软件需求制定并确认《测试计划》(附录五)。 设计编码阶段: 各项目部对完成的功能模块进行单元测试,测试人员参与单元测试过程;单元测试完成,产生单元测试报告。 所有单元测试及相应的修改完成后,各项目部组织进行集成测试,测试人员参与集成测试过程;集成测试完成后,产生集成测试报告。 测试阶段: 各项目部完成集成测试后,提交测试所要求的待测软件及各种文档、手册。 测试组安排和协调测试设备、环境等准备工作。 测试组按测试计划、测试大纲的要求对待测软件进行有效性测试、集成测试。 填写《程序错误报告》。

相关文档
最新文档