基于组合测试的测试用例选定方法、装置、设备、介质制造方法及图纸

技术编号:35033372 阅读:60 留言:0更新日期:2022-09-24 23:08
本发明专利技术属于测试用例设计技术领域,具体提供一种基于组合测试的测试用例选定方法、装置、设备、介质,所述方法包括如下步骤:构建PICT工具的因素输入表;通过PICT工具获取i个因素组合测试的组合测试用例集;随机从组合测试用例集中随机抽取若干组测试用例执行测试;根据测试结果计算每组的缺陷发现率,并计算所有组的缺陷发现率的平均值;将计算的平均值与目标缺陷率进行比较;若平均值大于或等于目标缺陷率,选定i个因素的组合测试用例集;若平均值小于目标缺陷率,执行步骤:通过PICT工具获取i+1个因素组合测试的组合测试用例集。在达到目标覆盖率的同时,选择规模较小的子集。以提高测试效率。提高测试效率。提高测试效率。

【技术实现步骤摘要】
基于组合测试的测试用例选定方法、装置、设备、介质


[0001]本专利技术涉及测试用例设计
,具体涉及一种基于组合测试的测试用例选定方法、装置、设备、介质。

技术介绍

[0002]在软件测试中,对于特定的软件而言,我们不仅要考虑单个因素对软件运行产生的影响,也要考虑各个因素之间的交互对软件正常运行产生的影响。例如有些业务筛选类接口,需要涉及50+个因素的筛选,每个因素的值有1~300+,如果要进行所有的组合测试,测试用例数太过庞大了,根本无法执行。即便仅仅从每个因素中取2个值,涉及的用例个数为2的50次方,这是不可能实现的测试覆盖。
[0003]组合测试是一种黑盒测试方法,其目的在于对于用户已经建立好的软件模型,运用该方法可以在保证满足错误检出率的前提下生成尽可能少的测试用例来测试待测系统。组合测试(Combinatorial Test)是一种测试用例生成方法。它是将被测系统抽象出来的变量的取值进行组合并生成一组测试用例的过程,它将被测试应用抽象为一个受到多个因素影响的系统,其中每个因素的取值是离散且有限的。多因素(N

way,N>2)组合测试可以覆盖任意N个因素的所有取值组合,在理论上可以发现由N个因素共同作用引发的缺陷。研究表明,成对组合测试可以发现70%的缺陷,3

way组合测试可以发现90%的缺陷,要发现所有缺陷,覆盖强度需要达到6

way。近年来,学术界已经使用不同的算法开发出了多种组合测试用例生成工具(本专利基于PICT工具展开)。对于已经建立好的软件模型,这些工具都能保证在满足组合覆盖率的前提下生成尽可能少的测试用例。
[0004]如果软件模型中出现较为复杂的约束和数据类型,这些工具的处理能力并不是很令人满意,需要用户等待较长时间,甚至卡死。且通过软件模型获取的测试用例各个被测元素的覆盖强度一致、交互关系一致,这明显与实际的软件测试活动存在出入。因此如何选定高效的组合测试用例是亟待解决的问题。

技术实现思路

[0005]已经建立好的软件模型中出现较为复杂的约束和数据类型,这些工具的处理能力并不是很令人满意,需要用户等待较长时间,甚至卡死。且通过软件模型获取的测试用例各个被测元素的覆盖强度一致、交互关系一致,这明显与实际的软件测试活动存在出入问题,本专利技术提供一种基于组合测试的测试用例选定方法、装置、设备、介质。
[0006]本专利技术的技术方案是:
[0007]第一方面,本专利技术技术方案提供一种基于组合测试的测试用例选定方法,包括如下步骤:
[0008]构建PICT工具的因素输入表;
[0009]通过PICT工具获取i个因素组合测试的组合测试用例集;
[0010]随机从组合测试用例集中随机抽取若干组测试用例执行测试;
[0011]根据测试结果计算每组的缺陷发现率,并计算所有组的缺陷发现率的平均值;
[0012]将计算的平均值与目标缺陷率进行比较;
[0013]若平均值大于或等于目标缺陷率,选定i个因素的组合测试用例集;
[0014]若平均值小于目标缺陷率,执行步骤:通过PICT工具获取i+1个因素组合测试的组合测试用例集。
[0015]优选地,构建PICT工具的因素输入表的步骤之前包括:
[0016]分析待测软件系统确定测试因素;
[0017]确定每个测试因素的取值集合。
[0018]相应的,构建PICT工具的因素输入表的步骤包括:
[0019]根据确定的测试因素的取值集合构建PICT工具的因素输入表。
[0020]优选地,确定每个测试因素的取值集合的步骤包括:
[0021]分析每个因素可能的取值;
[0022]使用等价类划分缩减因素的取值个数,确定每个测试因素的取值集合。
[0023]优选地,根据测试结果计算每组的缺陷发现率,并计算所有组的缺陷发现率的平均值的步骤包括:
[0024]根据每组测试发现的bug数计算每组的缺陷发现率,其中,每组的缺陷发现率等于本组测试用例执行测试发现的bug数与本组测试用例的个数的比值;
[0025]将各组的缺陷发现率计算平均值。
[0026]优选地,将计算的平均值与目标缺陷率进行比较的步骤之前包括:
[0027]通过专家评审法获取的被测软件或被测功能的缺陷率,即为目标缺陷率;
[0028]其中目标缺陷率等于通过专家评审法评估该软件能够发现的bug数与测试用例总数的比值;其中,测试用例的总数为步骤通过PICT工具获取i个因素组合测试的组合测试用例集中,组合测试用例集中测试用例的数量。
[0029]第二方面,本专利技术技术方案提供一种基于组合测试的测试用例选定装置,包括构建模块、第一执行模块、第二执行模块、计算模块、比较模块和选定模块;
[0030]构建模块,用于构建PICT工具的因素输入表;
[0031]第一执行模块,用于通过PICT工具获取i个因素组合测试的组合测试用例集;
[0032]第二执行模块,用于随机从组合测试用例集中随机抽取若干组测试用例执行测试;
[0033]计算模块,用于根据测试结果计算每组的缺陷发现率,并计算所有组的缺陷发现率的平均值;
[0034]比较模块,用于将计算的平均值与目标缺陷率进行比较;若平均值小于目标缺陷率,触发第一执行模块通过PICT工具获取i+1个因素组合测试的组合测试用例集;
[0035]选定模块,用于比较模块输出平均值大于或等于目标缺陷率时,选定i个因素的组合测试用例集。
[0036]优选地,该装置还包括因素确定模块和因素取值确定模块;
[0037]因素确定模块,用于分析待测软件系统确定测试因素;
[0038]因素取值确定模块,用于确定每个测试因素的取值集合。
[0039]构建模块,具体用于根据确定的测试因素的取值集合构建PICT工具的因素输入
表。
[0040]优选地,因素取值确定模块包括分析单元和确定单元;
[0041]分析单元,用于分析每个因素可能的取值;
[0042]确定单元,用于使用等价类划分缩减因素的取值个数,确定每个测试因素的取值集合。
[0043]优选地,根据测试结果计算每组的缺陷发现率,并计算所有组的缺陷发现率的平均值的步骤包括:
[0044]计算模块,具体用于根据每组测试发现的bug数计算每组的缺陷发现率,其中,每组的缺陷发现率等于本组测试用例执行测试发现的bug数与本组测试用例的个数的比值;将各组的缺陷发现率计算平均值。
[0045]优选地,该装置还包括目标缺陷率确定模块,用于通过专家评审法获取的被测软件或被测功能的缺陷率,即为目标缺陷率;
[0046]其中目标缺陷率等于通过专家评审法评估该软件能够发现的bug数与测试用例总数的比值;其中,测试用例的总数为第一执行模块通过PICT工具获取i个因素组合测试的组合测试用例集中本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于组合测试的测试用例选定方法,其特征在于,包括如下步骤:构建PICT工具的因素输入表;通过PICT工具获取i个因素组合测试的组合测试用例集;随机从组合测试用例集中随机抽取若干组测试用例执行测试;根据测试结果计算每组的缺陷发现率,并计算所有组的缺陷发现率的平均值;将计算的平均值与目标缺陷率进行比较;若平均值大于或等于目标缺陷率,选定i个因素的组合测试用例集;若平均值小于目标缺陷率,执行步骤:通过PICT工具获取i+1个因素组合测试的组合测试用例集。2.根据权利要求1所述的基于组合测试的测试用例选定方法,其特征在于,构建PICT工具的因素输入表的步骤之前包括:分析待测软件系统确定测试因素;确定每个测试因素的取值集合。3.根据权利要求2所述的基于组合测试的测试用例选定方法,其特征在于,确定每个测试因素的取值集合的步骤包括:分析每个因素可能的取值;使用等价类划分缩减因素的取值个数,确定每个测试因素的取值集合。4.根据权利要求3所述的基于组合测试的测试用例选定方法,其特征在于,根据测试结果计算每组的缺陷发现率,并计算所有组的缺陷发现率的平均值的步骤包括:根据每组测试发现的bug数计算每组的缺陷发现率,其中,每组的缺陷发现率等于本组测试用例执行测试发现的bug数与本组测试用例的个数的比值;将各组的缺陷发现率计算平均值。5.根据权利要求4所述的基于组合测试的测试用例选定方法,其特征在于,将计算的平均值与目标缺陷率进行比较的步骤之前包括:通过专家评审法获取的被测软件或被测功能的缺陷率,即为目标缺陷率;其中目标缺陷率等于通过专家评审法评估该软件能够发现的bug数与测试用例总数的比值;其中,测试用例的总数为步骤通过PICT工具获取i个因素组合测试的组合测试用例集中,组合测试用例集中测试用例的数量。6.一种基于组合测试的测试用例选定装置,其特征在于,包括构建模块、第一执行模块、第二执行模块、计算模块、比较模块...

【专利技术属性】
技术研发人员:李男
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1