浅析基于计数抽样理论的软件测试用例评审过程

2015-11-14 20:21刘梦飞
电脑知识与技术 2015年22期
关键词:测试用例软件测试

刘梦飞

摘要:对软件测试用例实施同行评审不仅保证了软件测试用例的质量,也在一定程度上保证了整个软件测试过程的质量水平。然而面对成百上千的测试用例,如何能够快速有效的完成同行评审是目前工作中面临的一个实际问题。本文基于GB-T 2828.2提出了一套针对软件测试用例同行评审的流程,通过将计数抽样理论应用于软件测试用例同行评审中,降低评审工作量,提高评审效率。

关键词:测试用例;软件测试;同行评审;计数抽样理论

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)22-0138-02

软件测试是软件生命周期中的重要阶段,测试的效果直接影响到软件产品的质量[1]。软件测试过程中会产生一系列测试文档,例如测试策划阶段产生的测试需求规格说明、测试计划文档,测试设计阶段产生的测试说明文档,测试执行阶段产生的测试记录、测试问题报告、测试报告等文档。其中,工作量最大、也最为重要的工作就是设计测试用例、编写测试说明文档。而对测试过程的质量控制通常是通过同行评审的方式实现,同行专家会对测试项、测试用例进行审查。在“检测和校准实验室能力认可准则在软件检测领域的应用说明(CNAS-CL45)”中要求:由熟悉软件检测过程以及软件测试的标准、规范、规程,软件质量评价和软件测试质量评价的人员,负责对软件测试人员测试工作实施质量监督,审核软件测试过程和形成的软件测试工作产品是否符合相应的标准、规范[2]。

然而,对于某些功能较多、性能精度等要求较高的软件,测试用例的数量可能有成百上千条,实际评审过程中对所有测试用例进行全数检验是不现实的,也是没有必要的。通常,针对测试用例的同行评审在执行过程中对于每种测试类型随机抽取至少20%的用例进行正确性、合理性的评价。但是很多文献通过理论证明,采用百分比抽样检验存在着“大批量严,小批量宽”的弊端[3],且国际中已普遍淘汰百分比抽样检验。

GB-T 2828.2是一个按极限质量LQ检索的计数验收抽样检验系统,适用于孤立批检验[4]。本文尝试将计数抽样理论应用到软件测试用例同行评审中,基于GB-T 2828.2和本组织实际情况提出了一套针对软件测试用例同行评审的流程。通过采用GB-T 2828.2计数抽样方法克服了传统百分比抽样法的不合理性,在降低抽样的样品数量的同时保证了通过评审的测试用例达到规定的“极限质量”,提高了测试用例同行评审的工作效率。

1 计数抽样的实施过程

GB-T 2828.2提供了两种检验模式,其中模式A适用于“当生产方和使用方都把批作为孤立检验”的情况,即要求硬件的检验批是按类型生产的一个批。本组织测试过程的实际情况是,对于某配置项软件测试项目,一般只任命一名测试人员为负责人,测试过程涉及到的所有文档均由该人员编写,且各测试用例之间无连续性,因此基本上可将全部用例视为一个检验批,并可参考模式A的抽样方案。

本文提出的计数抽样程序如图1所示。首先确定检验批量、再确定极限质量比,接着抽取检验样品并进行评审与判定。后文将对具体流程进行详细介绍。

2 批量N的确定

在计数抽样检验中定义“为判定质量而一次提交检验的一批产品为交验批,批中所含单位产品的数量称为交验批量N”。根据本组织的实际情况,由于某一软件配置项的全部测试用例均由同一测试人员编写完成,可基本视作生产条件相同、质量稳定,因此全部测试用例的数量即为批量N。

3 极限质量LQ的确定

极限质量是指对一个被认为处于孤立状态的批,为了抽样检验限制在某一个低接收概率时的质量水平,极限质量的规定方法与AQL相似,只不过极限质量是批不可容许的质量水平。在数值上,极限质量LQ表示为每百单位信息点钟的不合格百分数[5],理论上最小值是0%,最大值是100%,数值越高表示使用方对质量的要求越松。

对软件测试用例进行计数抽样检验,首先就需要定义一个合理的极限质量。在本组织实际工作中,项目等级通常根据重要程度被分为A、B、C三类,其中A类项目是最为重要的项目。因此,本文建议在一般情况下,可以根据项目的重要等级定义极限质量,对于重要等级较高的项目,可将其极限质量LQ定义在一个较低的数值,从而保证该项目全部测试用例的“整体水平”。例如 A类项目可将极限质量定义在0.5%,B、C类项目的极限质量值可高于A类项目。不同的组织可根据自身的实际情况自行定义极限质量LQ。值得注意的是,极限质量LQ必须在同行评审实施前定义,且一经定义,在对该批软件测试用例审核过程中不应改变。

4 抽取检验样品

根据组织定义的批量和极限质量可参照GB-T 2828.2 4.5章节的规定查找所使用的抽样方案,用指定的批量和极限质量作为检索值,可在GB-T 2828.2 4.2章节中检索出样本量(n)和接收数(Ac),其中n代表抽取的样品总数,Ac代表当作出批合格判定时样品中所允许的最大不合格数。

对于抽样方案的选择可视项目的类型、规模来确定。软件测试用例的同行评审一般是现场抽样审核,抽样方案大致可分为随机抽样与非随机抽样两种。其中随机抽样方法包括简单随机抽样、系统抽样、分层抽样、整群抽样、分阶段抽样等,非随机抽样包括偶遇抽样、判断抽样、雪球抽样等[6]。在实际应用中可根据软件测试用例的不同类型实施不同的抽样方案。关于抽样方式的可参考GB/T 10111等文献,本文不作论述。

5 样品评审与判定

对抽取出的测试用例按照组织的评审规范逐条进行同行评审,并统计出不合格数。不合格数指在同行评审过程中发现的问题个数。根据以往的项目经验,对软件测试用例的同行评审发现的问题通常分为致命、严重、一般、轻微四个等级,以上提及的问题个数主要指一般或轻微问题的个数。

当同行专家判定的不合格数小于等于接收数(Ac)时,将测试用例返回至相应测试人员修改,修改完成后,由专门核查人员确认问题闭环后通过。

当同行专家判定的不合格数大于接收数(Ac)时或发现了致命和严重的问题,则直接判定本批软件测试用例不通过,待测试人员修改后且核查人员确认已发现的问题闭环后进行复审。复审的基本流程与上文描述的一致,此处建议,复审抽取的样品应不包含初次抽样的样本,以保证抽样质量。

当检验批的软件测试用例通过同行评审后,同行专家可以不必审查其他的测试用例,这样,在保证项目全部软件测试用例整体水平的同时也极大降低了评审工作量。

6 总结

本文将GB-T 2828.2中定义的计数抽样理论尝试应用于软件测试用例同行评审,并提出了一套评审流程,希望通过本文的研究能够在保证评审质量的同时,降低评审工作量,提高工作效率。根据不同类型的测试用例制定不同的抽样方、以及根据实践情况改進评审流程都将是本文未来的研究方向。

参考文献:

[1] 肖丰佳 李立新. 软件测试技术研究[J]. 工业控制计算机, 2015,25(1).

[2] CNAS-CL45:2013检测和校准实验室能力认可准则在软件检测领域的应用说明[S]. 中国合格评定国家认可委员会.

[3] 梁国明. 再谈百分比抽样检验的不科学性[J].兵工标准化,2000(1).

[4] GB-T 2828.4-2008 计数抽样检验程序 第2部分: 按极限质量(LQ)检索的孤立批检验抽样方案[S]. 中华人民共和国国家标准.

[5] 汪亮. 综合布线工程验收测试抽样方案的新思路[J].布线全攻略, 2005(105).

[6] 苏玉明.管理体系审核的抽样方案讨论[J].水利技术监督,2005(4).

[7] GB/T 10111-2008 随机数的产生及其在产品质量抽样检验中的应用程序[S]. 中华人民共和国国家标准.

猜你喜欢
测试用例软件测试
基于SmartUnit的安全通信系统单元测试用例自动生成
基于OBE的软件测试课程教学改革探索
航天软件测试模型构建与应用
基于MBD模型自动生成测试用例的软件测试方法
EXCEL和VBA实现软件测试记录管理
基于混合遗传算法的回归测试用例集最小化研究
关于软件测试技术应用与发展趋势研究
基于需求模型的航天软件测试用例生成方法
基于依赖结构的测试用例优先级技术
智能电能表软件测试技术概述