测试脚本推荐方法、装置、设备及可读存储介质与流程
- 国知局
- 2024-11-18 18:14:06
本技术涉及自动化测试,尤其涉及一种测试脚本推荐方法、装置、设备及可读存储介质。
背景技术:
1、现有软件版本迭代频繁,需要进行大量的代码功能验证,以确保软件上线后的顺利运行。新版本软件在上线发布前需要快速完成功能验证,同时要求有效覆盖测试脚本范围,实现最有效的测试执行。
2、然而,目前的测试脚本库往往过于庞大,进行新版本软件测试需要进行测试脚本的有效覆盖,存在着测试脚本多,时间成本开销大的问题。
技术实现思路
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、将所有脚本属性的第一特征矩阵进行平均池化得到第二特征矩阵,将第二特征矩阵转换为特征向量;
37、将特征向量归一化,得到每个执行组合数据的融合特征;
38、以所有的执行组合数据的融合特征组成新的历史行为数据。
39、可选的,所述测试脚本推荐装置还包括星级确定模块,用于:
40、针对测试脚本推荐序列中的每个测试脚本,获取历史执行次数和检测出程序故障的次数;
41、根据历史执行次数和检测出程序故障的次数确定脚本评价系数;
42、根据历史执行次数和脚本评价系数确定脚本星级;
43、将脚本星级最低的测试脚本从测试脚本推荐序列中删除,得到新的测试脚本推荐序列。
44、第三方面,本技术实施例提供了一种测试脚本推荐设备,所述测试脚本推荐设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的测试脚本推荐程序,其中所述测试脚本推荐程序被所述处理器执行时,实现如上述所述的测试脚本推荐方法的步骤。
45、第四方面,本技术实施例提供了一种可读存储介质,所述可读存储介质上存储有测试脚本推荐程序,其中所述测试脚本推荐程序被处理器执行时,实现如上述所述的测试脚本推荐方法的步骤。
46、本技术实施例提供的技术方案带来的有益效果包括:
47、本技术实施例中,针对每个测试脚本,获取历史行为数据,所述历史行为数据包括多次执行数据,每次执行数据包括每次执行所生成的脚本属性数据;将历史行为数据转换为稠密向量,对稠密向量进行平均池化,得到每个测试脚本的平均池化值;按照每个测试脚本的平均池化值对所有测试脚本进行排序,得到测试脚本推荐序列。本技术实施例通过,对每个测试脚本的历史行为数据进行平均池化处理并基于平均池化值进行排序,测试脚本的历史行为数据由测试脚本历史各次执行所生成的各个脚本属性数据构成,如包括测试脚本第i次执行所检测出的程序故障数量及脚本执行时长等,即按照测试脚本的历史行为价值对测试脚本进行优先级排序,可优先执行排序靠前的测试脚本,从而可以解决测试脚本数量庞大的问题,且更符合测试用户的使用价值偏好。
本文地址:https://www.jishuxx.com/zhuanli/20241118/327721.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。