基于VirtualBox的分布式自动化测试方法与流程

文档序号:32055756发布日期:2022-11-04 21:18阅读:114来源:国知局
基于VirtualBox的分布式自动化测试方法与流程
基于virtualbox的分布式自动化测试方法
技术领域
1.本技术涉及程序测试领域,尤其涉及基于virtualbox的分布式自动化测试方法。


背景技术:

2.轨道交通行业的信号系统是cpu密集型的,完整的仿真测试环境启动后系统进程数量很多,资源占用巨大,系统网络模型又相当复杂,所以一般1台pc最多只能起一个完整的仿真实例。信号系统的业务操作非常耗时,扳动一个道岔需要等待五秒,判断进路是否开放,最长可能需要二十秒,导致自动化测试执行的时间非常长。


技术实现要素:

3.本技术实施例提出了基于virtualbox的分布式自动化测试方法,通过动态创建测试进程,同时动态分配测试用例和ip到该测试进程,使得测试用例调用该ip指向的主机的测试驱动完成测试任务,确保测试用例实时动态分发,避免有虚拟机处于空闲状态,提升测试效率,缩短测试时间。
4.具体的,本技术实施例提出的基于virtualbox的分布式自动化测试方法,所述方法包括:
5.s1,在分布式自动化测试系统中的每台服务器上部署virtualbox虚拟环境;
6.s2,在主控机上勾选并执行测试用例;
7.s3,在已部署的虚拟环境中创建虚拟机;
8.s4,控制每台虚拟机执行脚本,在启动的仿真环境中分配测试用例完成测试任务。
9.可选的,所述s1包括:
10.s11,在每台服务器上安装virtualbox,导入虚拟机镜像,
11.s12,在每台服务器上运行分布式自动化测试系统的服务端程序,用于远程创建和分配虚拟机资源,控制虚拟机开关机。
12.可选的,所述虚拟机镜像包括:
13.仿真环境用到的回环网卡、.net framework4.0、powershell5.0、powershell远程服务开机自启动。
14.可选的,所述s2包括:
15.s21,主控机上打开分布式自动化测试系统;
16.s22,打开测试目录,勾选测试用例,点击执行,勾选的测试用例都会进入待执行状态。
17.可选的,所述s3包括:
18.s31,在虚拟机管理页面创建指定参数的虚拟机;
19.s32,在虚拟机管理页面,选择上一步创建好的所有虚拟机,点击开机,等待所有虚拟机开机完成。
20.可选的,所述指定参数包括:
21.每个服务器ip、虚拟机cpu核心数、ram大小、创建数量。
22.可选的,所述s4包括:
23.s41,在环境部署页面选择仿真包开始部署;
24.s42,如果当前虚拟机为新建立的测试机,则向当前测试机分配虚拟机ip并分配测试用例;
25.s43,如果当前虚拟机中不存在待执行的测试用例,则测试完成。
26.可选的,所述s41包括:
27.s411,将仿真包和测试驱动同时复制并解压到每一台虚拟机指定目录,并在每一台虚拟机中执行指定脚本,启动仿真环境和测试驱动。
28.可选的,所述s42包括:
29.s421,如果虚拟机的仿真环境和测试驱动启动完成,系统会启动一个测试进程,并向所述测试进程分配该虚拟机ip;
30.s422,持续给所述进程分配测试用例,所述进程的测试用例会调用所述ip所在虚拟机的测试驱动完成测试任务。
31.可选的,所述s4还包括:
32.s44,系统每执行完一个测试用例,记录所述用例的测试结果和测试日志。
33.有益效果:
34.为了缩短总的测试执行时间,不再需要测试人员在多台电脑上部署信号系统仿真测试环境、完整的自动化测试环境(测试驱动服务、python、用到的第三方python库、robot关键字、robot测试用例、ride ide)。也不再需要测试人员单独在每台电脑上分别选择不同的测试用例完成测试执行。
附图说明
35.为了更清楚地说明本技术的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
36.图1为本技术实施例提出的基于virtualbox的分布式自动化测试方法的流程图;
37.图2为本技术实施例提出的实施例的流程图。
具体实施方式
38.为使本技术的结构和优点更加清楚,下面将结合附图对本技术的结构作进一步地描述。
39.具体的,本技术实施例提出的基于virtualbox的分布式自动化测试方法,如图1所示,所述方法包括:
40.s1,在分布式自动化测试系统中的每台服务器上部署virtualbox虚拟环境;
41.s2,在主控机上勾选并执行测试用例;
42.s3,在已部署的虚拟环境中创建虚拟机;
43.s4,控制每台虚拟机执行脚本,在启动的仿真环境中分配测试用例完成测试任务。
44.在实施中,本技术实施例提出了分布式自动化测试方法,通过动态创建robot测试
进程,并动态分配测试用例和ip到该测试进程,使得测试用例调用该ip指向的主机的测试驱动完成测试任务。该过程确保测试用例实时动态分发,只要有测试用例还未执行,就不会有电脑是空闲状态。解决了人工分发自动化测试用例这个过程非常繁琐,需要占用测试人员较多时间,而且人工不能做到实时控制,就会存在有的电脑闲置下来,而有的电脑还有许多测试用例还没执行的尴尬情况。
45.另外,由于测试框架相关的资源只需要放置在主控机上,降低了每台测试机部署测试环境的繁琐程度。通过virtualbox虚拟机和自动化测试的紧密结合,测试环境部署和自动化测试可以无缝衔接。在测试过程中,测试环境可以动态扩展。ride ide执行自动化测试时,每台做测试执行的电脑都要占用1g以上的内存,资源占用较大,可能会降低仿真环境运行的稳定性,导致自动化测试执行的不稳定。同时也解决了没有充分利用高配置服务器资源,一台服务器也只能跑一个自动化测试的缺陷。
46.具体的,上述实施例中部署virtualbox虚拟环境的步骤s1包括:
47.s11,在每台服务器上安装virtualbox,导入虚拟机镜像,
48.s12,在每台服务器上运行分布式自动化测试系统的服务端程序,用于远程创建和分配虚拟机资源,控制虚拟机开关机。
49.在实施中,虚拟机镜像包括:仿真环境用到的回环网卡、.net framework4.0、powershell5.0、powershell远程服务开机自启动。
50.上述实施例中对测试用例进行操作的步骤s2包括:
51.s21,主控机上打开分布式自动化测试系统;
52.s22,打开测试目录,勾选测试用例,点击执行,勾选的测试用例都会进入待执行状态。
53.上述实施例中构建虚拟机的步骤s3包括:
54.s31,在虚拟机管理页面创建指定参数的虚拟机;
55.s32,在虚拟机管理页面,选择上一步创建好的所有虚拟机,点击开机,等待所有虚拟机开机完成。
56.在实施中,指定参数包括:每个服务器ip、虚拟机cpu核心数、ram大小、创建数量。
57.可选的,所述s4包括:
58.s41,在环境部署页面选择仿真包开始部署;
59.s42,如果当前虚拟机为新建立的测试机,则向当前测试机分配虚拟机ip并分配测试用例;
60.s43,如果虚拟机已经执行完成一个测试用例,则继续为该虚拟机分配一个新的测试用例;
61.s44,如果不存在待执行的测试用例,则测试完成。
62.在实施中,s41包括:
63.s411,将仿真包和测试驱动同时复制并解压到每一台虚拟机指定目录,并在每一台虚拟机中执行指定脚本,启动仿真环境和测试驱动。
64.进行测试用例分配的s42包括:
65.s421,如果虚拟机的仿真环境和测试驱动启动完成,系统会启动一个测试进程,并向所述测试进程分配该虚拟机ip;
66.s422,持续给所述进程分配测试用例,所述进程的测试用例会调用所述ip所在虚拟机的测试驱动完成测试任务。
67.可选的,所述s4还包括:
68.s44,系统每执行完一个测试用例,记录所述用例的测试结果和测试日志。
69.在实施中,测试人员可以中途关闭某个虚拟机的测试任务,未执行完成的用例会重新添加到待执行列表,继续分配给其他虚拟机执行。测试执行过程中,用户可以添加新的虚拟机到测试任务中,同时执行步骤s44以便集中管理测试结果和测试日志。
70.具体的,如图2所示,上述分布式自动化测试方法的详细流程为:
71.步骤1,在每台服务器上安装virtualbox并导入虚拟机镜像,虚拟机镜像中包含仿真环境用到的回环网卡、.net framework4.0、powershell5.0、powershell远程服务开机自启动等。
72.步骤2,在每台服务器上运行分布式自动化测试系统的服务端程序,用于远程创建和分配虚拟机资源,控制虚拟机开关机等。
73.步骤3,主控机上打开分布式自动化测试系统,打开测试目录,勾选测试用例,点击执行,勾选的测试用例都会进入待执行状态。
74.步骤4,在虚拟机管理页面,填写每个服务器ip,填写虚拟机cpu核心数、rem大小、创建数量,并点击创建,每台服务器上都会创建指定参数的虚拟机。
75.步骤5,在虚拟机管理页面,选择上一步创建好的所有虚拟机,点击开机,等待所有虚拟机开机完成。
76.步骤6,在环境部署页面,选择仿真包,点击开始部署。系统会将仿真包和测试驱动同时复制并解压到每一台虚拟机指定目录,并在每一台虚拟机中执行指定脚本,启动仿真环境和测试驱动。
77.步骤7,只要有一台虚拟机的仿真环境和测试驱动启动完成,系统会启动一个测试进程,分配虚拟机ip给该进程,并持续给该进程分配测试用例,该进程的测试用例会调用该ip所在虚拟机的测试驱动完成测试任务。
78.步骤8,系统每执行完一个测试用例,就记录该用例的测试结果和测试日志。
79.通过执行前述基于virtualbox的分布式自动化测试方法,解决了信号系统仿真环境的自动化测试,环境部署重复,并行效率低、并行数小等问题。使用基于该方法开发的工具,以4台10核心96g服务器,每台服务器启动5个虚拟机,共计20台测试主机为例,环境部署时间由原来的每台20分钟,共计400分钟,并行部署后只需要12分钟左右,缩短为原来的3%(比单台还少,因为每台测试主机只需要部署仿真环境和测试驱动服务,不需要安装python、各种库、ride ide,不需要放置robot关键字和robot测试用例),测试执行时间可以缩短为单台执行的5%,测试报告汇总和错误日志汇总由原来的1人天减少到0人天。测试执行环境和仿真环境分离,测试稳定性也能大幅提高。
80.以上所述仅为本技术的实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1