一种融合虚拟化多任务的自动化测试系统及方法与流程

文档序号:18630176发布日期:2019-09-06 23:30阅读:188来源:国知局
一种融合虚拟化多任务的自动化测试系统及方法与流程

本发明涉及服务器自动化测试技术领域,具体涉及一种融合虚拟化多任务的自动化测试系统及方法。



背景技术:

自动化测试是目前一种比较节省人力,提高测试效率并减少操作失误的手段。将自动化需要的软件和硬件环境搭建完成,剩下的工作只需要等待测试机台自动完成脚本的运行和收集测试数据,但其前提是准备好测试需要的软硬环境,这一过程中出现问题都可能导致后续测试失败或是数据出现误差。

目前自动化过程存在的问题,自动化测试任务多,单一主服务器平台对资源和任务的分配比较吃力,某一项自动化测试出现问题是,会影响到其他测试任务的进行,目前自动化测试大多实行串行执行的方式,对时间要求比较迫切且测试任务比较多的场景比较难以应付对主服务器的需求量过多,多任务下无法提供多台主服务器造成资源的过度使用。



技术实现要素:

针对目前自动化测试大多实行串行执行的方式,对时间要求比较迫切且测试任务比较多的场景比较难以应付对主服务器的需求量过多,多任务下无法提供多台主服务器造成资源的过度使用的问题,本发明提供一种融合虚拟化多任务的自动化测试系统及方法。

本发明的技术方案是:

第一方面,本发明技术方案提供一种融合虚拟化多任务的自动化测试系统,包括脚本服务器、测试机和服务器端;

所述的脚本服务器、测试机分别与服务器端进行通信连接;

所述的脚本服务器与测试机进行通信连接;

所述的脚本服务器,用于存储测试脚本并提供脚本测试任务的服务功能;

测试机,用于接收脚本服务器的指令执行自动化测试脚本;

所述的服务器端,用于建立多项虚拟任务并给每个任务分配虚拟资源,通过发送远程命令执行自动化测试服务。

优选地,所述的服务器端包括主服务器和vm虚拟化程序模块;

主服务器,用于提供测试脚本和测试工具的远程命令,执行在dtu脚本执行过程的远程模拟操作;

vm虚拟化程序模块,用于将主服务器原单一系统通过vm虚拟化分成若干单独独立功能的子系统,每一个子系统都能提供自动化测试服务,实现多任务的执行和任务联系分开的功能。

优选地,该系统还包括ftp服务器,所述的ftp服务器与通过vm虚拟化分成的若干单独独立功能的子系统进行通信连接。

优选地,服务器端还包括网络地址转换;

网络地址转换,用于将每一个通过vm虚拟化分成的单独独立功能的子系统与待测的测试机台、ftp服务器和脚本服务器进行通信。

第二方面,本发明技术方案还提供一种融合虚拟化多任务的自动化测试方法,包括如下步骤:

测试机向脚本服务器发送测试请求;

脚本服务器接收请求并根据接收到的请求信息将测试脚本下载到测试机;

测试机按照测试list执行测试并在执行过程中与服务器端的测试list实施通信进行执行进度确认。

优选地,所述的测试机向脚本服务器发送测试请求的步骤之前,包括:

测试机向ftp服务器发出环境设置下载请求;

ftp会根据不同的测试请求提供不同的系统环境文件和测试环境变量;

当ftp中的环境文件下载完毕并搭建完成后,执行步骤:测试机向脚本服务器发送测试请求。

优选地,所述的测试机向ftp服务器发出环境设置下载请求的步骤之前还包括:

搭建测试环境,包括:对测试机的网络和bmc进行设置,测试机分别与脚本服务器、主服务器和ftp服务器在同一网络内并能保持通信;

主服务器建立多项虚拟任务并给每个任务分配虚拟资源。

优选地,该方法还包括:当测试机执行测试list完毕后,主服务器发出数据汇总上传的执行,每个测试机将数据打包并上传到服务器端供分析确认。

优选地,该方法还包括:

当数据上传到服务器端,根据测试list中每个项的测试结果进行自动化判定,确认结果pass/fail。

优选地,所述的测试list的测试项包括带宽测试、延时测试、rmt测试和读写测试。

在主自动化服务器系统中植入虚拟化功能,将自动化的每一个测试功能分割开来,形成一个个独立的并能独立提供服务的子系统,这样一旦有自动化测试任务需求,各子系统间独立运行互不干涉,以最高的效率同时提供多项自动化测试的执行。

从以上技术方案可以看出,本发明具有以下优点:整体测试过程不需要人工干预,当机通信和测试list搭建完成后,所有的测试都执行自动化。稳定性、性能和压力测试一般需要48-72h的长期测试,这过程如果靠人力执行,对项目的整体开发进度会造成大约10%的delay。通过该自动化就是为了释放人力提供效率,在自动化测试的同时可以并行其他工作任务。

此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。

由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例的一种融合虚拟化多任务的自动化测试方法的示意性流程图。

图2是本发明实施例一种融合虚拟化多任务的自动化测试的装置的示意性框图。

具体实施方式

为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

实施例一

如图2所示,本发明技术方案提供一种融合虚拟化多任务的自动化测试系统,包括脚本服务器11、测试机33和服务器端22;

所述的脚本服务器11、测试机分别与服务器端22进行通信连接;

所述的脚本服务器11与测试机33进行通信连接;

所述的脚本服务器11,用于存储测试脚本并提供脚本测试任务的服务功能;

测试机33,用于接收脚本服务器11的指令执行自动化测试脚本;

所述的服务器端22,用于建立多项虚拟任务并给每个任务分配虚拟资源,通过发送远程命令执行自动化测试服务。

为了实现将服务器端原单一系统通过vm虚拟化分成需要的单独独立功能的子系统,每一个子系统都能提供自动化测试服务,实现多任务的执行和任务联系分开的功能所述的服务器端包括主服务器和vm虚拟化程序模块;

主服务器44,用于提供测试脚本和测试工具的远程命令,执行在dtu脚本执行过程的远程模拟操作;

vm虚拟化程序模块,用于将主服务器原单一系统通过vm虚拟化分成若干单独独立功能的子系统,每一个子系统都能提供自动化测试服务,实现多任务的执行和任务联系分开的功能。

需要说明的是,为了是测试过程进一步自动化,该系统还包括ftp服务器66,所述的ftp服务器66与通过vm虚拟化分成的若干单独独立功能的子系统进行通信连接,为测试机33和主服务器44提供测试工具,当测试机执行自动化时脚本时,需要的测试工具都会从ftp服务器中下载。

为了保证每一个子系统都能与需要测试的测试机、ftp服务器和脚本服务器进行通信和命令执行,服务器端22还包括网络地址转换55;

网络地址转换55,用于将每一个通过vm虚拟化分成的单独独立功能的子系统与待测的测试机台33、ftp服务器66和脚本服务器11进行通信。

需要执行自动化测试时,选择需要测试的脚本,然后将测试机33、主服务器44、ftp服务器66的ip和ssh进行端口互联,实现机台间通信互联,相互访问。在主自动化服务器系统中植入虚拟化功能,将自动化的每一个测试功能分割开来,形成一个个独立的并能独立提供服务的子系统,这样一旦有自动化测试任务需求,各子系统间独立运行互不干涉,以最高的效率同时提供多项自动化测试的执行。

实施例二

如图1所示,本实施例需要测试3款内存的性能,性能测试内容包含数据的读写、带宽、延时和rmt测试,三款内存测试需要同时进行,测试完成后需要提交测试数据报告;具体实现上述过程的融合虚拟化多任务的自动化测试方法,包括如下步骤:

s1:搭建测试环境,包括:对测试机的网络和bmc进行设置,测试机分别与脚本服务器、主服务器和ftp服务器在同一网络内并能保持通信;

本实施例中搭建三台测试机,分别安装三款内存到测试机中,对测试机的网络和bmc进行设置,保证测试机能分别与脚本服务器、主服务器和ftp服务器在同一网络内并能相互保持通信,在这个过程中保证测试机能分别与脚本服务器、主服务器和ftp服务器能相互通信的简单方法就是相互能ping通。这里网络的作用是测试机分别从不同上述服务器中下载可用的数据,bmc的作用是获取到服务器的发出的ipmi指令,执行数据获取、快关机、机台参数设定等;

s2:主服务器建立多项虚拟任务并给每个任务分配虚拟资源;需要说明的是,测试机搭建完成后,主服务器给每个任务分配虚拟资源,保证每个测试独立运行,不存在干扰,具体来说,在主服务器中存在一个任务分配系统,在系统中输入每个测试机的网络ip和bmc地址,并指定需要测试项目,这样就会给每个测试机形成一个测试list。

s3:测试机向ftp服务器发出环境设置下载请求;

s4:ftp会根据不同的测试请求提供不同的系统环境文件和测试环境变量;简单来说就是测试内存的就把内存需要的系统环境提供给测试机,测试硬盘的就把硬盘的环境提供下载,保证测试环境的可靠稳定;

s5:当ftp中的环境文件下载完毕并搭建完成后,测试机向脚本服务器发送测试请求;

s6:脚本服务器接收请求并根据接收到的请求信息将测试脚本下载到测试机;也就是,将需要测试带宽、延时、rmt和读写的专用脚本下载到测试机中;

s7:测试机按照测试list执行测试并在执行过程中与服务器端的测试list实施通信进行执行进度确认,当出现错误或终止时,服务器端将提供日志信息,帮助问题解决。

s8:当测试机执行测试list完毕后,主服务器发出数据汇总上传的执行,每个测试机将数据打包并上传到服务器端供分析确认。

s9:当数据上传到服务器端,根据测试list中每个项的测试结果进行自动化判定,确认结果pass/fail。

在主自动化服务器系统中植入虚拟化功能,将自动化的每一个测试功能分割开来,形成一个个独立的并能独立提供服务的子系统,这样一旦有自动化测试任务需求,各子系统间独立运行互不干涉,以最高的效率同时提供多项自动化测试的执行。

整体测试过程不需要人工干预,当机通信和测试list搭建完成后,所有的测试都执行自动化。稳定性、性能和压力测试一般需要48-72h的长期测试,这过程如果靠人力执行,对项目的整体开发进度会造成大约10%的delay。通过该自动化就是为了释放人力提供效率,在自动化测试的同时可以并行其他工作任务。

尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1