一种基于覆盖力度增量的组合测试用例优先级排序方法技术

技术编号:18710816 阅读:21 留言:0更新日期:2018-08-21 22:40
本发明专利技术公开了一种基于覆盖力度增量的组合测试用例优先级排序方法,其特征是,包括如下步骤:1)初始化数据;2)确定测试用例序列集的首个测试用例;3)确定测试序列集中的后续测试用例序列。本发明专利技术所达到的有益效果:1)针对组合覆盖强度由低到高的顺序,通过高性能的组合设计方法生成规模较小的固定力度N维组合测试用例集,避免了迭代生成高维组合测试用例时可能导致测试用例集规模膨胀的缺陷;2)每一个阶段都是用了数量尽可能少的测试用例,从而减少了测试成本;3)在每个测试阶段中按照每条测试用例覆盖量的大小及对更高维度的组合覆盖能力,使得被覆盖的因素取值组合都尽可能早、尽可能快地被覆盖了,进一步提高了错误检测效率。

A priority test method for composite test cases based on coverage strength increment

The invention discloses a combined test case prioritization method based on coverage increment, which is characterized by the following steps: 1) initializing data; 2) determining the first test case of the test case sequence set; 3) determining the subsequent test case sequence in the test case sequence set. The invention has the following beneficial effects: 1) For the order of combination coverage strength from low to high, a small scale N-dimension combination test case set with fixed force is generated by high-performance combination design method, avoiding the defect that the scale of test case set may expand when iteratively generating high-dimension combination test cases; 2) each stage; It uses as few test cases as possible to reduce the test cost; 3) In each test phase, according to the size of each test case coverage and the combination coverage ability of higher dimensions, the combination of factors covered is covered as early as possible and as soon as possible, further improving the error detection. Measure efficiency.

【技术实现步骤摘要】
一种基于覆盖力度增量的组合测试用例优先级排序方法
本专利技术涉及一种基于覆盖力度增量的组合测试用例优先级排序方法,属于组合测试

技术介绍
随着计算机应用领域的不断发展,软件产品也随之增加,软件的质量也变得越来越重要。软件测试作为保障和提高软件质量的重要手段,根据待测系统生成测试用例,通过已经生成的测试用例运行待测系统,并发现故障。软件测试的目的是尽快、尽早地发现软件产品中存在的各种缺陷和问题,而测试用例集合的规模和检错能力直接决定软件测试的有效性。因此,使用规模尽可能小并且错误检错率尽可能高的测试用例集是软件测试的关键。组合测试能够在保证错误检错能力的前提下,采用较少的测试用例检测软件中各个因素间交互而引发的软件故障。在传统的组合测试中,需要运行所有的组合测试用例集中的测试用例,从而保证测试过程中满足给定的组合覆盖标准。但在实际应用中,考虑到测试资源及成本的限制,有些情况下无法运行所有的测试用例。为了在测试资源即成本受限的情况下提高测试效率,测试用例优先级技术考虑了不同条件下测试用例的重要程度,赋予每个测试用例一个优先级,然后按照优先级由高到低依次选择执行测试用例,使得高优先级的测试用例被尽早执行。目前人们对于组合测试用例优先级技术的研究主要分为两个方面:一方面,组合测试用例优先级生成技术,即在生成测试用例集时考虑测试用例优先级。另一方面,回归测试时可以用组合测试用例优先级复用技术,即对已有测试用例集中所含测试用例的执行顺序进行重新排序,并在测试复用时采用该执行顺序。
技术实现思路
为解决现有技术的不足,本专利技术的目的在于提供一种基于覆盖力度增量的组合测试用例优先级排序方法,解决了先前的增量式自适应组合测试方法中生成测试用例集规模往往偏大的缺陷。为了实现上述目标,本专利技术采用如下的技术方案:一种基于覆盖力度增量的组合测试用例优先级排序方法,其特征是,包括如下步骤:1)确定本次组合测试中的最大组合覆盖组合力度值N,初始化数据,包括固定力度N维组合测试用例集和输入的因素集合;2)确定测试用例序列集的首个测试用例;3)确定测试序列集中的后续测试用例序列:将首个测试用例插入测试用例序列集中,更新二元因素取值组合的集合;重复以上操作,直到二元因素取值组合均被覆盖;针对所有尚未被已经选择的测试用例所覆盖的三元因素取值组合,使用同样的方法按照以上优先级顺序对测试用例进行排序,直到所有三元组合都被覆盖;依此类推,直到所有N元因素取值组合都被所有的测试用例覆盖;最后可以得到一个组合测试用例集的一个测试用例执行序列。前述的一种基于覆盖力度增量的组合测试用例优先级排序方法,其特征是,所述步骤1)的具体内容为:步骤1-1)利用高性能的组合设计方法生成规模较小的固定力度N维组合测试用例集;步骤1-2)设置本次组合测试中的最大组合覆盖力度为步骤1-1)中的N;步骤1-3)输入本次组合测试中的因素集合F;步骤1-4)结合步骤1-3)中的因素集合,生成N维元素取值组合的集合,进行下一步确定测试用例序列集的首个测试用例工作。前述的一种基于覆盖力度增量的组合测试用例优先级排序方法,其特征是,所述步骤2)的具体内容为:步骤2-1)从组合测试用例集中随机选择一条测试用例;步骤2-2)将步骤2-1中的测试用例插入测试用例序列集中,进行下一步确定测试序列集中的后续测试用例序列工作。前述的一种基于覆盖力度增量的组合测试用例优先级排序方法,其特征是,所述步骤3)的具体内容为:步骤3-1)更新i元因素取值组合的集合,i的取值从2开始,最大为N,删除被已经选择的测试用例覆盖的i元因素取值组合集合中的组合;步骤3-2)判断步骤3-1)中更新后的i元因素取值组合的集合是否为空:判断为是,i加1,跳转到步骤3-3);判断为否,跳转到步骤3-4),进行统计组合覆盖量的工作;步骤3-3)判断i是否大于等于N+1:判断为是,获得组合测试用例集的测试用例序列,停止循环;判断为否,跳转到步骤3-4),进行统计组合覆盖量的工作;步骤3-4)统计组合测试用例集中尚未被选择的每条测试用例覆盖i元因素取值组合的数量;步骤3-5)根据步骤3-4)的统计结果,判断组合测试用例集中覆盖i元因素取值组合数量最多的测试用例的数量是否大于1条:判断为是,跳转到步骤3-6),进一步选择合适的测试用例;判断为否,即测试用例的数量只有一条,则跳转到步骤3-9);步骤3-6)判断测试用例中是否具有更高覆盖能力的测试用例:判断为是,跳转到步骤3-7),进一步选择合适的测试用例;判断为否,跳转到步骤3-8),随机选择一条测试用例;步骤3-7)判断步骤3-6)中的测试用例的数量是否不止一条:判断为是,跳转到步骤3-8),随机选择一条测试用例;判断为否,跳转到步骤3-9),确定测试用例序列;步骤3-8)从多个测试用例中随机选择一条测试用例;步骤3-9)将测试用例插入到测试序列集的尾部;步骤3-10)重复步骤3-1)到步骤3-9),直到所有N元因素取值组合都被覆盖为止。本专利技术所达到的有益效果:1)本专利技术针对组合覆盖强度由低到高的顺序,通过高性能的组合设计方法生成规模较小的固定力度N维组合测试用例集,避免了迭代生成高维组合测试用例时可能导致测试用例集规模膨胀的缺陷;2)本专利技术在基于覆盖力度增量组合测试过程中的每一个阶段都是用了数量尽可能少的测试用例,从而减少了测试成本;3)本专利技术在每个测试阶段中按照每条测试用例覆盖量的大小及对更高维度的组合覆盖能力,使得被覆盖的因素取值组合都尽可能早、尽可能快地被覆盖了,进一步提高了错误检测效率。附图说明图1为本专利技术初始化数据的方法流程图;图2为本专利技术确定测试用例序列集的首个测试用例的方法流程图;图3为本专利技术确定测试序列集中的后续测试用例序列的方法流程图。具体实施方式下面结合附图对本专利技术作进一步描述。以下实施例仅用于更加清楚地说明本专利技术的技术方案,而不能以此来限制本专利技术的保护范围。本专利技术提供了一种基于覆盖力度增量的组合测试用例优先级排序方法。该方法利用高性能的组合设计算法,生成了一个规模较小的,不含冗余测试用例的固定力度N维组合测试用例集,其中冗余测试用例指删除该测试用例后,测试用例集的覆盖能力不受影响。按照基于覆盖力度增量的组合测试的思想,将整个组合测试用例集中的测试用例按照N-1个测试阶段分别进行优先级排序。首先针对二元因素取值组合,进行组合测试用例集中的部分测试用例进行优先级排序,直到所有二元因素取值组合都被覆盖;然后再针对所有尚未被已经选择测试用例所覆盖的三元因素取值组合,使用同样的方法对部分测试用例进行优先级排序,直到所有三元因素取值组合都被覆盖。依次类推,直到所有N元因素取值组合都被所有测试用例覆盖,最后可以得到一个组合测试用例集的测试用例执行序列。使用这种高性能的组合设计方法生成的规模较小的测试用例集,避免了导致测试用例集规模膨胀的缺陷。在每个测试阶段采用数量较少的测试用例,并且按照测试用例覆盖能力的大小以及参考对更高维组合覆盖的能力,这样不仅减少了测试成本,而且还进一步提高了错误检测效率。其步骤为包括:步骤1:初始化数据,如图1所示,具体的技术方案如下:步骤1-1:利用高性能的组合设计方法生成规模较小的固定力度N维组合测试用例集;步骤1-2:设置本文档来自技高网...

【技术保护点】
1.一种基于覆盖力度增量的组合测试用例优先级排序方法,其特征是,包括如下步骤:1)确定本次组合测试中的最大组合覆盖组合力度值N,初始化数据,包括固定力度N维组合测试用例集和输入的因素集合;2)确定测试用例序列集的首个测试用例;3)确定测试序列集中的后续测试用例序列:将首个测试用例插入测试用例序列集中,更新二元因素取值组合的集合;重复以上操作,直到二元因素取值组合均被覆盖;针对所有尚未被已经选择的测试用例所覆盖的三元因素取值组合,使用同样的方法按照以上优先级顺序对测试用例进行排序,直到所有三元组合都被覆盖;依此类推,直到所有N元因素取值组合都被所有的测试用例覆盖;最后可以得到一个组合测试用例集的一个测试用例执行序列。

【技术特征摘要】
1.一种基于覆盖力度增量的组合测试用例优先级排序方法,其特征是,包括如下步骤:1)确定本次组合测试中的最大组合覆盖组合力度值N,初始化数据,包括固定力度N维组合测试用例集和输入的因素集合;2)确定测试用例序列集的首个测试用例;3)确定测试序列集中的后续测试用例序列:将首个测试用例插入测试用例序列集中,更新二元因素取值组合的集合;重复以上操作,直到二元因素取值组合均被覆盖;针对所有尚未被已经选择的测试用例所覆盖的三元因素取值组合,使用同样的方法按照以上优先级顺序对测试用例进行排序,直到所有三元组合都被覆盖;依此类推,直到所有N元因素取值组合都被所有的测试用例覆盖;最后可以得到一个组合测试用例集的一个测试用例执行序列。2.根据权利要求1所述的一种基于覆盖力度增量的组合测试用例优先级排序方法,其特征是,所述步骤1)的具体内容为:步骤1-1)利用高性能的组合设计方法生成规模较小的固定力度N维组合测试用例集;步骤1-2)设置本次组合测试中的最大组合覆盖力度为步骤1-1)中的N;步骤1-3)输入本次组合测试中的因素集合F;步骤1-4)结合步骤1-3)中的因素集合,生成N维元素取值组合的集合,进行下一步确定测试用例序列集的首个测试用例工作。3.根据权利要求2所述的一种基于覆盖力度增量的组合测试用例优先级排序方法,其特征是,所述步骤2)的具体内容为:步骤2-1)从组合测试用例集中随机选择一条测试用例;步骤2-2)将步骤2-1中的测试用例插入测试用例序列集中,进行下一步确定测试序列集中的后续测试用例序列工作。4.根据权利要求3所述的一种基...

【专利技术属性】
技术研发人员:王子元佘飞燕
申请(专利权)人:南京邮电大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1