持续集成自动化测试方法、装置、设备和介质制造方法及图纸

技术编号:21140767 阅读:24 留言:0更新日期:2019-05-18 05:04
本发明专利技术实施例提供持续集成自动化测试方法、装置、设备和介质,该方法包括:接收开发代码;根据所述开发代码部署测试环境,监测所述测试环境是否部署成功,如果成功,则触发在容器中执行与所述开发代码相对应的测试用例;在所述测试用例执行完成后,接收由所述容器回写的测试结果。本技术方案通过容器管理测试工具,提供接口服务,使得测试工具版本可控,可移植,最终使得开发和测试自动衔接,在自动化测试领域和持续集成领域。

Continuously integrated automated testing methods, devices, equipment and media

【技术实现步骤摘要】
持续集成自动化测试方法、装置、设备和介质
本专利技术涉及软件测试领域,具体涉及一种持续集成自动化测试方法、装置、设备和介质。
技术介绍
目前的自动化测试中,测试工具的可移植性不高,如果测试工具或者机器出问题,不能马上恢复,当前版本有问题,也不能马上回滚到上一版没问题的状态。在持续集成中,开发的代码提交、打包、部署等一系列已经可以自动完成,测试人员的回归测试工作也可以自主完成,但是开发部署完测试环境到测试人员的测试还没有实现很好的自动化衔接,开发人员提供完测试环境,需要测试人员手动触发测试工作的进行。
技术实现思路
本专利技术实施例提供一种持续集成自动化测试方法、装置、设备和介质,以实现实现测试工具的版本可控,易于移植;和/或实现测试持续集成。第一方面,本专利技术实施例提供了一种持续集成自动化测试方法,其包括:接收开发代码;根据所述开发代码部署测试环境,监测所述测试环境是否部署成功,如果成功,则触发在容器中执行与所述开发代码相对应的测试用例;在所述测试用例执行完成后,接收由所述容器回写的测试结果。第二方面,本专利技术实施例提供了一种持续集成自动化测试装置,其包括:代码管理模块,用于接收开发代码;任务执行模块,用于根据所述开发代码部署测试环境,监测所述测试环境是否部署成功,如果成功,则触发在容器中执行与所述开发代码相对应的测试用例;所述代码管理模块,还用于在所述测试用例执行完成后,接收由所述容器回写的测试结果。第三方面,本专利技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如第一方面所述的持续集成自动化测试方法。第四方面,本专利技术实施例提供了一种计算机设备,其包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如第一方面所述的持续集成自动化测试方法。上述技术方案具有如下有益效果:本技术方案通过容器管理测试工具,提接口服务,使得测试工具版本可控,可移植,最终使得开发和测试自动衔接,在自动化测试领域和持续集成领域。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术的实施例的持续集成自动化测试方法的一种流程图;图2是本专利技术的实施例的持续集成自动化测试方法的作为一个举例的流程图;图3是本专利技术的实施例的持续集成自动化测试装置的功能框图;图4是本专利技术的实施例的计算机设备的逻辑功能框图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术的实施例主要解决如下至少一个技术问题:(1)实现测试工具的容器化,每一个版本的测试工具都是独立的,保证多个测试版本之间互不干扰,测试人员也可以很容易部署自己的测试工具,并在容器内执行测试用例,实现测试工具的版本可控,易于移植。(2)实现开发和测试的自动衔接,当开发人员的测试环境部署好,可自动执行相应的测试用例,无需测试人员介入,实现真正的开发、测试持续集成。以下对缩略语和关键技术术语进行定义:gitLab:gitLab是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。gitlab-runner:gitLab提供了一套持续集成系统,gitlab-runner是用来执行这套系统中各个阶段的任务的工具。容器:容器是轻量级的操作系统虚拟化,目前容器技术有很多种,本专利技术的实施例采用Docker,但不限于此,它是一个开源的引擎,可以很轻松的创建一个容器。本实施例中该容器内有执行测试所必需的一些环境条件,和tomcat服务。Wetest:一种自动化执行所有测试用例的脚本工具,每次开发人员提供测试环境,测试人员都要手动执行脚本来回归所有测试用例。持续集成:对于开发人员来说,就是持续的编译、测试、检查和部署源代码的过程。图1是本专利技术的实施例的持续集成自动化测试方法的一种流程图。该方法的执行主体是持续集成系统gitLab,其包括:代码管理工具/模块git和任务执行工具gitlab-runner。如图1所示,包括如下步骤:S110:接收开发代码。在本实施例中,每个开发人员在开发需求前都会建立自己的分支,不同分支之间互不影响,在自己的分支开发完后,把开发代码提交到git的远程仓库,远端就有了开发人员的这个分支。S120:根据所述开发代码部署测试环境,监测该测试环境是否部署成功,如果该测试环境部署成功,则触发在容器内执行与该开发代码相对应的测试用例。在本步骤中,接收开发人员提交的开发代码,形成代码分支,根据该代码分支部署测试环境。具体地,可根据开发代码分支形成镜像文件,通过该镜像文件部署测试环境。或者,对该开发代码进行打包处理,形成打包文件,根据该打包文件部署测试环境。打包是部署测试环境前的一个流程,例如将工程代码打成war包。在本步骤中,作为一个示例,测试环境是开发人员给测试人员部署的,测试人员通过对这个测试环境发送请求,来测试开发的代码。在测试环境里包括需要测试人员测试的所有功能。部署测试环境的具体处理过程可以包括:将开发代码打包编译成后缀是.war的文件,然后把这个文件放到tomcat的webapps文件夹下,最后执行tomcat里的bin文件夹下的启动脚本。在本步骤中,可通过如下方式来监测该测试环境是否部署成功:在测试环境部署过程中,周期性地向该测试环境发送请求,并接收返回码,根据该返回码监测该测试环境是否部署成功。作为一个示例,在测试环境部署过程中,每隔几秒种向测试环境发送一次请求,然后查看返回码,如果返回码是200表示启动成功。具体地,测试用例是测试人员根据开发人员的需求功能编写的。作为一个示例,测试环境部署成功之后,先调用本实施例提供的服务接口,然后触发容器内的脚本,该脚本执行的时候,再拉取指定的某个分支(根据该开发代码确定的或对应的测试用例)的测试用例的代码。或者,当触发容器里的脚本执行的时候,会自动拉取最新的测试用例的代码。在本步骤中,作为一个示例,该服务接口可以是在Docker容器里部署的tomcat服务,该服务提供http接口。http接口是一种基于http服务的api,内部可实现某些功能,在本实施例中是用来触发测试的执行,这样不管是谁,只要能调用这个http接口就可以触发测试,而不需要再登陆到指定服务器上执行测试用例。该测试环境的ip和端口等信息需要做为参数传递给该服务接口,然后该服务接口根据接收到的这些参数来执行测试用例。任务执行工具gitlab-runner在检测到测试环境部署成功后,调用该服务接口来触发测试用例或测试任务的执行。把测试环境的ip和端口作为参数传递给服务接口,是因为服务接口会触发测试用例的执行,而执行测试用例需要用到这两个参数,通过这两个参数来对测试环境发送请本文档来自技高网...

【技术保护点】
1.一种持续集成自动化测试方法,其特征在于,包括:接收开发代码;根据所述开发代码部署测试环境,监测所述测试环境是否部署成功,如果成功,则触发在容器中执行与所述开发代码相对应的测试用例;在所述测试用例执行完成后,接收由所述容器回写的测试结果。

【技术特征摘要】
1.一种持续集成自动化测试方法,其特征在于,包括:接收开发代码;根据所述开发代码部署测试环境,监测所述测试环境是否部署成功,如果成功,则触发在容器中执行与所述开发代码相对应的测试用例;在所述测试用例执行完成后,接收由所述容器回写的测试结果。2.根据权利要求1所述的方法,其特征在于,所述的根据所述开发代码部署测试环境包括:根据所述开发代码形成镜像文件,通过所述镜像文件部署测试环境;或者,对所述开发代码进行打包处理,形成打包文件,根据所述打包文件部署测试环境。3.根据权利要求1或2所述的方法,其特征在于,所述的监测所述测试环境是否部署成功,包括:在所述测试环境部署过程中,周期性地向所述测试环境发送请求,并接收返回码,根据所述返回码监测所述测试环境是否部署成功;所述的触发在容器中执行与所述开发代码相对应的测试用例,包括:将所述测试环境的ip和端口作为参数传递给所述容器的服务接口,通过调用所述容器的服务接口来触发在所述容器中执行与所述开发代码相对应的测试用例;所述的接收由所述容器回写的测试结果,包括:接收由所述容器的回写接口回写的测试结果。4.根据权利要求3所述的方法,其特征在于,所述容器包括应用容器引擎Docker;所述服务接口是在所述Docker容器里部署的tomcat服务,所述tomcat服务提供http接口。5.一种持续集成自动化测试装置,其特征在于,其包括:代码管理模块,用于接收开发代码;任务执行模块,用于根据所述开发代码部署测试环境,监测所述测试环境是否部署成功,如果成功,则触发在容器中执行与所述开发代码相对应的...

【专利技术属性】
技术研发人员:仇立杰姬婧婧赵昕琳
申请(专利权)人:微梦创科网络科技中国有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1