[发明专利]一种基于查错率的测试用例选择方法有效
申请号: | 201510448023.3 | 申请日: | 2015-07-27 |
公开(公告)号: | CN105005531B | 公开(公告)日: | 2017-09-12 |
发明(设计)人: | 姜瑛;李翘婕;刘英莉;汪海涛;丁家满;李凌宇 | 申请(专利权)人: | 昆明理工大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 650093 云*** | 国省代码: | 云南;53 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 查错 测试 选择 方法 | ||
技术领域
本发明涉及一种基于查错率的测试用例选择方法,属于测试用例选择领域。
背景技术
测试用例是对软件运行过程中所有可能存在的目标、运动、行动、环境和结果的描述,是对客观世界的一种抽象。测试用例体现了一定的测试方案、方法、技术和策略。由于运行和维护这些测试用例以及回归测试将耗费大量的时间、人力和物力,所以测试用例数量越大,所需要花费的代价就越大。因此人们一直在研究如何设计出一组有效、数量少又能充分满足所有测试需求的测试用例集,从而在保证和提高软件测试质量的同时,降低软件测试的成本。
随着软件开发过程的不断迭代,测试用例集规模越来越大,导致存在大量冗余测试用例。冗余测试用例的执行、管理和高维护成本将浪费大量资源,但测试资源往往有限,因此需要进行测试用例选择,测试用例选择是过去20年面向演化软件测试的研究热点之一,其目的是使用尽可能少的测试用例,从而提高测试效率、降低测试成本。
根据不同的选择目标,测试用例选择分为3类:回归测试选择、测试用例集约简和测试用例优先排序。回归测试选择通过分析软件修改影响选择较小规模的测试用例集,以达到较好的性价比。测试用例集约简根据测试目标中的每个测试需求确定出相应的测试用例,然后采用贪心算法、一些启发式算法或整数规划等方法来进行精简,去掉一些冗余的测试用例。测试用例优先排序通过设定特定排序准则,对测试用例进行排序以优化其执行次序,旨在最大化排序目标。
本发明提出的策略根据查错率进行了测试用例选择,经过多次选择和判断,可以从现有的测试用例集中筛选出查错能力较强的测试用例。
发明内容
针对上述问题,本发明提供了一种基于查错率的测试用例选择方法,以用于选出查错率高的测试用例。
本发明的技术方案是:一种基于查错率的测试用例选择方法,所述方法的具体步骤如下:
Step1、将Sum个测试用例均分成n组,得到Gc[i](i=1,2,…,n);其中,Gp[i]、Gc[i]、Gn[i]分别为上一次选择的分组、本次选择的分组、下一次选择分组,i为分组号,每个分组的测试用例个数为Sum/n个,Fp[i]和Fc[i]分别表示上一次选择分组的查错率和本次选择分组的查错率,Fp[i]=0,Fc[i]=0,Gp[i]=null,Gn[i]=null;i=1,2,…,n;
Step2、设置i=1;
Step3、依次执行本次选择的每个分组,并分别计算每个分组的查错率;
Step4、将每个分组的查错率Fc[i]按照从大到小的顺序进行排序,同时将分组Gc[i]按照查错率从大到小的顺序进行排序;
Step5、判断Fp[1]是否小于Fc[1]:如果是,则执行步骤Step6,否则,选择上一次选择查错率最高的分组作为最终的选择结果;
Step6、将i重新置为1;
Step7、判断i是否小于n:如果是,则执行步骤Step8;否则,执行步骤Step11;
Step8、将Gc[i]和Gp[i]取交集,并将交集个数设为count;
Step9、判断Sum/n是否等于count:如果是,则执行步骤Step10;否则,执行步骤Step13;
Step10、将Gc[i]与Gp[i]的交集放入Gn[i]中,继续步骤Step14;
Step11、判断i是否等于n:如果是,则执行步骤Step12;否则,执行步骤Step15;
Step12、将剩下所有未被选择的测试用例放入Gn[i]中,继续步骤Step14;
Step13、判断count是否等于0:如果等于0,则从Gc[i]和Gc[i+1]中未被选择过的部分随机选取Sum/n个测试用例放入Gn[i]中,继续步骤Step14;否则,将Gc[i]和Gp[i]交集中的测试用例放入Gn[i]中,Gn[i]剩余部分测试用例从Gc[i+1]中选取,继续步骤Step14;
Step14、i加1,返回步骤Step7;
Step15、将Fc[i](i=1,2,…,n)中的值依次放入Fp[i](i=1,2,…,n),分组Gc[i](i=1,2,…,n)中的测试用例依次放入Gp[i](i=1,2,…,n),将Gn[i](i=1,2,…,n)中的测试用例依次放入Gc[i](i=1,2,…,n)中,返回步骤Step2。
所述查错率= error[i]/∑error[i](i=1,2,…,n);其中,error[i]为第i个分组发现的缺陷数。
其中,
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于昆明理工大学,未经昆明理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510448023.3/2.html,转载请声明来源钻瓜专利网。