技术新讯 > 计算推算,计数设备的制造及其应用技术 > 测试任务执行环境部署方法、装置、计算机设备和介质与流程  >  正文

测试任务执行环境部署方法、装置、计算机设备和介质与流程

  • 国知局
  • 2024-10-09 15:23:23

本技术涉及测试,特别是涉及一种测试任务执行环境部署方法、装置、计算机设备和介质。

背景技术:

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、其中,通过遗传算法模型输出待安装插件、待安装工具包括:以每一插件、每一工具的文件信息以及下载优先级构建目标函数,其中,插件目标函数maxf为:

41、

42、插件约束条件为:

43、

44、其中,aij表示从插件i开始下载至插件j结束下载数据大小,maxf表示最大化插件下载数量,f表示插件集合,f∈[f1,f2,f3......fn],m为惩罚系数,y为同时下载插件数据大小最大值;

45、其中,工具目标函数maxz为:

46、

47、工具约束条件为:

48、

49、其中,aij表示从工具i开始下载至工具j结束下载数据大小,maxz表示最大化工具下载数量,z表示工具集合,z∈[z1,z2,z3......zn],m为惩罚系数,m为同时下载工具数据大小最大值。

50、在其中一个实施例中,安装待安装插件、待安装工具包括:

51、响应于接收到选取的待安装插件、待安装工具,生成下载请求,下载请求包括目标下载链接,目标下载链接包括待安装插件下载链接、待安装工具下载链接;

52、基于目标下载链接,判断目标下载链接对应的下载服务是否需要进行文件分块;

53、若目标下载链接对应的下载服务需要进行文件分块,则获取下载服务对应的下载文件及下载文件序号;

54、基于下载文件序号依次将下载文件下载,获取下载文件的下载状态,对下载文件的下载状态进行校验,若下载文件的下载状态通过校验,则对下载文件包含的待安装插件、待安装工具进行安装;

55、其中,根据下载文件的下载序号查询预设的插件以及工具库,确定下载文件是否包含目标元数据;

56、判断目标元数据中的文件下载状态是否为下载成功;

57、当文件下载状态为下载成功,则计算下载文件对应的哈希值以及目标元数据对应的哈希值;

58、判断下载文件对应的哈希值与目标元数据对应的哈希值是否一致,若一致,则确定下载文件的下载状态为通过校验。

59、为了解决上述技术问题,第二方面,提供了一种测试脚本执行环境部署装置,装置包括:

60、获取模块,用于获取测试任务中的全部目标测试用例,查询每一目标测试用例对应的测试脚本;获取预设的脚本依赖清单,根据预设的脚本依赖清单查询测试脚本执行需要的第一依赖信息,第一依赖信息包括第一依赖插件信息、第一依赖工具信息;

61、判断模块,用于根据测试脚本对应的第一依赖信息判断测试任务是否存在版本冲突;

62、若不存在版本冲突,则连接测试设备,基于测试设备获取第二依赖信息,第二依赖信息包括第二依赖插件信息、第二依赖工具信息;

63、查询模块,用于基于第一依赖信息、第二依赖信息查询待卸载插件、待卸载工具;

64、安装模块,用于将待卸载插件、待卸载工具从中测试设备中删除,并从预设的插件以及工具库中选取并安装待安装插件、待安装工具,以执行测试任务。

65、为了解决上述技术问题,第三方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:处理器执行计算机程序时实现上述第一方面方法的步骤。

66、为了解决上述技术问题,第四方面,本技术提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面的方法的步骤。

67、区别于现有技术,本技术通过获取测试任务中每一目标测试用例对应的测试脚本;获取预设的脚本依赖清单,根据预设的脚本依赖清单查询测试脚本执行需要的第一依赖信息,第一依赖信息包括第一依赖插件信息、第一依赖工具信息;根据第一依赖信息判断测试任务是否存在版本冲突;若不存在,连接测试设备,获取第二依赖信息,第二依赖信息包括第二依赖插件信息、第二依赖工具信息;基于第一依赖信息、第二依赖信息查询待卸载插件、待卸载工具,并从测试设备中删除,并从预设的插件以及工具库中选取并安装待安装插件、待安装工具,以执行测试任务,有效避免了插件及工具重复安装和无效安装,提高了部署自动化测试任务执行环境的效率。

本文地址:https://www.jishuxx.com/zhuanli/20241009/308565.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。