资源描述
软件测试规范
(编号:BAICHENG-04-025)
四川百诚信息技术有限公司
目 录
一.概述 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.软件测试流程图
参加需求分析,理解项目需求内容
理解需求变更
制定《测试筹划 》
编写《测试大纲》
编写《单元测试报告》
项目组进行修改
配合开发人员进行单元测试
N
编写《集成测试报告》
Y
项目组进行修改
配合开发人员进行集成测试
N
Y
收集待测软件各种有关文档及《需求分析》、《软件设计规范》和上一级《测试报告》
复合
N
项目组进行修改
对待测软件进行测试
Y
填写《错误报告》
编写《测试分析报告》
提交《测试分析报告》
所有文献存档
编写《顾客操作手册》(协助文献)
与顾客方协商测试有关事宜
向顾客方提供内部测试汇总报告
配合顾客方进行软件测试
顾客方签字确认错误报告
项目经理与顾客方测试进行确认
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)A<l,B=0 (7)A<>2,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或稳定(时间长短视状况而定)。
各类软件测试合格须符合如下原则。
A类错误
B类错误
C类错误
D类错误
E类建议
无
无
<1%
<5%
暂不作规定
以上比例为错误占总测试模块比例。
软件产品未经测试合格,不容许出公司。
附录一 单元测试报告
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 概述
1.1 编写目
编写本文档目在于
通过对测试成果分析得到对软件评价;
为纠正软件缺陷提供根据;
使顾客对系统运营建立信心。
1.2 参照资料
阐明软件测试所需资料(需求分析、设计规范等)。
1.3 术语和缩写词
阐明本次测试所涉及到专业术语和缩写词等。
2 测试对象
涉及测试项目、测试类型、测试批次(本测试类型第几次测试)、测试时间等。
3 测试分析
3.1 测试成果分析
列出测试成果分析记录,并按下列模板产生BUG分布表和BUG分布图。
分析模版:
从软件测试中发现并最后确认错误点级别数量来评估:
从以上提出BUG级别来记录级别和数量一种分布状况:(如下表)
A
B
C
D
E
BUG数量
2
17
3
0
1
所占比例
9%
74%
13%
0%
4%
3.2 对比分析
若非初次测试时,将本次测试成果与初次测试、前一次测试成果进行对比分析比较。
3.3 测试评估
通过对测试成果分析提出一种对软件能力全面分析,需标明遗留缺陷、局限性和软件约束限制等,并提出改进建议。
3.4 测试结论
依照测试原则及测试成果,鉴定软件能否通过测试。
测试主管: 年 月 日
展开阅读全文