一种软件测试的方法、装置及系统与流程

文档序号:12063564阅读:183来源:国知局
一种软件测试的方法、装置及系统与流程

本发明涉及软件测试领域,特别是涉及一种基于云环境的软件测试的方法、装置及系统。



背景技术:

当前,大型待测试软件的测试路径可以达到几百甚至上千。而传统的测试方法包括两种:一种是选择其中常用的几种典型场景进行测试;另一种是部署多台测试服务器进行测试。

但是,典型场景的测试覆盖不全,容易遗漏测试场景。而通过多台测试服务器进行的测试,硬件成本非常高,且每个测试环境配置不一致,无法做到快速复制,环境搭建困难,后期环境维护的成本也高。



技术实现要素:

本发明的目的在于提供一种软件测试的方法、装置及系统,能够提高硬件资源利用率,自动化且快速地对待测试软件的所有场景进行功能测试,且不需要为每一个测试路径保留一个测试服务器。

为了实现上述的目的,本发明提供一种软件测试的方法,包括:

获取待测试软件的一测试路径的配置信息;

根据所述配置信息,控制一云服务器生成虚拟服务器;

控制所述虚拟服务器下载安装所述待测试软件;

控制所述虚拟服务器对所述待测试软件进行功能测试。

优选的,所述根据所述配置信息,控制一云服务器生成虚拟服务器的步骤包括:

根据所述配置信息,控制一云服务器从镜像服务器下载与所述配置信息对应的操作系统镜像;

控制所述云服务器根据所述操作系统镜像,生成对应的虚拟服务器。

优选的,所述控制所述虚拟服务器下载安装所述待测试软件的步骤之前还包括:

控制所述虚拟服务器从应用软件服务器下载所述待测试软件依赖的第三方应用软件并安装完善,所述第三方应用软件包括数据库。

优选的,当所述云服务器能够每次同时生成多个虚拟服务器时,

所述获取待测试软件的一测试路径的配置信息的步骤包括:

获取待测试软件的多条测试路径的配置信息;

所述根据所述配置信息,控制一云服务器生成虚拟服务器的步骤包括:

根据所述多条测试路径的配置信息,控制一云服务器生成多个虚拟服务器。

优选的,所述的软件测试的方法还包括:

在功能测试完成后,判断测试结果是否正常;

在判断结果为正常的情况下,控制所述云服务器删除所述虚拟服务器。

本发明还提供一种软件测试的装置,包括:

获取模块,用于获取待测试软件的一测试路径的配置信息;

第一控制模块,用于根据所述配置信息,控制一云服务器生成虚拟服务器;

第二控制模块,用于控制所述虚拟服务器下载安装所述待测试软件;

第三控制模块,用于控制所述虚拟服务器对所述待测试软件进行功能测试。

优选的,所述第一控制模块包括:

第一控制子模块,用于根据所述配置信息,控制一云服务器从镜像服务器下载与所述配置信息对应的操作系统镜像;

第二控制子模块,用于控制所述云服务器根据所述操作系统镜像,生成对应的虚拟服务器。

优选的,所述软件测试的装置还包括:

第四控制模块,用于控制所述虚拟服务器从应用软件服务器下载所述待测试软件依赖的第三方应用软件并安装完善,所述第三方应用软件包括数据库。

优选的,当所述云服务器能够每次同时生成多个虚拟服务器时,

所述获取模块具体用于获取待测试软件的多条测试路径的配置信息;

所述第一控制模块具体用于根据所述多条测试路径的配置信息,控制一云 服务器生成多个虚拟服务器。

优选的,所述软件测试的装置还包括:

判断模块,用于在功能测试完成后,判断测试结果是否正常;

第五控制模块,用于在判断结果为正常的情况下,控制所述云服务器删除所述虚拟服务器。

本发明又提供一种软件测试的系统,包括:

控制服务器,包括上述的软件测试的装置;

云服务器,用于管理虚拟服务器;

应用软件服务器,用于存储待测试软件依赖的第三方应用软件,所述第三方应用软件包括数据库;

镜像服务器,用于存储各种操作系统镜像。

持续集成服务器,用于存储待测试软件。

优选的,所述软件测试的系统还包括:

管理服务器,用于控制所述持续集成服务器进行待测试软件的集成与构建,和触发所述控制服务器的工作。

优选的,所述控制服务器为ansible控制服务器,所述云服务器为openstack云服务器。

通过本发明的上述技术方案,本发明的有益效果在于:

本发明的软件测试的方法,通过获取待测试软件的一测试路径的配置信息,并根据所述配置信息,控制一云服务器生成虚拟服务器,再控制所述虚拟服务器下载安装所述待测试软件,以利用所述虚拟服务器对所述待测试软件进行功能测试,能够提高硬件资源利用率,自动化且快速地对待测试软件的所有场景进行功能测试,且不需要为每一个测试路径保留一个测试服务器。

附图说明

图1表示本发明实施例的软件测试的方法的流程图。

图2表示本发明实施例的软件测试的装置的结构示意图。

图3表示本发明实施例的软件测试的系统的结构示意图。

图4表示本发明具体实施例的针对EMS网管的一条测试路径进行功能测 试的流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对具体实施例进行详细描述。

参阅图1所示,本发明实施例提供一种软件测试的方法,包括:

S101:获取待测试软件的一测试路径的配置信息;

S102:根据所述配置信息,控制一云服务器生成虚拟服务器;

S103:控制所述虚拟服务器下载安装所述待测试软件;

S104:控制所述虚拟服务器对所述待测试软件进行功能测试。

本发明实施例的软件测试的方法,通过获取待测试软件的一测试路径的配置信息,并根据所述配置信息,控制一云服务器生成虚拟服务器,再控制所述虚拟服务器下载安装所述待测试软件,以利用所述虚拟服务器对所述待测试软件进行功能测试,能够提高硬件资源利用率,自动化且快速地对待测试软件的所有场景进行功能测试,且不需要为每一个测试路径保留一个测试服务器。

其中,所述云服务器是云环境平台,负责管理虚拟服务器的整个生命周期,以方便的进行虚拟服务器的生成和删除。具体的,所述云服务器的管理工作除了生成和删除虚拟服务器外,还包括对虚拟服务器进行启动、关闭、挂起、暂停、调整、迁移、重启,以及配置CPU、内存等信息规格、动态生成IP等。且所述云服务器还可对虚拟服务器是否启动进行端口监听,例如,linux操作系统监听端口22,windows操作系统监听winrm协议端口5986等。

所述待测试软件一般存储于持续集成CI服务器,而所述CI服务器需要定时提供集成好的待测试软件。本发明中,所述虚拟服务器对待测试软件进行的功能测试采用常用的测试方式,例如端口测试等,本发明不对其进行限制,可根据实际需求进行选择。

为了保证生成的虚拟服务器的准确性,在本发明具体实施例中,所述根据所述配置信息,控制一云服务器生成虚拟服务器的步骤包括:

根据所述配置信息,控制一云服务器从镜像服务器下载与所述配置信息对应的操作系统镜像;

控制所述云服务器根据所述操作系统镜像,生成对应的虚拟服务器。

其中,所述镜像服务器用于存储各种操作系统的镜像,这些操作系统镜像作为模板供云服务器生成虚拟服务器时使用。具体的,镜像一般为纯操作系统,不包含应用程序,但可以增加一些如ftp、解压工具等磁盘占用少且常用的小工具。特别的,linux系列的操作系统需要配置ssh免密登陆,windows系列的操作系统需要开启winrm协议,以保证虚拟服务器创建后能受控制。

为了保证虚拟服务器正常下载安装待测试软件,在本发明具体实施例中,所述控制所述虚拟服务器下载安装所述待测试软件的步骤之前还包括:

控制所述虚拟服务器从应用软件服务器下载所述待测试软件依赖的第三方应用软件并安装完善,所述第三方应用软件包括数据库。

具体的,所述应用软件服务器用于存储各种待测试软件需要依赖的第三方应用软件,所述第三方应用软件例如为各种类型、各种版本的数据库,各种版本的软件开发工具包JDK等。详细的,在对数据库进行完善时,需要进行一些实例安装、配置监听等操作。

实际应用中,对于大型的待测试软件,通常包含多个测试路径,且每个测试路径具有一个配置信息。当所述云服务器能够每次同时生成多个虚拟服务器时,在对所述大型的待测试软件进行功能测试时,就可以同时创建多个虚拟服务器,以多个测试路径同时执行。

基于上述内容,在本发明具体实施例中,当所述云服务器能够每次同时生成多个虚拟服务器时,

所述获取待测试软件的一测试路径的配置信息的步骤包括:

获取待测试软件的多条测试路径的配置信息;

所述根据所述配置信息,控制一云服务器生成虚拟服务器的步骤包括:

根据所述多条测试路径的配置信息,控制一云服务器生成多个虚拟服务器。

这样,能够有效地提高测试效率,节约时间。

在本发明具体实施例中,所述软件测试的方法还包括:

在功能测试完成后,判断测试结果是否正常;

在判断结果为正常的情况下,控制所述云服务器删除所述虚拟服务器。

这样,及时删除测试结果正常的虚拟服务器,有利于回收资源,保证云服 务器能够更新生成的虚拟服务器。而当所述测试结果不正常时,要保留对应的虚拟服务器和测试记录,供开发人员进行问题定位。在开发人员定位修复故障后,可以手工单独触发该条测试路径测试,快速验证修复结果。

举例来说,一大型待测试软件有1000条测试路径,对应有1000个配置信息,且配置的测试路径池大小为20,即云服务器能够每次同时生成20个虚拟服务器。

在对这个大型待测试软件进行测试时,首先会获取1000个配置信息中的20个,再根据这20个配置信息,控制云服务器生成20个虚拟服务器,以利用这20个虚拟服务器分别进行功能测试;当某个虚拟服务器测试成功时,云服务会删除该虚拟服务器,并再生成一个虚拟服务器(针对剩余的某一配置信息),进行功能测试,直到所述待测试软件的1000条测试路径对应的1000个配置信息全部执行完;而当某个虚拟服务器测试失败时,这个虚拟服务器会被保留,供开发人员进行问题定位。

参见图2所示,本发明实施例还提供一种软件测试的装置,与图1所示的软件测试的方法相对应,所述软件测试的装置包括:

获取模块21,用于获取待测试软件的一测试路径的配置信息;

第一控制模块22,用于根据所述配置信息,控制一云服务器生成虚拟服务器;

第二控制模块23,用于控制所述虚拟服务器下载安装所述待测试软件;

第三控制模块24,用于控制所述虚拟服务器对所述待测试软件进行功能测试。

本发明实施例的软件测试的装置,通过获取待测试软件的一测试路径的配置信息,并根据所述配置信息,控制一云服务器生成虚拟服务器,再控制所述虚拟服务器下载安装所述待测试软件,以利用所述虚拟服务器对所述待测试软件进行功能测试,能够提高硬件资源的利用率,自动化且快速地对待测试软件的所有场景进行功能测试,且不需要为每一个测试路径保留一个测试服务器。

具体的,所述第一控制模块包括:

第一控制子模块,用于根据所述配置信息,控制一云服务器从镜像服务器下载与所述配置信息对应的操作系统镜像;

第二控制子模块,用于控制所述云服务器根据所述操作系统镜像,生成对应的虚拟服务器。

其中,所述软件测试的装置还包括:

第四控制模块,用于控制所述虚拟服务器从应用软件服务器下载所述待测试软件依赖的第三方应用软件并安装完善,所述第三方应用软件包括数据库。

具体的,当所述云服务器能够每次同时生成多个虚拟服务器时,

所述获取模块具体用于获取待测试软件的多条测试路径的配置信息;

所述第一控制模块具体用于根据所述多条测试路径的配置信息,控制一云服务器生成多个虚拟服务器。

且所述软件测试的装置还包括:

判断模块,用于在功能测试完成后,判断测试结果是否正常;

第五控制模块,用于在判断结果为正常的情况下,控制所述云服务器删除所述虚拟服务器。

参见图3所示,本发明实施例还提供一种软件测试的系统,包括:

控制服务器31,包括上述的软件测试的装置;

云服务器32,用于管理虚拟服务器;

应用软件服务器33,用于存储待测试软件依赖的第三方应用软件,所述第三方应用软件包括数据库;

镜像服务器34,用于存储各种操作系统镜像。

持续集成服务器35,用于存储待测试软件。

其中,所述控制服务器是软件测试系统的中枢,起到主导控制的作用。具体的,所述控制服务器中存储有整个测试流程的配置信息,包括待测试软件的测试路径的配置信息,及测试路径池的大小,所述测试路径池指控制服务器能够并发执行的测试路径个数,其大小小于等于云服务器能够每次同时生成虚拟服务器的个数。

具体的,每一个测试路径对应一个配置信息文件playbook,这个playbook包括这条测试路径的配置信息,例如,windows2008标准R2+64位+Oracle11标准版+中文+规模2。当待测试软件需要扩展测试路径时,只需要在控制服务器中增加一个playbook,把相应测试路径的配置信息设置进去,无需增加其它 配置。需要指出是,本发明中的测试路径的配置信息包括不限于各种硬件、软件、版本等差异构成的集合。

在本发明具体实施例中,所述控制服务器优选为ansible控制服务器,所述云服务器优选为openstack云服务器,但本发明不对其进行限制,根据实际的情况可进行其他的选择。

此外,本发明实施例的软件测试的系统还包括管理服务器,所述管理服务器用于控制持续集成服务器进行待测试软件的集成与构建,和自动触发控制服务器的工作。具体的,所述管理服务器还可监控整个测试流程,将测试结果可视化。实际应用中,所述管理服务器例如选择部署jenkins工具,以完成上述的功能。

下面通过一具体实施例,对本发明的软件测试的方法进行详细的介绍。

参见图4所示,为本发明具体实施例的针对EMS网管的一条测试路径进行功能测试的流程图;其中,所述测试路径的配置信息为“windows2008标准R2+64位+Oracle11g标准版+中文+规模2”。

具体包括以下步骤:

S401:控制服务器获取配置信息“windows2008标准R2+64位+Oracle11g标准版+中文+规模2”;

S402:云服务器从镜像服务器下载“windows2008标准R264位”的操作系统镜像;

S403:云服务器生成对应的虚拟服务器,并启动所述虚拟服务器,监听winrm协议端口5986;

S404:当所述虚拟服务器启动完成后,所述虚拟服务器从应用软件服务器下载Oracle11g标准版数据库并安装完善;

S405:所述虚拟服务器从CI服务器下载EMS网管,选择中文版本进行安装,安装规模选择2;

S406:所述虚拟服务器对EMS网管进行功能测试;其中,在测试之前要进行相应配置处理、测试数据准备等操作;

S407:在功能测试完成后,控制服务器判断测试结果是否正常;

S408:如果正常,云服务器及时删除对应的虚拟服务器;而如果不正常, 保留对应的虚拟服务器和测试记录,供开发人员进行问题定位。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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