首页 / 一种测试用例筛选方法、装置、计算机设备和存储介质

一种测试用例筛选方法、装置、计算机设备和存储介质实质审查 发明

具体技术细节

[0004] 有鉴于此,本发明提供一种测试用例筛选方法、装置、计算机设备和存储介质,以解决现有技术中测试用例的数量较多导致测试工作重复、冗余,存在测试效率较低的问题。
[0005] 第一方面,提供了一种测试用例筛选方法,所述方法包括:
[0006] 获取目标服务的多个测试用例;
[0007] 通过测试用例执行引擎执行多个所述测试用例,获得各个所述测试用例对应的代码覆盖数据;
[0008] 获取各个所述测试用例对应的代码覆盖数据之间的相似度,并根据各个所述相似度,确定出彼此互为相似的代码覆盖数据;
[0009] 对所述彼此互为相似的代码覆盖数据各自对应的测试用例进行筛选。
[0010] 进一步地,所述获取目标服务的多个测试用例,包括:
[0011] 获取所述目标服务的接口参数信息,所述接口参数信息包括解析所述目标服务的实际流量数据而得到的所有接口参数各自的参数实际值;
[0012] 根据各个所述接口参数的参数实际值以及所述目标服务的特征信息对所有所述接口参数进行机器学习,得到各个所述接口参数的参数取值规则;
[0013] 根据各个所述接口参数的参数取值规则,对各个所述接口参数进行赋值,生成所述目标服务的多个测试用例。
[0014] 进一步地,所述根据各个所述接口参数的参数取值规则,对各个所述接口参数进行赋值,生成所述目标服务的多个测试用例之前,所述方法还包括:
[0015] 针对每一个所述接口参数,判断所述接口参数是否预设有参数取值规则,若有,则将所述接口参数的预设的参数取值规则以及通过机器学习得到的参数取值规则推送至用户端,以供用户选择;
[0016] 接收所述用户端针对所述接口参数的参数取值规则的选择信息,并将所述选择信息指示的参数取值规则确定为所述接口参数的参数取值规则。
[0017] 进一步地,所述根据各个所述接口参数的参数取值规则,对各个所述接口参数进行赋值,生成所述目标服务的多个测试用例,包括:
[0018] 根据各个所述接口参数的参数取值规则,并结合等价类划分或/和边界值法对各个所述接口参数进行赋值,生成所述目标服务的多个测试用例。
[0019] 进一步地,所述获取各个所述测试用例对应的代码覆盖数据之间的相似度,并根据各个所述相似度,确定出彼此互为相似的代码覆盖数据,包括:
[0020] 根据各个所述测试用例对应的代码覆盖数据,对各个所述测试用例与各个所述测试用例覆盖到的程序代码段进行绑定;
[0021] 针对所有所述测试用例中的每一个目标测试用例,计算所述目标测试用例绑定的程序代码段与所有所述测试用例中的其他测试用例绑定的程序代码段之间的相同程度,并根据计算结果,获取所述目标测试用例对应的代码覆盖数据与所述其他测试用例对应的代码覆盖数据之间的相似度;
[0022] 判断所述相似度是否满足预设相似条件,若满足,则确定所述目标测试用例对应的代码覆盖数据与所述其他测试用例对应的代码覆盖数据彼此互为相似。
[0023] 进一步地,所述对所述彼此互为相似的代码覆盖数据各自对应的测试用例进行筛选,包括:
[0024] 对所述彼此互为相似的代码覆盖数据各自对应的测试用例归类到同一个测试用例子集中;
[0025] 确定每个所述测试用例子集中的各所述测试用例对应的代码覆盖率;
[0026] 根据每个所述测试用例子集中的各所述测试用例对应的代码覆盖率,对每个所述测试用例子集进行筛选。
[0027] 进一步地,所述根据每个所述测试用例子集中的各所述测试用例对应的代码覆盖率,对每个所述测试用例子集进行筛选,包括:
[0028] 针对每一个所述测试用例子集,对所述测试用例子集中的每个测试用例按照代码覆盖率从高至低的顺序进行排序,得到排序结果;以及
[0029] 筛选出所述排序结果中排在前N位的测试用例,以作为最优测试用例,其中,N大于等于1。
[0030] 第二方面,提供了一种测试用例筛选装置,所述装置包括:
[0031] 用例获取模块,用于获取目标服务的多个测试用例;
[0032] 用例执行模块,用于通过测试用例执行引擎执行多个所述测试用例,获得各个所述测试用例对应的代码覆盖数据;
[0033] 相似确定模块,用于获取各个所述测试用例对应的代码覆盖数据之间的相似度,并根据各个所述相似度,确定出彼此互为相似的代码覆盖数据;
[0034] 用例筛选模块,用于对所述彼此互为相似的代码覆盖数据各自对应的测试用例进行筛选。
[0035] 进一步地,所述用例获取模块包括:
[0036] 参数获取单元,用于获取所述目标服务的接口参数信息,所述接口参数信息包括解析所述目标服务的实际流量数据而得到的所有接口参数各自的参数实际值;
[0037] 机器学习单元,用于根据各个所述接口参数的参数实际值以及所述目标服务的特征信息对所有所述接口参数进行机器学习,得到各个所述接口参数的参数取值规则;
[0038] 用例生成单元,用于根据各个所述接口参数的参数取值规则,对各个所述接口参数进行赋值,生成所述目标服务的多个测试用例。
[0039] 进一步地,所述装置还包括参数规则处理模块,所述参数规则处理模块用于:
[0040] 针对每一个所述接口参数,判断所述接口参数是否预设有参数取值规则,若有,则将所述接口参数的预设的参数取值规则以及通过机器学习得到的参数取值规则推送至用户端,以供用户选择;
[0041] 接收所述用户端针对所述接口参数的参数取值规则的选择信息,并将所述选择信息指示的参数取值规则确定为所述接口参数的参数取值规则。
[0042] 进一步地,所述用例生成单元具体用于:
[0043] 根据各个所述接口参数的参数取值规则,并结合等价类划分或/和边界值法对各个所述接口参数进行赋值,生成所述目标服务的多个测试用例。
[0044] 进一步地,所述相似确定模块具体用于:
[0045] 根据各个所述测试用例对应的代码覆盖数据,对各个所述测试用例与各个所述测试用例覆盖到的程序代码段进行绑定;
[0046] 针对所有所述测试用例中的每一个目标测试用例,计算所述目标测试用例绑定的程序代码段与所有所述测试用例中的其他测试用例绑定的程序代码段之间的相同程度,并根据计算结果,获取所述目标测试用例对应的代码覆盖数据与所述其他测试用例对应的代码覆盖数据之间的相似度;
[0047] 判断所述相似度是否满足预设相似条件,若满足,则确定所述目标测试用例对应的代码覆盖数据与所述其他测试用例对应的代码覆盖数据彼此互为相似。
[0048] 进一步地,所述用例筛选模块包括:
[0049] 用例归类单元,用于对所述彼此互为相似的代码覆盖数据各自对应的测试用例归类到同一个测试用例子集中;
[0050] 覆盖率确定单元,用于确定每个所述测试用例子集中的各所述测试用例对应的代码覆盖率;
[0051] 用例筛选单元,用于根据每个所述测试用例子集中的各所述测试用例对应的代码覆盖率,对每个所述测试用例子集进行筛选。
[0052] 进一步地,所述用例筛选单元具体用于:
[0053] 针对每一个所述测试用例子集,对所述测试用例子集中的每个测试用例按照代码覆盖率从高至低的顺序进行排序,得到排序结果;以及
[0054] 筛选出所述排序结果中排在前N位的测试用例,以作为最优测试用例,其中,N大于等于1。
[0055] 第三方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下操作步骤:
[0056] 获取目标服务的多个测试用例;
[0057] 通过测试用例执行引擎执行多个所述测试用例,获得各个所述测试用例对应的代码覆盖数据;
[0058] 获取各个所述测试用例对应的代码覆盖数据之间的相似度,并根据各个所述相似度,确定出彼此互为相似的代码覆盖数据;
[0059] 对所述彼此互为相似的代码覆盖数据各自对应的测试用例进行筛选。
[0060] 第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如下操作步骤:
[0061] 获取目标服务的多个测试用例;
[0062] 通过测试用例执行引擎执行多个所述测试用例,获得各个所述测试用例对应的代码覆盖数据;
[0063] 获取各个所述测试用例对应的代码覆盖数据之间的相似度,并根据各个所述相似度,确定出彼此互为相似的代码覆盖数据;
[0064] 对所述彼此互为相似的代码覆盖数据各自对应的测试用例进行筛选。
[0065] 本发明提供的测试用例筛选方法、装置、计算机设备和存储介质,获取目标服务的多个测试用例;通过测试用例执行引擎执行多个测试用例,获得各个测试用例对应的代码覆盖数据;获取各个测试用例对应的代码覆盖数据之间的相似度,并根据各个相似度,确定出彼此互为相似的代码覆盖数据;对彼此互为相似的代码覆盖数据各自对应的测试用例进行筛选,由于对彼此互为相似的代码覆盖数据各自对应的测试用例进行筛选,这样筛选出的测试用例不但针对性强,而且能够有效降低软件的测试用例的数量,避免大量冗余测试用例的执行,节省了测试时间,提高了软件系统的测试效率。

法律保护范围

涉及权利要求数量10:其中独权4项,从权-4项

1.一种测试用例筛选方法,其特征在于,所述方法包括:
获取目标服务的多个测试用例;
通过测试用例执行引擎执行多个所述测试用例,获得各个所述测试用例对应的代码覆盖数据;
获取各个所述测试用例对应的代码覆盖数据之间的相似度,并根据各个所述相似度,确定出彼此互为相似的代码覆盖数据;
对所述彼此互为相似的代码覆盖数据各自对应的测试用例进行筛选。
2.根据权利要求1所述的方法,其特征在于,所述获取目标服务的多个测试用例,包括:
获取所述目标服务的接口参数信息,所述接口参数信息包括解析所述目标服务的实际流量数据而得到的所有接口参数各自的参数实际值;
根据各个所述接口参数的参数实际值以及所述目标服务的特征信息对所有所述接口参数进行机器学习,得到各个所述接口参数的参数取值规则;
根据各个所述接口参数的参数取值规则,对各个所述接口参数进行赋值,生成所述目标服务的多个测试用例。
3.根据权利要求2所述的方法,其特征在于,所述根据各个所述接口参数的参数取值规则,对各个所述接口参数进行赋值,生成所述目标服务的多个测试用例之前,所述方法还包括:
针对每一个所述接口参数,判断所述接口参数是否预设有参数取值规则,若有,则将所述接口参数的预设的参数取值规则以及通过机器学习得到的参数取值规则推送至用户端,以供用户选择;
接收所述用户端针对所述接口参数的参数取值规则的选择信息,并将所述选择信息指示的参数取值规则确定为所述接口参数的参数取值规则。
4.根据权利要求1至3任一所述的方法,其特征在于,所述获取各个所述测试用例对应的代码覆盖数据之间的相似度,并根据各个所述相似度,确定出彼此互为相似的代码覆盖数据,包括:
根据各个所述测试用例对应的代码覆盖数据,对各个所述测试用例与各个所述测试用例覆盖到的程序代码段进行绑定;
针对所有所述测试用例中的每一个目标测试用例,计算所述目标测试用例绑定的程序代码段与所有所述测试用例中的其他测试用例绑定的程序代码段之间的相同程度,并根据计算结果,获取所述目标测试用例对应的代码覆盖数据与所述其他测试用例对应的代码覆盖数据之间的相似度;
判断所述相似度是否满足预设相似条件,若满足,则确定所述目标测试用例对应的代码覆盖数据与所述其他测试用例对应的代码覆盖数据彼此互为相似。
5.根据权利要求1至3任一所述的方法,其特征在于,所述对所述彼此互为相似的代码覆盖数据各自对应的测试用例进行筛选,包括:
对所述彼此互为相似的代码覆盖数据各自对应的测试用例归类到同一个测试用例子集中;
确定每个所述测试用例子集中的各所述测试用例对应的代码覆盖率;
根据每个所述测试用例子集中的各所述测试用例对应的代码覆盖率,对每个所述测试用例子集进行筛选。
6.根据权利要求5所述的方法,其特征在于,所述根据每个所述测试用例子集中的各所述测试用例对应的代码覆盖率,对每个所述测试用例子集进行筛选,包括:
针对每一个所述测试用例子集,对所述测试用例子集中的每个测试用例按照代码覆盖率从高至低的顺序进行排序,得到排序结果;以及
筛选出所述排序结果中排在前N位的测试用例,以作为最优测试用例,其中,N大于等于
1。
7.一种测试用例筛选装置,其特征在于,所述装置包括:
用例获取模块,用于获取目标服务的多个测试用例;
用例执行模块,用于通过测试用例执行引擎执行多个所述测试用例,获得各个所述测试用例对应的代码覆盖数据;
相似确定模块,用于获取各个所述测试用例对应的代码覆盖数据之间的相似度,并根据各个所述相似度,确定出彼此互为相似的代码覆盖数据;
用例筛选模块,用于对所述彼此互为相似的代码覆盖数据各自对应的测试用例进行筛选。
8.根据权利要求7所述的装置,其特征在于,所述用例获取模块包括:
参数获取单元,用于获取所述目标服务的接口参数信息,所述接口参数信息包括解析所述目标服务的实际流量数据而得到的所有接口参数各自的参数实际值;
机器学习单元,用于根据各个所述接口参数的参数实际值以及所述目标服务的特征信息对所有所述接口参数进行机器学习,得到各个所述接口参数的参数取值规则;
用例生成单元,用于根据各个所述接口参数的参数取值规则,对各个所述接口参数进行赋值,生成所述目标服务的多个测试用例。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。

当前第2页 第1页 第2页 第3页
相关技术
存储介质相关技术
方法装置相关技术
曾旻发明人的其他相关专利技术