System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 应用于测试用例分布式运行的智能调度方法及相关设备技术_技高网

应用于测试用例分布式运行的智能调度方法及相关设备技术

技术编号:40869090 阅读:3 留言:0更新日期:2024-04-08 16:35
本申请实施例属于人工智能的测试开发技术领域,涉及一种应用于测试用例分布式运行的智能调度方法、装置、计算机设备及存储介质。本申请通过打分策略对工作节点打分排序、通过分组策略对测试用例分组,最终结合Kuber netes集群节点选择器、节点亲和性等特性,实现智能化的测试用例分布式调度分发能力,平衡工作节点压力,提高资源利用率,降低用例整体执行时间。

【技术实现步骤摘要】

本申请涉及人工智能的测试开发,尤其涉及一种应用于测试用例分布式运行的智能调度方法及相关设备


技术介绍

1、自动化测试是指用利用自动化测试工具,通过对测试需求的分析,设计出自动化测试用例,搭建自动化测试框架,设计并编写自动化脚本,最后通过脚本执行正确性生成测试报告来评估测试对象。自动化测试用例可重复定期执行,因此可以节省人力时间成本。

2、kubernetes是一个开源的、用于管理云平台中多个主机上的容器化的应用,kubernetes的目标是让部署容器化的应用简单并且高效,kubernetes提供了应用部署,规划,更新,维护的一种机制。控制器(controller)是kubernetes集群中用来对容器组进行状态和行为控制,包括deployment、statefulset、daemonset、job、cronjob这五种,可以通过yaml文件形式进行部署运行。

3、然而,申请人发现,在现有的自动化测试用例分发执行技术中,或是仅通过使用jenkins自有的分发机制进行用例分发,需要等到前一个用例执行完成再下发下一个,用例分发耗时占比大,且不具有智能分发能力;或是通过一个集群控制器来执行所有用例,不具有分布式运行的能力,造成一个节点压力大、其他节点处于空闲中的问题。由此可见,现有的自动化测试用例分发执行技术存在耗时过长、执行效率过低的问题。


技术实现思路

1、本申请实施例的目的在于提出一种应用于测试用例分布式运行的智能调度方法、装置、计算机设备及存储介质,以解决自动化测试用例在kubernetes集群多工作节点的分布式场景下存在的耗时过长、执行效率过低的问题。

2、为了解决上述技术问题,本申请实施例提供一种应用于测试用例分布式运行的智能调度方法,采用了如下所述的技术方案:

3、接收用户终端发送得调度请求,其中,所述调度请求至少携带有工作集群标识;

4、调用kubeconfig工具导入与所述工作集群标识相对应的目标工作集群以及与所述目标工作集群相对应的目标工作节点;

5、获取预先配置的自动化测试用例执行脚本,并执行所述自动化测试用例执行脚本;

6、获取所述工作节点的cpu可用数据、内存可用数据以及节点空闲数据;

7、根据预设打分机制对各个工作节点的cpu可用数据、内存可用数据以及节点空闲数据进行打分操作,得到打分结果;

8、基于预设的可用打分阈值对所述打分结果进行筛选操作,得到可用打分结果以及与所述可用打分结果相对应的可用工作节点;

9、调用用例历史数据库,并基于所述用例历史数据库中的历史数据以及分组算法对所述自动化测试用例执行脚本进行分组操作,得到分组策略;

10、根据所述可用工作节点以及所述分组策略生成调度策略;

11、根据所述调度策略对所述自动化测试用例执行脚本进行调度操作。

12、所述根据预设打分机制对各个工作节点的cpu可用数据、内存可用数据以及节点空闲数据进行打分操作,得到打分结果的步骤,还包括下述步骤:

13、获取预设的cpu权重以及内存权重;

14、分别计算每个工作节点的cpu可用数据与所述cpu权重的乘积,得到每个工作节点的cpu分值;

15、分别计算每个工作节点的内存可用数据与所述内存权重的乘积,得到每个工作节点的内存分值;

16、分别计算每个工作节点的cpu分值以及内存分值的加权求和,得到所述打分结果。

17、进一步的,所述调用用例历史数据库,并基于所述用例历史数据库中的历史数据以及分组算法对所述自动化测试用例执行脚本进行分组操作,得到分组策略的步骤,具体包括下述步骤:

18、获取所述各个自动化测试用例的执行时间;

19、根据最少总执行时间策略对所述执行时间进行时间分配操作,得到所述分组策略。

20、进一步的,所述调用用例历史数据库,并基于所述用例历史数据库中的历史数据以及分组算法对所述自动化测试用例执行脚本进行分组操作,得到分组策略的步骤,具体包括下述步骤:

21、获取所述各个自动化测试用例的资源需求量;

22、根据资源需求平均策略对所述资源需求量进行资源分配操作,得到所述分组策略。

23、进一步的,所述调用用例历史数据库,并基于所述用例历史数据库中的历史数据以及分组算法对所述自动化测试用例执行脚本进行分组操作,得到分组策略的步骤,具体包括下述步骤:

24、获取所述各个自动化测试用例的执行特性;

25、将执行特性相同的自动化测试用例划分为同一组别,得到所述分组策略。

26、为了解决上述技术问题,本申请实施例还提供一种应用于测试用例分布式运行的智能调度装置,采用了如下所述的技术方案:

27、请求获取模块,用于接收用户终端发送得调度请求,其中,所述调度请求至少携带有工作集群标识;

28、数据导入模块,用于调用kubeconfig工具导入与所述工作集群标识相对应的目标工作集群以及与所述目标工作集群相对应的目标工作节点;

29、脚本执行模块,用于获取预先配置的自动化测试用例执行脚本,并执行所述自动化测试用例执行脚本;

30、数据采集模块,用于获取执行所述自动化测试用例执行脚本时所述工作节点的cpu可用数据、内存可用数据以及节点空闲数据;

31、打分模块,用于根据预设打分机制对各个工作节点的cpu可用数据、内存可用数据以及节点空闲数据进行打分操作,得到打分结果;

32、筛选模块,用于基于预设的可用打分阈值对所述打分结果进行筛选操作,得到可用打分结果以及与所述可用打分结果相对应的可用工作节点;

33、分组模块,用于调用用例历史数据库,并基于所述用例历史数据库中的历史数据以及分组算法对所述自动化测试用例执行脚本进行分组操作,得到分组策略;

34、策略生成模块,用于根据所述可用工作节点以及所述分组策略生成调度策略;

35、调度操作模块,用于根据所述调度策略对所述自动化测试用例执行脚本进行调度操作。

36、进一步的,所述打分模块包括:

37、权重获取子模块,用于获取预设的cpu权重以及内存权重;

38、第一乘积子模块,用于分别计算每个工作节点的cpu可用数据与所述cpu权重的乘积,得到每个工作节点的cpu分值;

39、第二乘积子模块,用于分别计算每个工作节点的内存可用数据与所述内存权重的乘积,得到每个工作节点的内存分值;

40、加权求和子模块,用于分别计算每个工作节点的cpu分值以及内存分值的加权求和,得到所述打分结果。

41、进一步的,所述计算模块包括:

42、子模块,用于获取所述各个自动化测试用例的执行时间;

43、子模块,用于根据最少总执行时间策略对所述执行时间进行时间分配操作,得到所本文档来自技高网...

【技术保护点】

1.一种应用于测试用例分布式运行的智能调度方法,其特征在于,包括下述步骤:

2.根据权利要求1所述的应用于测试用例分布式运行的智能调度方法,其特征在于,所述根据预设打分机制对各个工作节点的cpu可用数据、内存可用数据以及节点空闲数据进行打分操作,得到打分结果的步骤,还包括下述步骤:

3.根据权利要求1所述的应用于测试用例分布式运行的智能调度方法,其特征在于,所述调用用例历史数据库,并基于所述用例历史数据库中的历史数据以及分组算法对所述自动化测试用例执行脚本进行分组操作,得到分组策略的步骤,具体包括下述步骤:

4.根据权利要求1所述的应用于测试用例分布式运行的智能调度方法,其特征在于,所述调用用例历史数据库,并基于所述用例历史数据库中的历史数据以及分组算法对所述自动化测试用例执行脚本进行分组操作,得到分组策略的步骤,具体包括下述步骤:

5.根据权利要求1所述的应用于测试用例分布式运行的智能调度方法,其特征在于,所述调用用例历史数据库,并基于所述用例历史数据库中的历史数据以及分组算法对所述自动化测试用例执行脚本进行分组操作,得到分组策略的步骤,具体包括下述步骤:

6.一种应用于测试用例分布式运行的智能调度装置,其特征在于,包括:

7.根据权利要求6所述的应用于测试用例分布式运行的智能调度装置,其特征在于,所述打分模块包括:

8.根据权利要求6所述的应用于测试用例分布式运行的智能调度装置,其特征在于,所述计算模块包括:

9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至5中任一项所述的应用于测试用例分布式运行的智能调度方法的步骤。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至5中任一项所述的应用于测试用例分布式运行的智能调度方法的步骤。

...

【技术特征摘要】

1.一种应用于测试用例分布式运行的智能调度方法,其特征在于,包括下述步骤:

2.根据权利要求1所述的应用于测试用例分布式运行的智能调度方法,其特征在于,所述根据预设打分机制对各个工作节点的cpu可用数据、内存可用数据以及节点空闲数据进行打分操作,得到打分结果的步骤,还包括下述步骤:

3.根据权利要求1所述的应用于测试用例分布式运行的智能调度方法,其特征在于,所述调用用例历史数据库,并基于所述用例历史数据库中的历史数据以及分组算法对所述自动化测试用例执行脚本进行分组操作,得到分组策略的步骤,具体包括下述步骤:

4.根据权利要求1所述的应用于测试用例分布式运行的智能调度方法,其特征在于,所述调用用例历史数据库,并基于所述用例历史数据库中的历史数据以及分组算法对所述自动化测试用例执行脚本进行分组操作,得到分组策略的步骤,具体包括下述步骤:

5.根据权利要求1所述的应用于测试用例分布式运行的智能调度方法,其特征在于...

【专利技术属性】
技术研发人员:周伟衢唐海群郑玉麟
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1