一种智能集成自动化测试的方法及系统与流程

文档序号:18009576发布日期:2019-06-25 23:49阅读:221来源:国知局
一种智能集成自动化测试的方法及系统与流程

本发明属于软件测试技术领域,尤其涉及一种智能集成自动化测试的方法及系统。



背景技术:

随着信息技术的飞速发展,软件产品的规模也越来越庞大,对软件质量的要求也在不断提高,传统手工测试过程已经越来越不适应发展的需要。当前引入软件测试的改进方法就是自动化测试。

自动化测试是软件测试的重要一环,但按照传统的模式,做自动化测试时将自动化测试代码提交后经过人工检测后入库打包,再部署到测试环境中去运行,而如今多数项目实行敏捷测试,版本迭代速度加快,人工打包部署工作每次重复枯燥,耗费大量时间。

测试人员开发大量的自动化用例,规模越大,自动化用例规模成几何数量增长,自动化管理员要审核代码,合入代码,还要部署环境,运行代码,工作量巨大而且精力无暇保证代码质量,同时部署环境还要配置环境变量都是重复耗时的工作。



技术实现要素:

有鉴于此,本发明实施例提供了一种智能集成自动化测试的方法及系统,旨在解决现有技术中自动化测试工作量巨大、耗时耗力的技术问题。

第一方面,本发明提供了一种智能集成自动化测试的方法,所述方法包括:

持续集成工具从托管平台获取提交的最新代码;

根据所述最新代码自动构建自动化测试代码;

将所述自动化测试代码推送至容器环境并进行自动部署。

优选地,所述最新代码为测试人员在集成开发环境下提交至托管平台的代码。

优选地,设置轮询构建策略,持续集成工具按照预设周期检测托管平台是否有代码更新,若是,则再次执行获取最新代码并自动构建自动化测试代码的步骤。

优选地,所述方法进一步包括:

执行所述自动化测试代码,并通过邮件发送自动测试结果。

另一方面,本发明还提供了一种智能集成自动化测试的系统,所述系统包括:

托管平台,用于代码的下载和提交;

持续集成工具,用于从托管平台获取最新代码,根据所述最新代码自动构建自动化测试代码,并将所述自动化测试代码推送至容器环境;

容器,用于接收持续集成工具推送的所述自动化测试代码并进行自动部署。

优选地,所述最新代码为测试人员在集成开发环境下提交至托管平台的代码。

优选地,所述持续集成工具还用于:

设置轮询构建策略,按照预设周期检测托管平台是否有代码更新,若是,则再次获取最新代码并自动构建自动化测试代码。

优选地,所述持续集成工具还用于:执行所述自动化测试代码,并通过邮件发送自动测试结果。

第三方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述任一种智能集成自动化测试的方法的步骤。

本发明的有益效果在于:

通过持续集成工具和托管平台以及容器技术实现自动化测试的自动提交、自动构建、自动部署,提高了自动化测试的代码质量,减少了自动化部署的工作量,节省时间,提升测试效率。

附图说明

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

图1为本发明实施例提供的一种智能集成自动化测试的方法流程图;

图2为本发明实施例提供的一种智能集成自动化测试的系统结构图。

具体实施方式

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

本发明实施例的核心是提供一种智能集成自动化测试的方法,通过持续集成工具和托管平台以及容器技术实现自动化测试的自动提交、自动构建、自动部署,提高了自动化测试的代码质量,减少了自动化部署的工作量,节省时间,提升测试效率;本发明的另一目的是提供一种智能集成自动化测试的系统及计算机可读存储介质,均具有上述有益效果。

为了使本领域技术人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。

图1为本发明实施例提供的一种智能集成自动化测试的方法流程图,如图1所示,一种智能集成自动化测试的方法,所述方法包括:

s101:持续集成工具从托管平台获取提交的最新代码;

其中,所述最新代码为测试人员在集成开发环境下提交至托管平台的代码。

s102:根据所述最新代码自动构建自动化测试代码;

进一步地,设置轮询构建策略,持续集成工具按照预设周期检测托管平台是否有代码更新,若是,则再次执行获取最新代码并自动构建自动化测试代码的步骤。

s103:将所述自动化测试代码推送至容器环境并进行自动部署;

进一步地,执行所述自动化测试代码,并通过邮件发送自动测试结果。

具体地,在本实施例中,智能集成自动化测试的方法需要持续集成工具、托管平台、容器以及集成开发环境来配合实现,其中:持续集成工具可以采用jenkins,托管平台为github,容器技术由docker实现,集成开发环境为eclipse。具体实现过程如下:

1、安装jdk、maven等配置环境;

其中,jdk(javadevelopmentkit)是java语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。jdk是整个java开发的核心,它包含了java的运行环境(jvm+java系统类库)和java工具。

maven是一个项目管理工具,它包含了一个项目对象模型(pom:projectobjectmodel),一组标准集合,一个项目生命周期(projectlifecycle),一个依赖管理系统(dependencymanagementsystem),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当使用maven的时候,用一个明确定义的项目对象模型来描述项目,然后maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。

2、搭建git代码服务器;

1)搭建git代码服务器;

2)在做持续集成的机器上安装git,以便于github进行代码的下载和提交。

3、安装集成开发环境eclipse并创建maven工程,通过该工具引入测试需要的类和包,并创建编写测试包和类。

4、安装并搭建jenkins服务。

1)安装docker;

2)启动docker并在其中安装jenkins;

3)创建jenkins用户,安装如下插件:

a)mavenintegrationplugin:安装此插件后,在新建job时才能有maven项目可以选择。该插件可以设置项目的描述、设置源码管理的路径,设置触发器的触发方式(hook或轮询),例如轮询时定时检查代码是否有变化,有变化则触发构建,h/5表示每5分钟检查一次。

b)deploytocontainerplugin:通过该插件将war包部署到tomcat。设置war包的位置,要部署的地址,以及tomcat的版本和用户名密码,传送war包。

c)publishoverssh:通过ssh推送文件,并可以执行shell命令,jenkins把dockerfile和war包传给docker打包服务器,基于tomcat的镜像+war包构建新镜像,并推送至部署环境。

d)performanceplugi:性能报告插件;

e)htmlpublisherplugin:httpreport插件;

f)gitplugin:git插件。

5、jenkins中配置构建完成后email通知,通过此设置在构建完成后会发送邮件通知。

6、在测试环境搭建docker环境,该环境会被jenkins通过远程调用镜像进行自动部署。

设置调用脚本文件如下:

dockerbuild-t**#根据dockerfile生成web镜像

dockerps

dockerstop**

dockerrm**

dockerrun-d-pport:port--name******//运行镜像生成容器

dockerpuship:port//填自己私有仓库的ip和端口

7、根据上述步骤搭建并配置完成后,测试人员将代码提交到git上后剩下的自动构建和部署就可以通过jekins自动完成。

8、经过上述配置,点击立即构建,jekins从git获取最新代码进行构建并推送至docker环境进行部署,一键完成自动化测试代码自动构建和自动部署。

9、如果设置轮询构建策略,则jekins按照预设周期(如每隔5分钟)从git获取最新代码进行构建一次并推送至docker环境进行部署,一键完成自动化测试代码自动构建和自动部署。

综上可知,本发明实施例提供的智能集成自动化测试的方法,通过持续集成工具和托管平台以及容器技术实现自动化测试的自动提交、自动构建、自动部署,提高了自动化测试的代码质量,减少了自动化部署的工作量,节省时间,提升测试效率

图2是本发明实施例提供的一种智能集成自动化测试的系统结构图,如图2所示,一种智能集成自动化测试的系统200,所述系统200包括托管平台201、持续集成工具202以及容器203,其中:

托管平台201,用于代码的下载和提交;

持续集成工具202,用于从托管平台获取最新代码,根据所述最新代码自动构建自动化测试代码,并将所述自动化测试代码推送至容器环境;

容器203,用于接收持续集成工具推送的所述自动化测试代码并进行自动部署。

具体地,本发明实施例提供的智能集成自动化测试的系统,可以采用前述实施例的方法实现,并具有相同的有益效果,在此不再赘述。

为解决上述技术问题,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种智能集成自动化测试方法的步骤。

本发明实施例提供的计算机可读存储介质,具有上述智能集成自动化测试的方法的有益效果。

以上对本发明所提供的智能集成自动化测试的方法、系统及计算机可读存储介质进行了详细介绍。本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

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