一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种测试用例生成方法与流程

2022-02-19 13:54:55 来源:中国专利 TAG:


1.本发明属于软件测试技术领域,具体涉及一种测试用例生成方法。


背景技术:

2.飞行控制软件算法复杂,影响结果的因素多且复杂,如何在巨大的输入空间中,使所选择的测试输入最大可能的满足测试的覆盖性和充分性,一直以来都是对测试的一个挑战。在常见的软件测试中采用两种方法选择测试的输入,一种方式是采用各个参数及其相互间组合,只要求覆盖,但不能做到等概率覆盖;另外一种方式是采用正交试验设计,该方式依赖于正交表,但正交表构造还存在很多未解决的问题,这给该方法的使用带来一定的限制。


技术实现要素:

3.本发明的目的在于克服现有技术中的不足,提供一种测试用例生成方法。本发明方案能够解决上述现有技术中存在的问题之一。
4.本发明的技术解决方案:
5.一种测试用例生成方法,包括以下步骤:
6.步骤一,确定测试参数和测试参数之间的约束关系;
7.步骤二,根据测试参数之间的约束关系转换成禁止关系形成禁止元组;
8.步骤三,将测试参数两两组合,获得一个两两覆盖组合对集uncover,该两两覆盖组合对集中包括所有参数和参数之间参数值的两两组合对;
9.步骤四,在两两覆盖组合对集uncover中按照最优原则选取第一个参数及参数值,将剩下的参数随机排列,按照次优原则选择参数对应的参数值,直至所有的参数都被加入,形成一个完整的测试用例;
10.步骤五,判断生成的测试用例是否在禁止元组中,若在则舍弃,不再则放入到测试用例候选集中;
11.步骤六,循环m次生成完整测试用例和判断是否在禁止元组中的步骤,获得完整的测试用例候选集;
12.步骤七,在测试用例候选集中确定最优的测试用例,并将其放入到测试用例集中;
13.步骤八,判断两两覆盖组合对集uncover中的元素是否为空,若为空,则测试用例集完成,若两两覆盖组合对集uncover中的元素不为空,进行步骤九;
14.步骤九,循环步骤四到步骤八。
15.进一步的,所述的最优原则为:其中的参数和参数值在两两覆盖组合对集uncover中出现的次数最多。
16.进一步的,所述的次优原则为:假设已经确定了前j个参数f1,f2,...,f
j
上的特征值分别为v1,v2,...,v
j
,现在要确定第j 1个参数f
j 1
上的参数值v,则根据已经确定的参数和参数值来进行选择,即选择的参数值和已确定的参数值v1,v2,...,v
j
之间存在最多的未
被覆盖对,则可以挑选出最优的测试值,作为参数f
j 1
上的参数值v
j 1

17.进一步的,所述的最优的测试用例是指覆盖两两覆盖组合对集uncover中组合对集最多的用例。
18.进一步的,所述的测试参数之间的约束关系包括禁止关系、蕴含关系、数值约束。
19.进一步的,所述的m取值不大于50。
20.本发明与现有技术相比的有益效果:
21.(1)本发明通过二维组合覆盖表和最优覆盖生成的测试用例,同时根据测试约束,分析测试输入之间的关系,对测试用例进行优化,实现了对测试空间的等概率覆盖,提高了测试的覆盖性和充分性;
22.(2)本发明在保证相同覆盖率的情况下,测试用例的数量减小,极大地节约了测试的成本。
附图说明
23.所包括的附图用来提供对本发明实施例的进一步的理解,其构成了说明书的一部分,用于例示本发明的实施例,并与文字描述一起来阐释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
24.图1示出了根据本发明实施例提供的一种测试用例生成方法的步骤示意图。
具体实施方式
25.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
26.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本技术的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
27.除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
28.如图1所示,根据本发明实施例提供一种测试用例生成方法,包括以下步骤:
29.步骤一,确定测试参数和测试参数之间的约束关系;进一步的在一个实施例中,测试参数之间的约束关系包括禁止关系、蕴含关系、数值约束。禁止关系是组合测试中最直接的约束表示方法,一个禁止关系可表示为一个禁止元组,禁止元组用一个τ组合来表示,其指明该τ组合对应的参数取值不能在测试用例中出现。例如,特征1与特征2不能同时取值为true时,这个约束就可以使用禁止元组(true,true,

,

,

,)来表示。
30.蕴含关系其使用形如p

q的形式来表示约束,即当p为真时q也应为真。例如,假设存在约束“如果特征1为value1,那么特征2应为vlaue2,则该约束就可表示为特征1=vlaue1

特征2=value2。
31.数值约束主要用来刻画不同特征间需要满足的数值关系,这可以使得约束的表示更加灵活。一个数值约束可表示为(f,p
f
),其中是一些特征取值的集合,而f是定义在p
f
上的一个关系。
32.步骤二,将测试参数之间的约束关系转换成禁止关系;即将蕴含关系和数值约束关系都转换成禁止关系,从而形成禁止测试用例集nt;
33.步骤三,将测试参数两两组合,获得一个两两覆盖组合对集uncover,该两两覆盖组合对集中包括所有参数和参数之间参数值的两两组合对;
34.步骤四,在两两覆盖组合对集uncover中按照最优原则选取第一个参数及参数值,进一步的在一个实施例中,最优原则为:其中的参数和参数值在两两覆盖组合对集uncover中出现的次数最多,按照最优原则确定第一个参数f1和其对应的参数值v1,将剩下的参数随机排列,按照次优原则选择参数对应的参数值,直至所有的参数都被加入,形成一个完整的测试用例;在一个实施例中,次优原则为:假设已经确定了前j个参数f1,f2,...,f
j
上的特征值分别为v1,v2,...,v
j
,现在要确定第j 1个参数f
j 1
上的参数值v
j 1
,则根据已经确定的参数和参数值来进行选择,即选择的参数值和已确定的参数值v1,v2,...,v
j
之间存在最多的未被覆盖对,则可以挑选出最优的测试值,作为参数f
j 1
上的参数值v
j 1

35.步骤五,判断生成的测试用例是否在禁止元组中,若在则舍弃,若不再则将此测试用例放入到测试用例候选集中;
36.步骤六,循环步骤四和步骤五m次,获得完整的测试用例候选集;在一个实施例中,算法中循环产生测试用例时m的值由用户指定,m越大,算法越有机会获得更小的覆盖表,但实践表明,当m大于50时,覆盖表几乎不再减小,所以m取值不大于50;
37.步骤七,在测试用例候选集中确定最优的测试用例,并将其放入到测试用例集中;进一步的在一个实施例中,最优的测试用例是指覆盖两两覆盖组合对集uncover中组合对集最多的用例。
38.步骤八,判断两两覆盖组合对集uncover中的元素是否为空,若为空,则测试用例集完成,若两两覆盖组合对集uncover中的元素不为空,进行步骤九;
39.步骤九,循环步骤四到步骤八。
40.为更好的阐述本发明,在一个具体实施例中,对本发明进一步的说明。
41.高度控制功能是飞行过程中依赖实时传感器高度信息、速度信息以及装订的射程信息及弹道类型并按照时间段进行高度控制解算。
42.首先确定高度控制解算中涉及的参数及参数值集合,如表1所示,在本实施例中,参数值的合集如表2所示;
43.表1高度控制功能参数表
[0044][0045][0046]
表2参数取值表
[0047][0048]
然后确定参数间约束:根据高度控制功能需求描述,时间特征和高度源特征之间具有约束关系。经分析,在时间小于30s时,高度源只与气压高度表相关,时间大于等于30s时,高度源只与无线高度表和gps相关,将约束转化为禁止元组,如表3所示。
[0049]
表3约束表
[0050][0051][0052]
根据本发明的步骤生成算法的测试用例集,如表4所示。
[0053]
表4算法生成测试用例集
[0054][0055][0056]
由此实施例可以看出,在现有技术中若要实现全覆盖的测试用例,共需要2
×8×3×
3=144个测试用例,而本发明的方法只需要24个测试用例即可实现全覆盖,减小了测试
用例的规模。
[0057]
实施例二,提供一种测试方法,使用本发明的测试用例生成方法生成的测试用例进行测试。
[0058]
实施例三,提供一种介质,存贮本发明所述的测试用例生成方法。
[0059]
实施例四,提供一种介质,存贮本发明所述的测试方法。
[0060]
综上,本发明提供的相比于现有技术至少具有以下优势:
[0061]
(1)本发明通过二维组合覆盖表和最优覆盖生成的测试用例,同时根据测试约束,分析测试输入之间的关系,对测试用例进行优化,实现了对测试空间的等概率覆盖,提高了测试的覆盖性和充分性;
[0062]
(2)本发明在保证相同覆盖率的情况下,测试用例的数量大大减少,极大地节约了测试的成本;
[0063]
(3)本发明在提高测试质量和减少测试数据生成成本方面有很大的优势,做到最大化的“投入产出”。
[0064]
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献