测试用例生成方法、装置、电子设备和存储介质与流程

未命名 08-29 阅读:102 评论:0


1.本发明涉及软件测试技术领域,尤其涉及一种测试用例生成方法、装置、电子设备和存储介质。


背景技术:

2.软件测试是软件系统开发周期的重要组成部分,对确保软件系统的功能完整性、正确性以及稳定性有着重要意义。随着现代软件工程的发展,软件的规模越来越大,功能也越来越复杂,自动化测试已经逐渐取代人工测试,得到越来越广泛的应用。其中,测试用例决定了测试效果。
3.目前,多通过配对测试算法生成测试用例,但采用该方法生成的测试用例应用于软件测试时效果较差。


技术实现要素:

4.本发明提供一种测试用例生成方法、装置、电子设备和存储介质,用以解决现有技术中生成的测试用例用于软件测试时效果较差的缺陷。
5.本发明提供一种测试用例生成方法,包括:
6.确定多个测试参数以及各测试参数对应的多个取值;
7.基于各测试参数在测试软件中的重要性,以及各取值在对应测试参数中的重要性,确定各取值在所述测试软件中的权重;
8.基于各取值在所述测试软件中的权重,从各取值中确定水平扩展参数值,并基于所述水平扩展参数值进行测试用例扩展,得到测试用例。
9.根据本发明提供的一种测试用例生成方法,各测试参数对应的多个取值包括离散型参数的多个离散取值,和/或连续型参数的多个连续取值;
10.所述连续型参数的多个连续取值基于如下步骤确定:
11.确定所述离散型参数的离散取值数量;
12.将最大离散取值数量作为所述连续型参数的连续取值数量,并基于所述连续取值数量以及所述连续型参数的取值范围确定所述连续型参数的多个连续取值。
13.根据本发明提供的一种测试用例生成方法,所述基于所述连续取值数量以及所述连续型参数的取值范围确定所述连续型参数的多个连续取值,包括:
14.基于所述连续取值数量,以及所述取值范围,确定所述连续型参数的取值间距;
15.基于所述取值范围对应的边界值,以及所述取值间距,确定所述连续型参数的多个连续取值。
16.根据本发明提供的一种测试用例生成方法,所述基于各测试参数在测试软件中的重要性,以及各取值在对应测试参数中的重要性,确定各取值在所述测试软件中的权重,包括:
17.基于各测试参数在测试软件中的重要性,确定各测试参数的加权权重;
18.基于各取值在对应测试参数中的重要性,确定各取值的加权权重;
19.基于各取值的加权权重,以及各取值对应测试参数的加权权重,确定各取值在所述测试软件中的权重。
20.根据本发明提供的一种测试用例生成方法,所述基于各取值在所述测试软件中的权重,从各取值中确定水平扩展参数值,包括:
21.在最大权重对应有且只有一个取值的情况下,将最大权重对应的取值作为所述水平扩展参数值;
22.在最大权重对应有多个取值的情况下,确定最大权重对应的多个取值所新增的成对组合数量,并将最大成对组合数量对应的取值作为所述水平扩展参数值。
23.根据本发明提供的一种测试用例生成方法,所述基于所述水平扩展参数值进行测试用例扩展,得到测试用例,包括:
24.基于所述水平扩展参数值进行测试用例扩展,得到多个水平扩展成对组合;
25.搜索是否存在所述多个水平扩展成对组合未覆盖的成对组合,若是,则将所述未覆盖的成对组合和所述多个水平扩展成对组合作为所述测试用例。
26.根据本发明提供的一种测试用例生成方法,所述多个测试参数基于所述测试软件的业务属性确定。
27.本发明还提供一种测试用例生成装置,包括:
28.取值确定单元,用于确定多个测试参数以及各测试参数对应的多个取值;
29.权重确定单元,用于基于各测试参数在测试软件中的重要性,以及各取值在对应测试参数中的重要性,确定各取值在所述测试软件中的权重;
30.用例生成单元,用于基于各取值在所述测试软件中的权重,从各取值中确定水平扩展参数值,并基于所述水平扩展参数值进行测试用例扩展,得到测试用例。
31.本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述测试用例生成方法。
32.本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述测试用例生成方法。
33.本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述测试用例生成方法。
34.本发明提供的测试用例生成方法、装置、电子设备和存储介质,基于各取值在测试软件中的权重确定水平扩展参数值,考虑了各取值在测试软件对应业务上的重要性,使得生成的测试用例中最大权重的取值覆盖尽量多的成对组合,贴合测试软件的实际业务需求,实现以业务为导向的数据驱动测试,进而在基于测试用例进行软件测试时测试效果更好。
附图说明
35.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些
附图获得其他的附图。
36.图1是本发明提供的测试用例生成方法的流程示意图;
37.图2是本发明提供的基于测试用例生成系统生成测试用例的流程示意图;
38.图3是本发明提供的测试用例生成装置的结构示意图;
39.图4是本发明提供的电子设备的结构示意图。
具体实施方式
40.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
41.目前,采用配对测试算法生成测试用例时,存在如下问题:
42.(1)配对测试算法只关注在既定测试参数对应取值下如何产生测试用例。例如对于常见的卷积操作,通道参数的取值范围是[1,1280],但是若采用配对测试算法则需要将取值范围对应的所有1280个取值作为测试用例,导致测试用例数量过大。
[0043]
(2)配对测试算法没有考虑各个参数以及参数的取值在业务上的重要性,导致生成的测试用例在进行软件测试时效果较差。例如对于卷积操作来说,内存类型参数和数据类型参数在业务上的重要性明显相较其他类型参数高。同时,对于数据类型参数来说,单精度浮点数(fp32)用户使用更为频繁。
[0044]
(3)配对测试算法没有考虑参数间的约束关系,导致生成的测试用例数量过大。例如卷积操作数据量大小不能超过32g,否则会引起gpu虚拟内存不足。
[0045]
对此,本发明提供一种测试用例生成方法。图1是本发明提供的测试用例生成方法的流程示意图,如图1所示,该方法包括如下步骤:
[0046]
步骤110、确定多个测试参数以及各测试参数对应的多个取值。
[0047]
此处,测试参数指用于进行软件测试的参数。其中,软件测试可以包括功能性测试,系统性测试,压力测试、持久性测试等。各测试参数对应的多个取值指各测试参数对应的多个数值。
[0048]
若测试参数为离散型参数,则测试参数对应的多个取值为测试参数的离散值;若测试参数为连续型参数,则可以在测试参数对应的取值范围内确定多个取值。
[0049]
步骤120、基于各测试参数在测试软件中的重要性,以及各取值在对应测试参数中的重要性,确定各取值在测试软件中的权重。
[0050]
具体地,各测试参数在测试软件中的重要性用于表征各测试参数与测试软件对应业务的关联程度,关联程度越高,对应测试参数在测试软件中的重要性越高。例如对于卷积操作来说,内存类型参数和数据类型参数与业务的关联程度明显比其它类型参数高,因此内存类型参数和数据类型参数在卷积操作中的重要性比其它类型参数高。
[0051]
各取值在对应测试参数中的重要性用于表征各取值在对应测试参数中的使用频率,使用频率越高,对应取值在测试参数中的重要性越高。例如对于数据类型参数来说,fp32用户使用频率更高,即fp32在数据类型参数中的重要性高于其它取值在数据类型参数中的重要性。
[0052]
各取值在测试软件中的权重用于表征各取值在测试软件中的重要程度,重要程度越高,对应取值在测试软件中的权重越大。
[0053]
在一些具体实施方式中,将各测试参数在测试软件中的重要性与各取值在对应测试参数中的重要性的乘积作为各取值在测试软件中的权重。
[0054]
步骤130、基于各取值在测试软件中的权重,从各取值中确定水平扩展参数值,并基于水平扩展参数值进行测试用例扩展,得到测试用例。
[0055]
具体地,取值在测试软件中的权重越大,表明对应取值在测试软件中的重要程度越高。在一些具体实施方式中,可以将最大权重的取值作为水平扩展参数值,并基于水平扩展参数值依次进行测试用例扩展,得到测试用例,从而可以使得测试用例中最大权重的取值覆盖尽量多的成对组合。其中,测试用例扩展可以是基于水平扩展参数值进行水平扩展,然后在水平扩展的基础上再进行垂直扩展。
[0056]
相较于传统配对测试算法中仅考虑覆盖未覆盖两两组合数最高的值作为水平扩展参数值,本发明实施例基于各取值在测试软件中的权重确定水平扩展参数值,考虑了各取值在测试软件对应业务上的重要性,使得生成的测试用例中最大权重的取值覆盖尽量多的成对组合,贴合测试软件的实际业务需求,实现以业务为导向的数据驱动测试,进而在基于测试用例进行软件测试时测试效果更好。
[0057]
基于上述实施例,各测试参数对应的多个取值包括离散型参数的多个离散取值,和/或连续型参数的多个连续取值;
[0058]
连续型参数的多个连续取值基于如下步骤确定:
[0059]
确定离散型参数的离散取值数量;
[0060]
将最大离散取值数量作为连续型参数的连续取值数量,并基于连续取值数量确定连续型参数的多个连续取值。
[0061]
具体地,测试参数可能包括离散型参数和/或连续型参数,离散型参数对应的多个取值为对应的多个离散取值,连续型参数对应的多个连续取值需要基于最大离散取值数量确定。
[0062]
在一些具体实施方式中,可以先确定离散型参数对应的离散取值数量,并将最大离散取值数量作为连续型参数的连续取值数量,以使连续型参数按照连续取值数量确定连续取值。
[0063]
举例来说,测试参数包括批处理大小(batchsize)、通道数量(channel)、计算核数量(number of compute cores)、数据类型(data type)以及内存分布格式(memory layout)。其中批处理大小为连续型参数,其取值范围为[1-256];通道数量为连续型参数,其取值范围为[1-1280];计算核数量为连续型参数,其取值范围为[1-16];数据类型为离散型参数,其对应的离散取值为类型1、类型2、类型3、类型4、类型5和类型6,其中,类型1可以为fp16,类型2可以为s4、类型3可以为s8、类型4可以为u8,类型5可以为bf16,类型6可以为fp32;内存分布格式为离散型参数,其对应的离散取值为非一致性内存分布、一致性内存分布格式1、一致性内存分布格式2、一致性内存分布格式3和一致性内存分布格式4。
[0064]
经过分析可知,上述5种测试参数中存在2中离散型参数,即数据类型和内存分布格式,其中数据类型对应的离散取值数量为6,内存分布格式对应的离散取值数量为5,即数据类型对应的离散取值数量最大,因此将数据类型对应的取值数量6作为连续型参数(即批
处理大小、通道数量和计算核数量)的连续取值数量,并按照连续型参数的取值范围确定相应连续取值数量的连续取值,即批处理大小、通道数量和计算核数量的连续取值数量均为6,批处理大小在[1-256]区间选取6个值作为连续取值,通道数量在[1-1280]区间选取6个值作为连续取值,计算核数量在[1-16]选取6个值作为连续取值。其中,表1为测试参数取值对照表。
[0065]
表1
[0066][0067]
由此可见,本发明实施例将最大离散取值数量作为连续型参数的连续取值数量,并基于连续取值数量确定连续型参数的多个连续取值,从而能够避免传统方法中连续型参数取值过多导致生成的测试用例数量过大的问题。
[0068]
基于上述任一实施例,基于连续取值数量以及连续型参数的取值范围确定连续型参数的多个连续取值,包括:
[0069]
基于连续取值数量,以及取值范围,确定连续型参数的取值间距;
[0070]
基于取值范围对应的边界值,以及取值间距,确定连续型参数的多个连续取值。
[0071]
在一些具体实施方式中,可以采用均匀分布策略,基于连续取值数量以及取值范围,确定连续型参数的取值间距。在确定取值间距后,以取值范围对应的边界值作为连续取值,并根据取值间距确定其余的连续取值。
[0072]
如表1所示,通道数量的取值范围为[1-1280],连续取值数量为6,边界值为1和1280,根据均匀分布策略(即每相邻连续取值之间的取值间距差异较小),取值间距依次为229,362,239,192和257,进而确定通道数量的连续取值为1、230、592、831、1023和1280。
[0073]
基于上述任一实施例,基于各测试参数在测试软件中的重要性,以及各取值在对
应测试参数中的重要性,确定各取值在测试软件中的权重,包括:
[0074]
基于各测试参数在测试软件中的重要性,确定各测试参数的加权权重;
[0075]
基于各取值在对应测试参数中的重要性,确定各取值的加权权重;
[0076]
基于各取值的加权权重,以及各取值对应测试参数的加权权重,确定各取值在测试软件中的权重。
[0077]
在一些具体实施方式中,可以采用重要性倍数wo来表征各测试参数在测试软件中的重要性,如表1所示,批处理大小的重要性倍数wo=3.0,通道数量的重要性倍数为wo=2.0,计算核数量的重要性倍数wo=1.0,数据类型的重要性倍数为wo=5.0,内存分布格式的重要性倍数wo=3.0。
[0078]
根据上述测试参数的重要性倍数,确定上述测试参数的加权权重wp,如批处理大小的加权权重wp=3.0/(3.0+2.0+1.0+5.0+3.0)=0.21。其中,所有测试参数的加权权重之和为1。
[0079]
在一些具体实施方式中,可以基于业务经验确定各取值在对应测试参数中的重要性,并基于各取值在对应测试参数中的重要性,确定各取值的加权权重,其中,各测试参数中所有取值的加权权重之和为1。如表1所示,批处理内存分布格式的所有取值的重要性一致,则各取值的加权权重为wv=1/5=0.2。
[0080]
在一些具体实施方式中,将各测试参数在测试软件中的重要性与各取值在对应测试参数中的重要性的乘积作为各取值在测试软件中的权重w。其中,表2为各测试参数的权重列表,如表2所示,由于内存分布格式的各取值的加权权重相同,从而内存分布格式的各取值在测试软件中的权重均为w=wp
×
wv=0.21
×
0.2=0.042。
[0081]
表2
[0082][0083]
基于上述任一实施例,基于各取值在测试软件中的权重,从各取值中确定水平扩
展参数值,包括:
[0084]
在最大权重对应有且只有一个取值的情况下,将最大权重对应的取值作为水平扩展参数值;
[0085]
在最大权重对应有多个取值的情况下,确定最大权重对应的多个取值所新增的成对组合数量,并将最大成对组合数量对应的取值作为水平扩展参数值。
[0086]
具体地,取值在测试软件中的权重最大,表明对应取值在测试软件中的重要程度最高。在最大权重对应有且只有一个取值的情况下,将最大权重对应的取值作为水平扩展参数值,并基于水平扩展参数值依次进行测试用例扩展,得到测试用例,从而可以使得测试用例中最大权重的取值覆盖尽量多的成对组合,实现以业务为导向的数据驱动测试。
[0087]
在最大权重对应有多个取值的情况下,如最大权重对应的取值有2个或2个以上,则确定最大权重对应的多个取值所新增的成对组合数量,并将最大成对组合数量对应的取值作为水平扩展参数值。
[0088]
举例来说,存在三种测试参数a、b和c,a对应的取值为a1和a2,b对应的取值为b1和b2,c对应的取值为c1、c2和c3,则当前成对组合包括(a1,b1)、(a1,b2)、(a2,b1)和(a2,b2),其中(a1,b1)对应的水平扩展参数值为c1,即得到(a1,b1,c1),(a1,b2)对应的水平扩展参数值为c2,即得到(a1,b2,c2),(a2,b1)对应的水平扩展参数值为c3,即得到(a2,b1,c3)。此时,需要确定从c1、c2和c3中确定(a2,b2)对应的水平扩展参数值,则分析插入c1至(a2,b2)中后,相较于当前成对组合集所新增成对组合包括(a2,c1)和(b2,c1);插入c2至(a2,b2)中后,相较于当前成对组合集新增成对组合包括(a2,c2);插入c3至(a2,b2)中后,相较于当前成对组合集新增成对组合包括(b2,c3)。由此可见,c1新增成对组合数量最多,因此将c1作为水平扩展参数值。
[0089]
基于上述任一实施例,基于水平扩展参数值进行测试用例扩展,得到测试用例,包括:
[0090]
基于水平扩展参数值进行测试用例扩展,得到多个水平扩展成对组合;
[0091]
搜索是否存在多个水平扩展成对组合未覆盖的成对组合,若是,则将未覆盖的成对组合和多个水平扩展成对组合作为测试用例。
[0092]
具体地,在基于水平扩展参数值进行测试用例扩展,会得到多个水平扩展成对组合。若存在水平扩展成对组合未覆盖的成对组合,则将未覆盖的成对组合和多个水平扩展成对组合作为测试用例。
[0093]
同样以上述举例中的三种测试参数a、b和c进行说明,在确定c1为水平扩展参数值后,当前成对组合集包括(a1,b1,c1)、(a1,b2,c2)、(a2,b1,c3)和(a2,b2,c1),存在未覆盖的组合包括(a1,_,c3)和(a2,_,c2)。经过分析,在(a1,_,c3)中插入b2,即(a1,b2,c3)的成对组合最多,在(a2,_,c2)中插入b1,即(a2,b1,c2)的成对组合最多,进而将这些成对组合集与当前成对组合集构成测试用例。
[0094]
基于上述任一实施例,多个测试参数基于测试软件的业务属性确定,即可以理解为测试参数是与测试软件有业务关联的参数。例如,对于卷积操作,使用通道参数的频率较高,因此可以将通道参数作为测试参数。
[0095]
此外,表3为本发明实施例方法与传统方法的测试用例数量对比表,如表3所示,假设测试系统有y个x可取值的测试参数。例如:38表示系统中共有8个测试参数,且8个测试参
数均对应有3个取值,53*44表示系统中共有7个测试参数,其中3个测试参数有5个取值,4个测试参数有4个取值,由表3可以看出,本发明实施例生成的测试用例数相较于传统方法大幅度减少,进而降低了测试用例生成成本。
[0096]
表3
[0097][0098]
基于上述任一实施例,本发明还提供一种测试用例生成系统,该系统包括参数取值生成器、权重生成器以及测试用例生成器。如图2所示,基于测试用例生成系统生成测试用例的流程如下:
[0099]
将离散型参数、连续型参数以及连续型参数的取值范围输入参数取值生成器,由参数取值生成器将最大离散取值数量作为连续型参数的连续取值数量,并基于连续取值数量以及取值范围,确定连续型参数的取值间距,进而基于取值范围对应的边界值,以及取值间距,确定连续型参数的多个连续取值。
[0100]
接着,将离散型参数的多个离散取值以及连续型参数的多个连续取值输入至权重生成器,由权重生成器基于各测试参数在测试软件中的重要性,以及各取值在对应测试参数中的重要性,确定各取值在测试软件中的权重。
[0101]
随即,将各取值在测试软件中的权重输入至测试用例生成器,在最大权重对应有且只有一个取值的情况下,将最大权重对应的取值作为水平扩展参数值,并基于水平扩展参数值进行测试用例扩展,得到测试用例。在最大权重对应有多个取值的情况下,确定最大权重对应的多个取值所新增的成对组合数量,将最大成对组合数量对应的取值作为水平扩展参数值,并基于水平扩展参数值进行测试用例扩展,得到测试用例。
[0102]
下面对本发明提供的测试用例生成装置进行描述,下文描述的测试用例生成装置与上文描述的测试用例生成方法可相互对应参照。
[0103]
基于上述任一实施例,本发明还提供一种测试用例生成装置,如图3所示,该装置包括:
[0104]
取值确定单元310,用于确定多个测试参数以及各测试参数对应的多个取值;
[0105]
权重确定单元320,用于基于各测试参数在测试软件中的重要性,以及各取值在对应测试参数中的重要性,确定各取值在测试软件中的权重;
[0106]
用例生成单元330,用于基于各取值在测试软件中的权重,从各取值中确定水平扩展参数值,并基于水平扩展参数值进行测试用例扩展,得到测试用例。
[0107]
图4是本发明提供的电子设备的结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、存储器(memory)420、通信接口(communicationsinterface)430和通信总线440,其中,处理器410,存储器420,通信接口430通过通信总线440完成相互间的通
信。处理器410可以调用存储器420中的逻辑指令,以执行测试用例生成方法,该方法包括:确定多个测试参数以及各测试参数对应的多个取值;基于各测试参数在测试软件中的重要性,以及各取值在对应测试参数中的重要性,确定各取值在所述测试软件中的权重;基于各取值在所述测试软件中的权重,从各取值中确定水平扩展参数值,并基于所述水平扩展参数值进行测试用例扩展,得到测试用例。
[0108]
此外,上述的存储器420中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0109]
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的测试用例生成方法,该方法包括:确定多个测试参数以及各测试参数对应的多个取值;基于各测试参数在测试软件中的重要性,以及各取值在对应测试参数中的重要性,确定各取值在所述测试软件中的权重;基于各取值在所述测试软件中的权重,从各取值中确定水平扩展参数值,并基于所述水平扩展参数值进行测试用例扩展,得到测试用例。
[0110]
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的测试用例生成方法,该方法包括:确定多个测试参数以及各测试参数对应的多个取值;基于各测试参数在测试软件中的重要性,以及各取值在对应测试参数中的重要性,确定各取值在所述测试软件中的权重;基于各取值在所述测试软件中的权重,从各取值中确定水平扩展参数值,并基于所述水平扩展参数值进行测试用例扩展,得到测试用例。
[0111]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0112]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0113]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可
以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

技术特征:
1.一种测试用例生成方法,其特征在于,包括:确定多个测试参数以及各测试参数对应的多个取值;基于各测试参数在测试软件中的重要性,以及各取值在对应测试参数中的重要性,确定各取值在所述测试软件中的权重;基于各取值在所述测试软件中的权重,从各取值中确定水平扩展参数值,并基于所述水平扩展参数值进行测试用例扩展,得到测试用例。2.根据权利要求1所述的测试用例生成方法,其特征在于,各测试参数对应的多个取值包括离散型参数的多个离散取值,和/或连续型参数的多个连续取值;所述连续型参数的多个连续取值基于如下步骤确定:确定所述离散型参数的离散取值数量;将最大离散取值数量作为所述连续型参数的连续取值数量,并基于所述连续取值数量以及所述连续型参数的取值范围确定所述连续型参数的多个连续取值。3.根据权利要求2所述的测试用例生成方法,其特征在于,所述基于所述连续取值数量以及所述连续型参数的取值范围确定所述连续型参数的多个连续取值,包括:基于所述连续取值数量,以及所述取值范围,确定所述连续型参数的取值间距;基于所述取值范围对应的边界值,以及所述取值间距,确定所述连续型参数的多个连续取值。4.根据权利要求1至3任一项所述的测试用例生成方法,其特征在于,所述基于各测试参数在测试软件中的重要性,以及各取值在对应测试参数中的重要性,确定各取值在所述测试软件中的权重,包括:基于各测试参数在测试软件中的重要性,确定各测试参数的加权权重;基于各取值在对应测试参数中的重要性,确定各取值的加权权重;基于各取值的加权权重,以及各取值对应测试参数的加权权重,确定各取值在所述测试软件中的权重。5.根据权利要求1至3任一项所述的测试用例生成方法,其特征在于,所述基于各取值在所述测试软件中的权重,从各取值中确定水平扩展参数值,包括:在最大权重对应有且只有一个取值的情况下,将最大权重对应的取值作为所述水平扩展参数值;在最大权重对应有多个取值的情况下,确定最大权重对应的多个取值所新增的成对组合数量,并将最大成对组合数量对应的取值作为所述水平扩展参数值。6.根据权利要求1至3任一项所述的测试用例生成方法,其特征在于,所述基于所述水平扩展参数值进行测试用例扩展,得到测试用例,包括:基于所述水平扩展参数值进行测试用例扩展,得到多个水平扩展成对组合;搜索是否存在所述多个水平扩展成对组合未覆盖的成对组合,若是,则将所述未覆盖的成对组合和所述多个水平扩展成对组合作为所述测试用例。7.根据权利要求1至3任一项所述的测试用例生成方法,其特征在于,所述多个测试参数基于所述测试软件的业务属性确定。8.一种测试用例生成装置,其特征在于,包括:取值确定单元,用于确定多个测试参数以及各测试参数对应的多个取值;
权重确定单元,用于基于各测试参数在测试软件中的重要性,以及各取值在对应测试参数中的重要性,确定各取值在所述测试软件中的权重;用例生成单元,用于基于各取值在所述测试软件中的权重,从各取值中确定水平扩展参数值,并基于所述水平扩展参数值进行测试用例扩展,得到测试用例。9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述测试用例生成方法。10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述测试用例生成方法。

技术总结
本发明提供一种测试用例生成方法、装置、电子设备和存储介质,所述方法包括:确定多个测试参数以及各测试参数对应的多个取值;基于各测试参数在测试软件中的重要性,以及各取值在对应测试参数中的重要性,确定各取值在测试软件中的权重;基于各取值在测试软件中的权重,从各取值中确定水平扩展参数值,并基于水平扩展参数值进行测试用例扩展,得到测试用例。本发明考虑了各取值在测试软件对应业务上的重要性,使得生成的测试用例中最大权重的取值覆盖尽量多的成对组合,贴合测试软件的实际业务需求,实现以业务为导向的数据驱动测试,进而在基于测试用例进行软件测试时测试效果更好。更好。更好。


技术研发人员:请求不公布姓名
受保护的技术使用者:上海壁仞智能科技有限公司
技术研发日:2023.04.03
技术公布日:2023/8/28
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐