CN115292164A - 基于VirtualBox的分布式自动化测试方法 - Google Patents
基于VirtualBox的分布式自动化测试方法 Download PDFInfo
- Publication number
- CN115292164A CN115292164A CN202210802425.9A CN202210802425A CN115292164A CN 115292164 A CN115292164 A CN 115292164A CN 202210802425 A CN202210802425 A CN 202210802425A CN 115292164 A CN115292164 A CN 115292164A
- Authority
- CN
- China
- Prior art keywords
- test
- virtual machine
- virtualbox
- testing method
- virtual
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了基于VirtualBox的分布式自动化测试方法,包括在分布式自动化测试***中的每台服务器上部署VirtualBox虚拟环境;在主控机上勾选并执行测试用例;在已部署虚拟环境的服务器中创建虚拟机;控制每台虚拟机执行powershell脚本启动仿真和测试驱动,给启动的仿真环境分配测试用例完成测试任务。通过动态创建robot测试进程,并动态分配测试用例和IP到该测试进程,使得测试用例调用该IP指向的主机的测试驱动完成测试任务,确保测试用例实时动态分发,避免有虚拟机处于空闲状态的情况,提升测试效率,缩短测试执行时间。
Description
技术领域
本申请涉及程序测试领域,尤其涉及基于VirtualBox的分布式自动化测试方法。
背景技术
轨道交通行业的信号***是CPU密集型的,完整的仿真测试环境启动后***进程数量很多,资源占用巨大,***网络模型又相当复杂,所以一般1台PC最多只能起一个完整的仿真实例。信号***的业务操作非常耗时,扳动一个道岔需要等待五秒,判断进路是否开放,最长可能需要二十秒,导致自动化测试执行的时间非常长。
发明内容
本申请实施例提出了基于VirtualBox的分布式自动化测试方法,通过动态创建测试进程,同时动态分配测试用例和IP到该测试进程,使得测试用例调用该IP指向的主机的测试驱动完成测试任务,确保测试用例实时动态分发,避免有虚拟机处于空闲状态,提升测试效率,缩短测试时间。
具体的,本申请实施例提出的基于VirtualBox的分布式自动化测试方法,所述方法包括:
S1,在分布式自动化测试***中的每台服务器上部署VirtualBox虚拟环境;
S2,在主控机上勾选并执行测试用例;
S3,在已部署的虚拟环境中创建虚拟机;
S4,控制每台虚拟机执行脚本,在启动的仿真环境中分配测试用例完成测试任务。
可选的,所述S1包括:
S11,在每台服务器上安装VirtualBox,导入虚拟机镜像,
S12,在每台服务器上运行分布式自动化测试***的服务端程序,用于远程创建和分配虚拟机资源,控制虚拟机开关机。
可选的,所述虚拟机镜像包括:
仿真环境用到的回环网卡、.net framework4.0、powershell5.0、powershell远程服务开机自启动。
可选的,所述S2包括:
S21,主控机上打开分布式自动化测试***;
S22,打开测试目录,勾选测试用例,点击执行,勾选的测试用例都会进入待执行状态。
可选的,所述S3包括:
S31,在虚拟机管理页面创建指定参数的虚拟机;
S32,在虚拟机管理页面,选择上一步创建好的所有虚拟机,点击开机,等待所有虚拟机开机完成。
可选的,所述指定参数包括:
每个服务器IP、虚拟机CPU核心数、RAM大小、创建数量。
可选的,所述S4包括:
S41,在环境部署页面选择仿真包开始部署;
S42,如果当前虚拟机为新建立的测试机,则向当前测试机分配虚拟机IP并分配测试用例;
S43,如果当前虚拟机中不存在待执行的测试用例,则测试完成。
可选的,所述S41包括:
S411,将仿真包和测试驱动同时复制并解压到每一台虚拟机指定目录,并在每一台虚拟机中执行指定脚本,启动仿真环境和测试驱动。
可选的,所述S42包括:
S421,如果虚拟机的仿真环境和测试驱动启动完成,***会启动一个测试进程,并向所述测试进程分配该虚拟机IP;
S422,持续给所述进程分配测试用例,所述进程的测试用例会调用所述IP所在虚拟机的测试驱动完成测试任务。
可选的,所述S4还包括:
S44,***每执行完一个测试用例,记录所述用例的测试结果和测试日志。
有益效果:
为了缩短总的测试执行时间,不再需要测试人员在多台电脑上部署信号***仿真测试环境、完整的自动化测试环境(测试驱动服务、python、用到的第三方python库、robot关键字、robot测试用例、ride IDE)。也不再需要测试人员单独在每台电脑上分别选择不同的测试用例完成测试执行。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提出的基于VirtualBox的分布式自动化测试方法的流程图;
图2为本申请实施例提出的实施例的流程图。
具体实施方式
为使本申请的结构和优点更加清楚,下面将结合附图对本申请的结构作进一步地描述。
具体的,本申请实施例提出的基于VirtualBox的分布式自动化测试方法,如图1所示,所述方法包括:
S1,在分布式自动化测试***中的每台服务器上部署VirtualBox虚拟环境;
S2,在主控机上勾选并执行测试用例;
S3,在已部署的虚拟环境中创建虚拟机;
S4,控制每台虚拟机执行脚本,在启动的仿真环境中分配测试用例完成测试任务。
在实施中,本申请实施例提出了分布式自动化测试方法,通过动态创建robot测试进程,并动态分配测试用例和IP到该测试进程,使得测试用例调用该IP指向的主机的测试驱动完成测试任务。该过程确保测试用例实时动态分发,只要有测试用例还未执行,就不会有电脑是空闲状态。解决了人工分发自动化测试用例这个过程非常繁琐,需要占用测试人员较多时间,而且人工不能做到实时控制,就会存在有的电脑闲置下来,而有的电脑还有许多测试用例还没执行的尴尬情况。
另外,由于测试框架相关的资源只需要放置在主控机上,降低了每台测试机部署测试环境的繁琐程度。通过VirtualBox虚拟机和自动化测试的紧密结合,测试环境部署和自动化测试可以无缝衔接。在测试过程中,测试环境可以动态扩展。Ride IDE执行自动化测试时,每台做测试执行的电脑都要占用1G以上的内存,资源占用较大,可能会降低仿真环境运行的稳定性,导致自动化测试执行的不稳定。同时也解决了没有充分利用高配置服务器资源,一台服务器也只能跑一个自动化测试的缺陷。
具体的,上述实施例中部署VirtualBox虚拟环境的步骤S1包括:
S11,在每台服务器上安装VirtualBox,导入虚拟机镜像,
S12,在每台服务器上运行分布式自动化测试***的服务端程序,用于远程创建和分配虚拟机资源,控制虚拟机开关机。
在实施中,虚拟机镜像包括:仿真环境用到的回环网卡、.net framework4.0、powershell5.0、powershell远程服务开机自启动。
上述实施例中对测试用例进行操作的步骤S2包括:
S21,主控机上打开分布式自动化测试***;
S22,打开测试目录,勾选测试用例,点击执行,勾选的测试用例都会进入待执行状态。
上述实施例中构建虚拟机的步骤S3包括:
S31,在虚拟机管理页面创建指定参数的虚拟机;
S32,在虚拟机管理页面,选择上一步创建好的所有虚拟机,点击开机,等待所有虚拟机开机完成。
在实施中,指定参数包括:每个服务器IP、虚拟机CPU核心数、RAM大小、创建数量。
可选的,所述S4包括:
S41,在环境部署页面选择仿真包开始部署;
S42,如果当前虚拟机为新建立的测试机,则向当前测试机分配虚拟机IP并分配测试用例;
S43,如果虚拟机已经执行完成一个测试用例,则继续为该虚拟机分配一个新的测试用例;
S44,如果不存在待执行的测试用例,则测试完成。
在实施中,S41包括:
S411,将仿真包和测试驱动同时复制并解压到每一台虚拟机指定目录,并在每一台虚拟机中执行指定脚本,启动仿真环境和测试驱动。
进行测试用例分配的S42包括:
S421,如果虚拟机的仿真环境和测试驱动启动完成,***会启动一个测试进程,并向所述测试进程分配该虚拟机IP;
S422,持续给所述进程分配测试用例,所述进程的测试用例会调用所述IP所在虚拟机的测试驱动完成测试任务。
可选的,所述S4还包括:
S44,***每执行完一个测试用例,记录所述用例的测试结果和测试日志。
在实施中,测试人员可以中途关闭某个虚拟机的测试任务,未执行完成的用例会重新添加到待执行列表,继续分配给其他虚拟机执行。测试执行过程中,用户可以添加新的虚拟机到测试任务中,同时执行步骤S44以便集中管理测试结果和测试日志。
具体的,如图2所示,上述分布式自动化测试方法的详细流程为:
步骤1,在每台服务器上安装VirtualBox并导入虚拟机镜像,虚拟机镜像中包含仿真环境用到的回环网卡、.net framework4.0、powershell5.0、powershell远程服务开机自启动等。
步骤2,在每台服务器上运行分布式自动化测试***的服务端程序,用于远程创建和分配虚拟机资源,控制虚拟机开关机等。
步骤3,主控机上打开分布式自动化测试***,打开测试目录,勾选测试用例,点击执行,勾选的测试用例都会进入待执行状态。
步骤4,在虚拟机管理页面,填写每个服务器IP,填写虚拟机CPU核心数、REM大小、创建数量,并点击创建,每台服务器上都会创建指定参数的虚拟机。
步骤5,在虚拟机管理页面,选择上一步创建好的所有虚拟机,点击开机,等待所有虚拟机开机完成。
步骤6,在环境部署页面,选择仿真包,点击开始部署。***会将仿真包和测试驱动同时复制并解压到每一台虚拟机指定目录,并在每一台虚拟机中执行指定脚本,启动仿真环境和测试驱动。
步骤7,只要有一台虚拟机的仿真环境和测试驱动启动完成,***会启动一个测试进程,分配虚拟机IP给该进程,并持续给该进程分配测试用例,该进程的测试用例会调用该IP所在虚拟机的测试驱动完成测试任务。
步骤8,***每执行完一个测试用例,就记录该用例的测试结果和测试日志。
通过执行前述基于VirtualBox的分布式自动化测试方法,解决了信号***仿真环境的自动化测试,环境部署重复,并行效率低、并行数小等问题。使用基于该方法开发的工具,以4台10核心96G服务器,每台服务器启动5个虚拟机,共计20台测试主机为例,环境部署时间由原来的每台20分钟,共计400分钟,并行部署后只需要12分钟左右,缩短为原来的3%(比单台还少,因为每台测试主机只需要部署仿真环境和测试驱动服务,不需要安装python、各种库、ride IDE,不需要放置robot关键字和robot测试用例),测试执行时间可以缩短为单台执行的5%,测试报告汇总和错误日志汇总由原来的1人天减少到0人天。测试执行环境和仿真环境分离,测试稳定性也能大幅提高。
以上所述仅为本申请的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.基于VirtualBox的分布式自动化测试方法,其特征在于,所述方法包括:
S1,在分布式自动化测试***中的每台服务器上部署VirtualBox虚拟环境;
S2,在主控机上勾选并执行测试用例;
S3,在已部署的虚拟环境中创建虚拟机;
S4,控制每台虚拟机执行脚本,在启动的仿真环境中分配测试用例完成测试任务。
2.根据权利要求1所述的基于VirtualBox的分布式自动化测试方法,其特征在于,所述S1包括:
S11,在每台服务器上安装VirtualBox,导入虚拟机镜像,
S12,在每台服务器上运行分布式自动化测试***的服务端程序,用于远程创建和分配虚拟机资源,控制虚拟机开关机。
3.根据权利要求2所述的基于VirtualBox的分布式自动化测试方法,其特征在于,所述虚拟机镜像包括:
仿真环境用到的回环网卡、.net framework4.0、powershell5.0、powershell远程服务开机自启动。
4.根据权利要求1所述的基于VirtualBox的分布式自动化测试方法,其特征在于,所述S2包括:
S21,主控机上打开分布式自动化测试***;
S22,打开测试目录,勾选测试用例,点击执行,勾选的测试用例都会进入待执行状态。
5.根据权利要求1所述的基于VirtualBox的分布式自动化测试方法,其特征在于,所述S3包括:
S31,在虚拟机管理页面创建指定参数的虚拟机;
S32,在虚拟机管理页面,选择上一步创建好的所有虚拟机,点击开机,等待所有虚拟机开机完成。
6.根据权利要求5所述的基于VirtualBox的分布式自动化测试方法,其特征在于,所述指定参数包括:
每个服务器IP、虚拟机CPU核心数、RAM大小、创建数量。
7.根据权利要求1所述的基于VirtualBox的分布式自动化测试方法,其特征在于,所述S4包括:
S41,在环境部署页面选择仿真包开始部署;
S42,如果当前虚拟机为新建立的测试机,则向当前测试机分配测试用例;
S43,如果虚拟机已经执行完成一个测试用例,则继续为该虚拟机分配一个新的测试用例;
S44,如果不存在待执行的测试用例,则测试完成。
8.根据权利要求1所述的基于VirtualBox的分布式自动化测试方法,其特征在于,所述S41包括:
S411,将仿真包和测试驱动同时复制并解压到每一台虚拟机指定目录,并在每一台虚拟机中执行指定脚本,启动仿真环境和测试驱动。
9.根据权利要求1所述的基于VirtualBox的分布式自动化测试方法,其特征在于,所述S42包括:
S421,如果虚拟机的仿真环境和测试驱动启动完成,***会启动一个测试进程,并向所述测试进程分配该虚拟机IP;
S422,持续给所述进程分配测试用例,控制所述进程的测试用例会调用所述IP所在虚拟机的测试驱动完成测试任务。
10.根据权利要求1所述的基于VirtualBox的分布式自动化测试方法,其特征在于,所述S4还包括:
S44,***每执行完一个测试用例,记录所述用例的测试结果和测试日志。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210802425.9A CN115292164A (zh) | 2022-07-07 | 2022-07-07 | 基于VirtualBox的分布式自动化测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210802425.9A CN115292164A (zh) | 2022-07-07 | 2022-07-07 | 基于VirtualBox的分布式自动化测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115292164A true CN115292164A (zh) | 2022-11-04 |
Family
ID=83822393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210802425.9A Pending CN115292164A (zh) | 2022-07-07 | 2022-07-07 | 基于VirtualBox的分布式自动化测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115292164A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115904635A (zh) * | 2023-02-16 | 2023-04-04 | 江西联创精密机电有限公司 | 一种基于服务器的虚拟机管理方法及*** |
-
2022
- 2022-07-07 CN CN202210802425.9A patent/CN115292164A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115904635A (zh) * | 2023-02-16 | 2023-04-04 | 江西联创精密机电有限公司 | 一种基于服务器的虚拟机管理方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11593149B2 (en) | Unified resource management for containers and virtual machines | |
CN109120678B (zh) | 用于分布式存储***的服务托管的方法和装置 | |
US6988139B1 (en) | Distributed computing of a job corresponding to a plurality of predefined tasks | |
US8918783B2 (en) | Managing virtual computers simultaneously with static and dynamic dependencies | |
US9996331B1 (en) | Customized application state transition | |
WO2019037203A1 (zh) | 应用程序的性能测试方法、装置、计算机设备和存储介质 | |
US20030131285A1 (en) | Automated system that tests software on multiple computers | |
CN111176818B (zh) | 分布式预测的方法、装置、***、电子设备及存储介质 | |
CN110765026A (zh) | 自动化测试方法、装置、存储介质及设备 | |
CN111432022A (zh) | 模型部署方法、服务器和计算机可读存储介质 | |
CN112862098A (zh) | 一种集群训练任务处理的方法及*** | |
CN111857951A (zh) | 容器化部署平台及部署方法 | |
CN111666141A (zh) | 任务调度方法、装置、设备及计算机存储介质 | |
CN114816730A (zh) | 一种机器人流程自动化云服务***及实现方法 | |
CN115292164A (zh) | 基于VirtualBox的分布式自动化测试方法 | |
CN113434283B (zh) | 服务调度方法及装置、服务器、计算机可读存储介质 | |
US20230040842A1 (en) | Network service management system and network service management method | |
CN112328403B (zh) | 一种SparkContext的配置方法、装置及服务端 | |
US11269615B2 (en) | Automatically orchestrating deployments of software-defined storage stacks | |
CN115237441A (zh) | 一种基于云平台的升级测试方法、装置及介质 | |
CN112328297B (zh) | 一种在Linux上兼容运行的Android***的升级方法与装置 | |
CN113326049A (zh) | 规则引擎的验证发布方法、装置、终端设备及介质 | |
CN113037582A (zh) | 网络功能虚拟化nfv测试方法、装置和*** | |
US20240005268A1 (en) | Network architecture provisioning using build sheets | |
Zheng et al. | Toward easy migration of client-server applications to the cloud |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |