软件测试方案

巡山小妖精
894次浏览
2021年02月21日 08:41
最佳经验
本文由作者推荐

-

2021年2月21日发(作者:不过洋节)















***


技技术有限公司



软件测试管理规定








文件编号:




密级:




总页数




生效日期:




版次:第







正文



审核:





受控编号:




修改状态



附件



批准:





编制或修订人:













(版权所有,翻版必究)







目录



第一章



引言



.


.. .................................................. .................................................. .................................................. .


5



第一条



测试概述


....................... .................................................. .................................................. ............


5



第二条



测试目标


....................... .................................................. .................................................. ............


6



第三条



适用范围


....................... .................................................. .................................................. ............


6



第二章



测试职责

................................................ .................................................. ...............................................


7



第三章



需求分析


........................ .................................................. .................................................. .....................


7



第四章



测试策略

................................................ .................................................. ...............................................


8



第四章



测试计划


........................ .................................................. .................................................. .....................


9



第五章



测试用例

................................................ .................................................. .............................................


1


0


第一条



测试用例设计方法



.


.............................................. .................................................. ..................


1


0


第二条



测试用例操作步骤



.


.............................................. .................................................. ..................


1


3


第三条



测试用例选择准则



.


.............................................. .................................................. ..................


1


3


第四条



测试软


/


硬件环境


..................... .................................................. ..............................................


1


3


第五条



测试数据准备



.......... .................................................. .................................................. ..............


1


3


第六条



测试执行过程绩效考核



.

< p>
............................................ .................................................. ...........


1


3


第六章



测试执行

................................................ .................................................. .............................................


1


6


第一条



项目测试周期



.......... .................................................. .................................................. ..............


1


6


第二条



项目测试启动



.......... .................................................. .................................................. ..............


1


6


第三条



项目测试阶段



.......... .................................................. .................................................. ..............


1


7


第四条



项目测试结束



.......... .................................................. .................................................. ..............


1


7


第五条



测试执行过程绩效考核



.

< p>
............................................ .................................................. ...........


1


7


第七章



测试变更

................................................ .................................................. .............................................


1


8


第八章



缺陷管理


........................ .................................................. .................................................. ...................


1


8








第一节



缺陷基本属性



.......... .................................................. .................................................. ..............


1


8


第二节



缺陷管理流程



.......... .................................................. .................................................. ..............


1


9


第三节



缺陷分类


....................... .................................................. .................................................. ..........


2


0


第四节



缺陷定义


....................... .................................................. .................................................. ..........


2


2


第五节



缺陷完成度



.


................................................. .................................................. .............................


2


4


第六节



处理机制


....................... .................................................. .................................................. ..........


2


4


第九章



测试结果分析


..................... .................................................. .................................................. ............


2


5


第一节



测试完成的标准


.................... .................................................. .................................................


2


5


第二节



允许保留的缺陷


.................... .................................................. .................................................


2


6


第十章



测试输出文档


..................... .................................................. .................................................. ............


2


6












































第一章



引言





第一条



测试概述



无论怎样强调软件测试的重 要性和它对软件可靠性的影响都不过分。在开发大型软件


系统的漫长过程中,面对着极其 错综复杂的问题,人的主观认识不可能完全符合客观现实,


与工程密切相关的各类人员之 间的通信和配合也不可能完美无缺,


因此,


在软件生命周期的< /p>


每个阶段都不可避免地会产生差错。


我们力求在每个阶段结束之前 通过严格的技术审查,



可能早地发现并纠正差错;

< p>


经验表明审查并不能发现所有差错,


此外在编码 过程中还不可避免地会引入新的错误。


如果在软件投入生产性运行之前,


没有发现并纠正软件中的大部分差错,


则这些差错迟早会


在生产过程中暴露出来,


那时不仅改正这些错误的代价更高,


而且往往会造成很恶劣的后果。


测试的目的就是在软件投入生产性运行之前,尽可能多地 发现软件中的错误。



目前软件测试仍然是保证软件质量的关键 步骤,它是对软件规格说明、设计和编码的


最后复审。


软件测试 在软件生命周期中横跨两个阶段。


通常在编写出每个模块之后就对它做

< br>必要的测试


(


称为单元测试


)< /p>


,模块的编写者和测试者是同一个人,编码和单元测试属于软件


生 命周期的同一个阶段。


在这个阶段结束之后,


对软件系统还应该 进行各种综合测试,


这是








软件生命周期中的另一个独立的阶段,通常由专门的测试人员承担这项工作。



大量统计资料表明,软件测试的工作量往往占软件开发总工作量的

< p>
40


%以上,在极端


情况,


测试那种关系人的生命安全的软件所花费的成本,


可能相当于软件工程其他开发步骤< /p>


总成本的三倍到五倍。


因此,


必须高度重 视软件测试工作,


绝不要以为写出程序之后软件开


发工作就接近 完成了,实际上,


大约还有同样多的开发工作量需要完成。仅就测试而言,它

< p>
的目标是发现软件中的错误,


但是,


发现错误并不 是我们的最终日的。


软件工程的根本目标


是开发出高质量的完全 符合用户需要的软件。



第二条



测试目标



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







(1)


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

< p>






(2)


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







(3)


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



从上述规则可以看出,


测试的正确定义是


“为 了发现程序中的错误而执行程序的过程”



这和某些人通常想象 的


“测试是为了表明程序是正确的”



“成功的测试是没有发现错误的测


试”


等等是完全相反的。


正确认识测试的目标是十分重要的,


测试目标决定了测试方案的设< /p>


计。


如果为了表明程序是正确的而进行测试,

就会设计一些不易暴露错误的测试方案;


相反,


如果测试是 为了发现程序中的错误,就会力求设计出最能暴露错误的测试方案。


< br>由于测试的目标是暴露程序中的错误,从心理学角度看,由程序的编写者自己进行测


试是不恰当的。


因此,


在综合测试阶段通常由其他人员组成测 试小组来完成测试工作。


此外,


应该认识到测试决不能证明程序 是正确的。


即使经过了最严格的测试之后,


仍然可能还有没


被发现的错误潜藏在程序中。测试只能查找出程序中的错误,不能证明程序中没有错误。




第三条



适用范围




本规范是对项目软件测试的一份指导性文件,


对软件测试过程中所涉及到的测试理


论、测试类型、


测试方法、


测试标准、


测试流程以及软件产品开发单位所承担的职责进行总


体规范,以有效保 证软件产品的质量。











第二章



测试职责





测试职责是指在项目开发过程中跟测试工作有关的角色进行任务分配的,


主要包含的角


色以及工作职责如下:




测试组长


:由测试经理或项目经理指 定项目组成员其他人员担任,测试组长负责:











分析需求并进行细化可用于执行测试的需求



制定测试计划



参与、跟踪测试过程



对测试活动和结果进行分析,撰写测试分析报告




测试人员


:由项目组成员担任,负责:











根据测试计划编写测试用例



搭建测试环境,准备测试脚本



执行测试,记录测试结果和缺陷



执行回归测试




开发人员:


由项目组成员担任,负责:







单元测试



功能开发完毕之后,提交测试之前的确认测试



第三章



需求分析



首先了解前期的需求调研报 告、客户提出的业务需求功能点,以及本公司对需求的理


解及说明,其次参加需求评审、 设计评审。通过对文档分析,分解各功能模块,各功能点,


为测试用例设计提供数据依据 。



反复检查并理解各种信息,和用户交流,理解他们的要求。 可以按照以下步骤执行:





1


)确定软件提供的主要商业任务





2


)对每 个商业任务,确定完成该任务所要进行的交易。





3


)确定从数据库信息引出的计算结 果。






4


)对于对时间有要求的交易,确定所要的时间和条件。这些条 件包括数据库大小、机








器配置、交易量、以及网络拥挤情况。





5


)确定 会产生重大意外的压力测试,包括:内存、硬盘空间、高的交易率





6


)确定应用需要处理的数据量。






7


)确定需要的软件和硬件配置。通常情况下,不可能对所有可能的配置都测试到,因


此要选择最有可能产生问题的情况进行测试,


包括:

最低性能的硬件、


几个有兼容性问题的


软件并存、客户端机 器通过最慢的


LAN/WANF


连接访问服务器。





8

< br>)确定其他与应用软件没有直接关系的商业交易。包括:



管理功能,如启动和推出程序








配置功能,如设置打印机








操作员的爱好,如字体、颜色









应用功能,如访问


email


或者显示时间和日期。



< br>9


)确定安装过程,包括定置从哪安装、定制安装、升级安装。

< br>




10

)确定没有隐含在功能测试中的户界面要求。大多界面都在功能测试时被测试到。


还 有写没有测到,如:操作与显示的一致性,如使用快捷键等;界面遵从合理标准,如按钮


大小,标签等。




第四章



测试策略



测试策略用于说明某项工作 的测试方法与目标。系统测试策略主要针对系统测试需求


确定测试类型及实施的测试方法 与技术。测试策略一般包括下列内容:



要实施的测试类型与目标



确定系统测 试策略首先要清楚地所实施系统测试的类型和测试目标。系统测试类型一


般包括:



1.



2.



3.



4.





功能测试



性能测试



负载测试



强度测试







5.



6.



7.



8.



9.



10.



11.




安全性测试



配置测试



故障恢复测试




文档测试



用户界面测试



其中,


功能测试,配置测试,安装测试在一般情况下是必需的,其它类型的测试可根据


需求进行裁剪。



一、



采用的技术:系统测试主要采用黑盒测试技术来设计测试用例来确定软件是否满足需

< br>求规格说明中的要求。



二、



用于测试评估结果和测试是否完成的标准



三、



对测试策略所述的测试工作存在影响的特殊事项




第四章



测试计划



根据测试的种类,测试计划 分为功能测试和性能测试计划。测试计划旨在说明各测试


阶段任务、人员分配、时间安排 、测试要点、工作规范等。测试计划在策略和方法方面说明


如何计划、

< br>组织和管理测试项目。


测试计划包含足够的信息使测试人员明白项目需要做什么< /p>


是如何运作的。


测试计划不包括测试用例的细节和系统功能的详细 信息。


测试计划应附有测


试功能点矩阵、测试性能点矩阵。



测试计划应在项目组内进行评审。参与测试计划评审的人员包括: 项目经理、测试组


长、开发组长、测试组员。













第五章



测试用例



测试用例是为实施测试而向 被测试系统提供的输入数据、操作或各种环境设置以及期


望结果的一个特定的集合。解决 要测什么、怎么测和如何衡量的问题。



从测试结构上面划分分 为黑盒测试、和百盒测试


2


种,他们各自有不同的测试方式,< /p>


目前本公司只考虑黑盒测试,以下设计方法以黑盒方法为例



第一条



测试用例设计方法



黑盒测试用例设计 方法有等价类测试、边界值分析、基于因果图的测试、基于猜错的


测试、


基于场景的测试、


基于随机的测试。


其中常用的设计方 法有等价类测试、


边界值分析、


因果图三种方法,以下分别介绍 这几种方法:




等价类划分







等价类 划分是一种典型的黑盒测试方法。等价类是指某个输入域的集合。它表示


对揭露程序中的 错误来说,


集合中的每个输入条件是等效的。


因此我们只要在一 个集合中选


取一个测试数据即可。


等价类划分的办法是把程序的 输入域划分成若干等价类,


然后从每个


部分中选取少数代表性数 据当作测试用例。


这样就可使用少数测试用例检验程序在一大类情


况下的反映。







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



有效等价类:有效等价类指的是对程序的规范是有意义的、合理的输入数据所构成的

< p>
集合。在具体问题中,有效等价类可以是一个,也可以是多个。



无效等价类:无效等价类指对程序的规范是不合理的或无意义的输入数据所构成的集


合。对于具体的问题,无效等价类至少应有一个,也可能有多个。



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



如果输 入条件规定了取值范围或值的个数,则可确定一个有效等价类和两个无效等价


类。例如, 程序的规范中提到的输入条包括“……项数可以从


1



999……”,则可取有效


等价类为“l


考项数 <999”,无效等价类为“项数<


l



,及“项数>999”。



输入条件规定了输入值的集合,或 是规定了“必须如何”的条件,则可确定一个有效


等价类和一个无效等价类。

< p>
如某程序涉及标识符,


其输入条件规定


“标识符应 以字母开头……”


则“以字母开头者”作为有效等价类,


“以非 字母开头”作为无效等价类。



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








价类进一步划分成更小等价类。



输入条件








。< /p>










有效等价类

















无效等价类





















根据已列出的等价类表,按以下步骤确定测试用例:



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



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


使得 所有有效等价类均被测试用例所覆盖;



设计一个新的测试用例 ,使其只覆盖一个无效等价类。重复这一步,使所有无效等价


类均被覆盖。


这里强调每次只覆盖一个无效等价类。


这是因为一个测试用例中如果含有多个


缺陷,


有可能在测试中只发现其中的一个,另一些被忽视。等价 类划分法能够全面、系统地


考虑黑盒测试的测试用例设计问题,


但是没有注意选用一些“高效的”



“有针对性的”

< p>
测试


用例。后面介绍的边值分析法可以弥补这一缺点。



边值分析法







边值分析法是列出单元功能、输入、状态及控制的合法边界值和非法边界值,设


计测试用例,


包含全部边界值的方法。


典型地包括< /p>


IF


语句中的判别值,


定义域、


值域边界,


空或畸形输入,


末受控状态等。


边值分析法不是一类找一个例子的方法,


而是以边界情况的


处理作为主要目标专门设计测试用例的方法。


另外,

边值分析不仅考查输入的边值,


也要考


虑输出的边值。


这是从人们的经验得出的一种有效方法。


人们发现许多软件错误只是 在下标、


数据结构和标量值的边界值及其上、


下出现,


运行这个区域的测试用例发现错误的概率很高。



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


< p>
如果输入条件规定了取值范围,或是规定了值的个数,则应以该范围的边界内及刚刚


超出范围的边界外的值,


或是分别对最大、


最小及稍小 于最小、


稍大于最大个数作为测试用


例。如有规范“某文件可包 含


l



255”个记录……“,则测试 用例可选


1



255

< br>及


0



256

< br>等。



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


a




< br>如果程序规范中提到的输入或输出域是个有序的集合


(


如 顺序文件、


表格等


)


就应注意选


取有序集的第一个和最后一个元素作为测试用例。


< br>分析规范,


尽可能找出可能的边界条件。


一个典型的边值 分析例子是三角形分类程序。


选取


a



b



c


构成三 角形三边,“任意两边之和大于第三边”为边界条件。边值分析相等价








类划分侧重不同,对等价类划分是一个补充。如上述三角形问 题,选取


a



3



b



4



c



5



a



2



b



4



c



7


则覆盖有效和无效等 价类。如果能在等价类划分中注入边值分析的思想。


在每个等价类中不只选取一个覆盖用 例,


而是进而选取该等价类的边界值等价类划分法将更


有效,最 后可以用边值分析法再补充一些测试用例。




因果图



等价类划分法并没有考虑到输 入情况的各种组合。这样虽然各个输入条件单独可能出


错的情况已经看到了,

< p>
但多个输入情况组合起来可能出错的情况却被忽略。


采用因果图方法


能帮助我们按一定步骤选择一组高效的测试用例,


同时,


还能为我们指出程序规范的描述中


存在什么问题。



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


< p>
分析程序规范的描述中哪些是原因,哪些是结果。原因常常是输入条件或是输入条件


的等价类。结果是输出条件。



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


图”




由于语法或环境的限制,有些原因和结果的组合情况是不 可能出现的。为表明这些特


定的情况,


在因果图上使用持殊的符 号标明约束条件。


把因果图转换成判定表。


把判定表的


每一列写成一个测试用例。





猜错法



猜 错法在很大程度上是凭经验进行的,是凭人们对过去所作的测试工作结果的分析,


对所揭 示的缺陷的规律性作直觉的推测来发现缺陷的。



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



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



表的 项数恰好是


2


的幂次;



表的项数比


2


的幂次多


1< /p>


等。



猜错法充分发挥人的经验,在一个 测试小组中集思广益,方便实用,特别在软件测试


基础较差的情况下,很好地组织测试小 组



(


也可以有外来人员


)


进行错误猜测,是有效的测


试方法。




随机数法









即测试用例的参数是随机数。它可 以自动生成,因此自动化程度高。使用大量随机测


试用例测试通过的程序会提高用户对程 序的信心。


但其关键在于随机数的规律是否符合使用


实际。



第二条



测试用例操作步骤



1




在设计 编写测试用例时,


首先要从测试用例库中选择相应功能的测试用例,

在原有


测试用例的基础上依据系统需求文档对测试用例的进行修改、


更新,


评审通过后将


使用该测试用例测试被测系统。< /p>



2




在测试项目结束后,


统计分析所使用过的测试用例,

< br>进行分类放到相应的测试用例


库中。为以后测试用例的设计编写提供数据基础。< /p>



第三条



测试用例选择准则



测试用例的代表性 :能够代表各种合理和不合理的、合法的和非法的、边界和越界的


,

以及极限的输入数据、操作和环境设置等;



测试结果的可 判定性:即测试执行结果的正确性是可判定的或可评估的;



测 试结果的可再现性:即对同样的测试用例


,


系统的执行结果应当 是相同的。





第四条



测试软


/


硬件环境



根据需求文档提供的内 容,和开发部沟通确定测试项目所需的软硬件环境,完成对测


试项目所需软硬件资源的准 备工作,使软硬件资源得到满足。



完成对软硬件资源的配置后 ,要进行对测试项目的软硬件环境进行评审,确认对软硬


件资源配置的有效性。



第五条



测试数据准备



完成对测试项目基本数 据的准备操作,包括数据库连接、用户信息、用户角色权限、


单位组织等信息和测试相关 的测试数据。



第六条



测试执行过程绩效考核



为促进测试人 员积极主动做好测试执行工作,


对测试人员进行测试执行过程进行考核。



序号



测试准备内容



考核评分标准









1


2


3


4


5


6


7


测试组长工作安排



测试组长风险评估



测试人员设计用例



测试人员执行用例



开发组长配合度



开发人员回归次数



开发人员处理问题情况



待定



待定



待定



待定



待定



待定



待定



以上统计数据由项目经理提供给部长。





























































-


-


-


-


-


-


-


-