CN113986714A - 一种基于容器化的自动化持续测试方法及装置 - Google Patents
一种基于容器化的自动化持续测试方法及装置 Download PDFInfo
- Publication number
- CN113986714A CN113986714A CN202111097122.3A CN202111097122A CN113986714A CN 113986714 A CN113986714 A CN 113986714A CN 202111097122 A CN202111097122 A CN 202111097122A CN 113986714 A CN113986714 A CN 113986714A
- Authority
- CN
- China
- Prior art keywords
- task
- control module
- management control
- execution
- cluster
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 308
- 238000000034 method Methods 0.000 claims abstract description 23
- 238000013515 script Methods 0.000 claims abstract description 23
- 230000000977 initiatory effect Effects 0.000 claims abstract description 21
- 238000012544 monitoring process Methods 0.000 claims description 49
- 230000002159 abnormal effect Effects 0.000 claims description 20
- 238000004458 analytical method Methods 0.000 claims description 15
- 238000003860 storage Methods 0.000 claims description 12
- 230000002085 persistent effect Effects 0.000 claims description 8
- 238000011084 recovery Methods 0.000 claims description 6
- 238000010998 test method Methods 0.000 claims description 2
- 230000002688 persistence Effects 0.000 claims 3
- 238000007726 management method Methods 0.000 description 107
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000013024 troubleshooting Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013102 re-test Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
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/3692—Test management for test results analysis
-
- 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/3696—Methods or tools to render software testable
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种基于容器化的自动化持续测试方法及装置,所述方法包括如下步骤:部署容器编排引擎集群并创建容器组;在容器编排引擎集群拉取集群管理控制模块的镜像,在主节点的容器组创建集群管理控制模块,并配置集群管理控制模块的接口;调用集群管理控制模块的接口进行任务配置,发起构建自动化持续测试任务请求;接收到任务请求后,根据任务的配置信息在从节点的容器组中创建执行测试机,将创建的执行测试机注册到集群管理控制模块;并更新自动化测试脚本到执行测试机;执行自动化测试脚本进行测试;测试完成后将执行测试机注销,同时将该执行测试机所在的容器组删除。用完即删除提升资源的利用率,极大的提高的自动化持续测试效率。
Description
技术领域
本发明涉及利用容器化技术开展自动化持续测试技术领域,具体涉及一种基于容器化的自动化持续测试方法及装置。
背景技术
k8s全称kubernetes,Kubernetes是为容器服务而生的一个可移植容器的编排管理工具,它支持自动化部署、大规模可伸缩、应用容器化管理。在生产环境中部署一个应用程序时,通常要部署该应用的多个实例以便对应用请求进行负载均衡。
在容器技术之前,大家开发用虚拟机比较多,虚拟机本身对于开发和运维人员而言,存在启动慢,占用空间大,不易迁移的缺点。容器化技术应运而生,它不需要虚拟出整个操作***,只需要虚拟一个小规模的环境即可,而且启动速度很快,除了运行其中应用以外,基本不消耗额外的***资源。Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
随着***业务的发展,各个层面的自动化测试脚本不断增多,对测试执行机的要求也越来越高,而目前采取的是通过jenkins管理个人工作电脑或者是创建虚拟机来充当测试机,利用个人工作电脑当做测试机,因个人工作电脑的总有差异性,也会给自动化持续执行结果带来一定的影响,使用虚拟机当测试机时,资源分配存在不均,存在部分虚拟机执行任务出现排队现象,部分虚拟机出现空闲,另外当jenkins出现故障后,整个自动化持续测试任务也即崩溃了。当自动化任务执行完毕后,测试结果的分析花费时间较长。
发明内容
使用虚拟机当测试机时,资源分配存在不均,存在部分虚拟机执行任务出现排队现象,部分虚拟机出现空闲,另外当jenkins出现故障后,整个自动化持续测试任务也即崩溃了。当自动化任务执行完毕后,测试结果的分析花费时间较长的问题,本发明一种基于容器化的自动化持续测试方法及装置。
本发明的技术方案是:
一方面,本发明技术方案提供一种基于容器化的自动化持续测试方法,基于容器编排引擎集群,所述集群包括主节点和若干从节点,所述方法包括如下步骤:
部署容器编排引擎集群并创建容器组;
在容器编排引擎集群拉取集群管理控制模块的镜像,在主节点的容器组创建集群管理控制模块,并配置集群管理控制模块的接口;
调用集群管理控制模块的接口进行任务配置,发起构建自动化持续测试任务请求;
接收到任务请求后,根据任务的配置信息在从节点的容器组中创建执行测试机,将创建的执行测试机注册到集群管理控制模块;并更新自动化测试脚本到执行测试机;
执行自动化测试脚本进行测试;
测试完成后将执行测试机注销,同时将该执行测试机所在的容器组删除。
它能利用容器编排引擎集群的集群管理控制模块高可用特性提升自动化持续测试的稳定性,资源按需分配,用完即删除提升资源的利用率,极大的提高的自动化持续测试效率。
进一步的,部署容器编排引擎集群并创建容器组的步骤包括:
选择集群中的节点创建容器组;
按照自动化测试类型创建镜像存入镜像仓库;
部署集群监测线程和任务监控线程。
将创建镜像存入镜像仓库,方便使用时直接从镜像仓库进行拉取进行创建,节省时间,提高了效率。
进一步的,在容器编排引擎集群拉取集群管理控制模块的镜像,在主节点的容器组创建集群管理控制模块,并配置集群管理控制模块的接口的步骤包括:
在集群的镜像仓库中按照自动化测试类型拉取集群管理控制模块的镜像;
在主节点的容器组创建集群管理控制模块;
设置集群管理控制模块的用于访问的API接口和用于监控执行测试机是否正常的监控接口。
需要开放访问接口保证集群管理控制模块可以正常访问。开放JNLP代理协议的监控接口,来监控创建的执行测试机是否已经启动。
进一步的,调用配置集群管理控制模块的接口进行任务配置,发起构建自动化持续测试任务请求的步骤包括:
调用配置集群管理控制模块的API接口配置任务信息;其中,配置的任务信息包括标签信息;
发起构建自动化持续测试任务请求;
所述的接收到任务请求后,根据任务的配置信息在从节点的容器组中创建执行测试机,将创建的执行测试机注册到集群管理控制模块;并更新自动化测试脚本到执行测试机的步骤包括:
接收到任务请求后,根据任务的标签信息在从节点的容器组中创建执行测试机;
将创建的执行测试机注册到集群管理控制模块;
更新自动化测试脚本到执行测试机。
集群会根据每个资源的使用情况,动态分配执行测试机到空闲的节点上创建,提升资源利用率高。
进一步的,测试完成后将执行测试机注销,同时将该执行测试机所在的容器组删除的步骤包括:
触发任务监控线程实时监控任务的执行情况;
当任务执行完成时,将任务执行完成的执行测试机注销,同时将该执行测试机所在的容器组删除。
根据构建任务,自动配置创建执行测试机,任务完成后,执行测试机自动注销并释放,此过程中会保证执行测试机节点的一致性,解决因各执行测试机差异带来的影响。
进一步的,该方法还包括:
将测试结果进行持久化存储;
读取测试结果中失败的日志信息对测试结果进行分析;
当为超时等待错误时,抽取该条测试用例信息,调用集群管理控制模块的接口进行任务配置,发起构建自动化持续测试任务请求;
接收到任务请求后,根据任务的配置信息在从节点的容器组中创建执行测试机,将创建的执行测试机注册到集群管理控制模块;重新执行测试用例;
当为数据校验错误,将错误的日志信息上传;
当为代码逻辑错误,将错误的日志信息上传。
加入测试分析的智能策略,提升测试结果的分析效率,极大的提高的自动化持续测试效率。
进一步的,该方法还包括:
集群管理控制模块通过监控接口实时监控执行测试机是否启动;
当到达设定的时间执行测试机未启动时,集群管理控制模块触发邮箱发送邮件到管理人员。
为了提高资源利用率,创建完执行测试机后,执行测试机需要注册到集群管理控制模块方便集群管理控制模块下发任务以及监控测试执行机的启动状态,发邮件通知管理人员,进行计时排查测试执行机启动故障。
进一步的,该方法还包括:
触发集群监控线程实时监测集群中集群管理控制模块和执行测试机的状态;
当监测到集群管理控制模块异常时,在容器编排引擎集群拉取集群管理控制模块的镜像,在异常集群管理控制模块所在的容器组再创建一个集群管理控制模块;
将异常的集群管理控制模块的功能及信息同步到新创建的集群管理控制模块;
当监测到执行测试机异常时,根据该执行测试机任务的配置信息在从节点的容器组中重新创建执行测试机,将创建的执行测试机注册到集群管理控制模块。
利用集群的高可用,动态资源伸缩配置保证,保证无外部因素干扰,提升自动化持续测试稳定性以及资源的利用率,测试结果智能分析大大简化的测试的工作量,极大提高了工作效率。
另一方面,本发明技术方案还提供一种基于容器化的自动化持续测试装置,基于容器编排引擎集群,所述集群包括主节点和若干从节点,所述装置包括集群部署模块、第一生成模块、第二生成模块、任务执行模块、回收模块;
集群部署模块,用于部署容器编排引擎集群并创建容器组;
第一生成模块,用于在容器编排引擎集群拉取集群管理控制模块的镜像,在主节点的容器组创建集群管理控制模块,并配置集群管理控制模块的接口;集群管理控制模块用于调用接口进行任务配置,发起构建自动化持续测试任务请求;
第二生成模块,用于接收到任务请求后,根据任务的配置信息在从节点的容器组中创建执行测试机,将创建的执行测试机注册到集群管理控制模块;并更新自动化测试脚本到执行测试机;
任务执行模块,用于执行自动化测试脚本进行测试;
回收模块,用于触发任务监控线程实时监控任务的执行情况;当任务执行完成时,将任务执行完成的执行测试机注销,同时将该执行测试机所在的容器组删除。
它能利用容器编排引擎集群的集群管理控制模块高可用特性提升自动化持续测试的稳定性,资源按需分配,用完即删除提升资源的利用率,极大的提高的自动化持续测试效率。
进一步的,集群部署模块包括容器组创建单元、镜像创建单元、监控线程部署单元;
容器组创建单元,用于选择集群中的节点创建容器组;
镜像创建单元,用于按照自动化测试类型创建镜像存入镜像仓库;
监控线程部署单元,用于部署集群监测线程和任务监控线程。
将创建镜像存入镜像仓库,方便使用时直接从镜像仓库进行拉取进行创建,节省时间,提高了效率。
进一步的,第一生成模块包括镜像获取单元、模块创建单元、接口设置单元;
镜像获取单元,用于在集群的镜像仓库中按照自动化测试类型拉取集群管理控制模块的镜像;
模块创建单元,用于在主节点的容器组创建集群管理控制模块;
接口设置单元,用于设置集群管理控制模块的用于访问的API接口和用于监控执行测试机是否正常的监控接口。
进一步的,集群管理控制模块,用于调用API接口配置任务信息;其中,配置的任务信息包括标签信息;发起构建自动化持续测试任务请求;
第二生成模块包括执行测试机创建单元、注册单元、更新单元;
执行测试机创建单元,用于接收到任务请求后,根据任务的标签信息在从节点的容器组中创建执行测试机;
注册单元,用于将创建的执行测试机注册到集群管理控制模块;
更新单元,用于更新自动化测试脚本到执行测试机。
进一步的,该装置还包括持久化存储模块和测试结果分析模块;
持久化存储模块,用于将测试结果进行持久化存储;
测试结果分析模块,用于读取测试结果中失败的日志信息对测试结果进行分析;当为超时等待错误时,抽取该条测试用例信息,调用集群管理控制模块的接口进行任务配置,发起构建自动化持续测试任务请求,触发第二生成模块生成执行测试机执行测试用例;当为数据校验错误,将错误的日志信息上传;当为代码逻辑错误,将错误的日志信息上传。
进一步的,集群管理控制模块,用于通过监控接口实时监控执行测试机是否启动;当到达设定的时间执行测试机未启动时,集群管理控制模块触发邮箱发送邮件到管理人员。
进一步的,该装置还包括监控处理模块,用于触发集群监测线程实时监测集群中集群管理控制模块和执行测试机的状态;
具体用于当监测到集群管理控制模块异常时,触发第一生成模块在容器编排引擎集群拉取集群管理控制模块的镜像,在异常集群管理控制模块所在的容器组再创建一个集群管理控制模块;将异常的集群管理控制模块的功能及信息同步到新创建的集群管理控制模块;当监测到执行测试机异常时,触发第二生成模块根据该执行测试机任务的配置信息在从节点的容器组中重新创建执行测试机,将创建的执行测试机注册到集群管理控制模块。
从以上技术方案可以看出,本发明具有以下优点:利用集群管理控制模块高可用,动态资源伸缩配置保证,保证无外部因素干扰,提升自动化持续测试稳定性以及资源的利用率,测试结果智能分析大大简化的测试的工作量,极大提高了工作效率。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的方法的示意性流程图。
图2是本发明另一个实施例的方法的示意性流程图。
图3是本发明一个实施例的装置的示意性框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
如图1所示,本发明实施例提供一种基于容器化的自动化持续测试方法,基于容器编排引擎集群,所述集群包括主节点和若干从节点,所述方法包括如下步骤:
S1:部署容器编排引擎集群并创建容器组;
本步骤中,选择合适的节点创建容器组pod;还需要配置镜像仓库;
S2:在容器编排引擎集群拉取集群管理控制模块的镜像,在主节点的容器组创建集群管理控制模块,并配置集群管理控制模块的接口;
本步骤中,通过拉取镜像创建集群管理控制模块Jenkins Master,设置JenkinsMaster对外提供用户访问,对内提供一个负载均衡功能;
S3:调用集群管理控制模块的接口进行任务配置,发起构建自动化持续测试任务请求;
本步骤中,通过接口进行任务配置,然后法系任务请求,也就是每个任务需要哪个执行测试机执行在任务配置时已经配置完成,实现负载均衡;
S4:接收到任务请求后,根据任务的配置信息在从节点的容器组中创建执行测试机,将创建的执行测试机注册到集群管理控制模块;并更新自动化测试脚本到执行测试机;
本步骤中,接收到请求后,首先需要判断个节点的资源利用情况,需要将空闲的节点来创建执行测试机;
S5:执行自动化测试脚本进行测试;基于步骤S4中更新后的代码,进行自动化测试脚本的执行;
S6:测试完成后将执行测试机注销,同时将该执行测试机所在的容器组删除。解决测试执行机资源开销大、配置不一致问题,提升自动化持续测试稳定性以及测试结果分析效率。
它能利用容器编排引擎集群的集群管理控制模块高可用特性提升自动化持续测试的稳定性,资源按需分配,用完即删除提升资源的利用率,极大的提高的自动化持续测试效率。
在有些实施例中,步骤S1中,部署容器编排引擎集群并创建容器组的步骤包括:
S11:选择集群中的节点创建容器组pod;
S12:按照自动化测试类型创建镜像存入镜像仓库;本步骤中,自动化测试类型包括单元自动化测试、集成自动化测试、UI自动化测试;根据类型的不同创建不同的镜像进行存储;
S13:部署集群监测线程和任务监控线程;实际上本步骤也可以在集群管理控制模块创建完成后进行部署;
将创建镜像存入镜像仓库,方便使用时直接从镜像仓库进行拉取进行创建,节省时间,提高了效率。
在有些实施例中,步骤S2中,在容器编排引擎集群拉取集群管理控制模块的镜像,在主节点的容器组创建集群管理控制模块,并配置集群管理控制模块的接口的步骤包括:
S21:在集群的镜像仓库中按照自动化测试类型拉取集群管理控制模块的镜像;在K8S的镜像仓库中按照自动化测试类型(单元自动化测试、集成自动化测试、UI自动化测试)进行jenkins master的镜像拉取;
S22:在主节点的容器组创建集群管理控制模块jenkins master;
S23:设置集群管理控制模块的用于访问的API接口和用于监控执行测试机Slave是否正常的监控接口。开放Jenkins Web访问API接口保证jenkins可以正常访问。开放JNLP代理协议的TCP端口作为监控接口,让jenkins master知道Slave是否已经启动。
在有些实施例中,步骤S3中,调用配置集群管理控制模块的接口进行任务配置,发起构建自动化持续测试任务请求的步骤包括:
S31:调用配置集群管理控制模块的API接口配置任务信息;其中,配置的任务信息包括标签信息;
S32:发起构建自动化持续测试任务请求;
相应的步骤S4中具体包括:
S41:接收到任务请求后,根据任务的标签信息在从节点的容器组中创建执行测试机;本步骤中,接收到任务后首先把判断集群中个从节点的资源状况,根据从节点的资源状况,分配空闲的从节点来创建执行测试机。
S42:将创建的执行测试机注册到集群管理控制模块;建立jenkins master与Slave之间的联系,此过程保证了Slave执行测试机配合的一致性;
S43:更新自动化测试脚本到执行测试机,等待自动化测试执行。
集群会根据每个资源的使用情况,动态分配执行测试机到空闲的节点上创建,提升资源利用率高。
在有些实施例中,步骤S6中,测试完成后将执行测试机注销,同时将该执行测试机所在的容器组删除的步骤包括:
S61:触发任务监控线程实时监控任务的执行情况;
S62:当任务执行完成时,将任务执行完成的执行测试机注销,同时将该执行测试机所在的容器组删除。
根据构建任务,自动配置创建执行测试机,任务完成后,执行测试机自动注销并释放,此过程中会保证执行测试机节点的一致性,解决因各执行测试机差异带来的影响。
如图2所示,在有些实施例中,步骤S5之后还包括:
S561:将测试结果进行持久化存储;为后续测试结果的分析及追踪提供支撑;
S562:读取测试结果中失败的日志信息对测试结果进行分析;
步骤S562中,根据分析策略规则对测试结果进行分析,读取测试结果中失败和错误测试用例的失败LOG信息,当前根据业务特点定义了3类错误,后续可以根据业务特定,进行自定义策略规则的添加;具体包括:
当为超时等待错误时,抽取该条测试用例的测试类、测试方法、测试数据等信息,调用集群管理控制模块的接口进行任务配置,发起构建自动化持续测试任务请求;也就是,将测试失败的测试用例重新创建执行测试机进行重测,创建执行测试机时,也是需要判断集群节点的资源利用情况,创建在空闲的节点上;
当为数据校验错误,将错误的日志信息上传;
当为代码逻辑错误,将错误的日志信息上传。方便责任人记录相应的开发人员。
加入测试分析的智能策略,提升测试结果的分析效率,极大的提高的自动化持续测试效率。
需要说明的是,本发明的实施例中还包括:集群管理控制模块通过监控接口实时监控执行测试机是否启动;当到达设定的时间执行测试机未启动时,集群管理控制模块触发邮箱发送邮件到管理人员。
为了提高资源利用率,创建完执行测试机后,执行测试机需要注册到集群管理控制模块方便集群管理控制模块下发任务以及监控测试执行机的启动状态,发邮件通知管理人员,进行计时排查测试执行机启动故障。
本发明的实施例中还包括:触发集群监控线程实时监测集群中集群管理控制模块和执行测试机的状态;
当监测到集群管理控制模块异常时,在容器编排引擎集群拉取集群管理控制模块的镜像,在异常集群管理控制模块所在的容器组再创建一个集群管理控制模块;
将异常的集群管理控制模块的功能及信息同步到新创建的集群管理控制模块;
当监测到执行测试机异常时,根据该执行测试机任务的配置信息在从节点的容器组中重新创建执行测试机,将创建的执行测试机注册到集群管理控制模块。
利用集群的高可用,动态资源伸缩配置保证,保证无外部因素干扰,提升自动化持续测试稳定性以及资源的利用率,测试结果智能分析大大简化的测试的工作量,极大提高了工作效率。
如图3所示,本发明实施例还提供一种基于容器化的自动化持续测试装置,基于容器编排引擎集群,所述集群包括主节点和若干从节点,所述装置包括集群部署模块、第一生成模块、第二生成模块、任务执行模块、回收模块;
集群部署模块,用于部署容器编排引擎集群并创建容器组;
第一生成模块,用于在容器编排引擎集群拉取集群管理控制模块的镜像,在主节点的容器组创建集群管理控制模块,并配置集群管理控制模块的接口;集群管理控制模块用于调用接口进行任务配置,发起构建自动化持续测试任务请求;
第二生成模块,用于接收到任务请求后,根据任务的配置信息在从节点的容器组中创建执行测试机,将创建的执行测试机注册到集群管理控制模块;并更新自动化测试脚本到执行测试机;
任务执行模块,用于执行自动化测试脚本进行测试;
回收模块,用于触发任务监控线程实时监控任务的执行情况;当任务执行完成时,将任务执行完成的执行测试机注销,同时将该执行测试机所在的容器组删除。
它能利用容器编排引擎集群的集群管理控制模块高可用特性提升自动化持续测试的稳定性,资源按需分配,用完即删除提升资源的利用率,极大的提高的自动化持续测试效率。
在有些实施例中,集群部署模块包括容器组创建单元、镜像创建单元、监控线程部署单元;
容器组创建单元,用于选择集群中的节点创建容器组;
镜像创建单元,用于按照自动化测试类型创建镜像存入镜像仓库;
监控线程部署单元,用于部署集群监测线程和任务监控线程。
将创建镜像存入镜像仓库,方便使用时直接从镜像仓库进行拉取进行创建,节省时间,提高了效率。
在有些实施例中,第一生成模块包括镜像获取单元、模块创建单元、接口设置单元;
镜像获取单元,用于在集群的镜像仓库中按照自动化测试类型拉取集群管理控制模块的镜像;
模块创建单元,用于在主节点的容器组创建集群管理控制模块;
接口设置单元,用于设置集群管理控制模块的用于访问的API接口和用于监控执行测试机是否正常的监控接口。
需要书名的是,集群管理控制模块,用于调用API接口配置任务信息;其中,配置的任务信息包括标签信息;发起构建自动化持续测试任务请求;
第二生成模块包括执行测试机创建单元、注册单元、更新单元;
执行测试机创建单元,用于接收到任务请求后,根据任务的标签信息在从节点的容器组中创建执行测试机;
注册单元,用于将创建的执行测试机注册到集群管理控制模块;
更新单元,用于更新自动化测试脚本到执行测试机。
在有些实施例中,该装置还包括持久化存储模块和测试结果分析模块;
持久化存储模块,用于将测试结果进行持久化存储;
测试结果分析模块,用于读取测试结果中失败的日志信息对测试结果进行分析;当为超时等待错误时,抽取该条测试用例信息,调用集群管理控制模块的接口进行任务配置,发起构建自动化持续测试任务请求,触发第二生成模块生成执行测试机执行测试用例;当为数据校验错误,将错误的日志信息上传;当为代码逻辑错误,将错误的日志信息上传。
另外,本发明的有些实施例中,集群管理控制模块,用于通过监控接口实时监控执行测试机是否启动;当到达设定的时间执行测试机未启动时,集群管理控制模块触发邮箱发送邮件到管理人员。
该装置还包括监控处理模块,用于触发集群监测线程实时监测集群中集群管理控制模块和执行测试机的状态;
具体用于当监测到集群管理控制模块异常时,触发第一生成模块在容器编排引擎集群拉取集群管理控制模块的镜像,在异常集群管理控制模块所在的容器组再创建一个集群管理控制模块;将异常的集群管理控制模块的功能及信息同步到新创建的集群管理控制模块;当监测到执行测试机异常时,触发第二生成模块根据该执行测试机任务的配置信息在从节点的容器组中重新创建执行测试机,将创建的执行测试机注册到集群管理控制模块。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种基于容器化的自动化持续测试方法,其特征在于,基于容器编排引擎集群,所述集群包括主节点和若干从节点,所述方法包括如下步骤:
部署容器编排引擎集群并创建容器组;
在容器编排引擎集群拉取集群管理控制模块的镜像,在主节点的容器组创建集群管理控制模块,并配置集群管理控制模块的接口;
调用集群管理控制模块的接口进行任务配置,发起构建自动化持续测试任务请求;
接收到任务请求后,根据任务的配置信息在从节点的容器组中创建执行测试机,将创建的执行测试机注册到集群管理控制模块;并更新自动化测试脚本到执行测试机;
执行自动化测试脚本进行测试;
测试完成后将执行测试机注销,同时将该执行测试机所在的容器组删除。
2.根据权利要求1所述的基于容器化的自动化持续测试方法,其特征在于,部署容器编排引擎集群并创建容器组的步骤包括:
选择集群中的节点创建容器组;
按照自动化测试类型创建镜像存入镜像仓库;
部署集群监测线程和任务监控线程。
3.根据权利要求1所述的基于容器化的自动化持续测试方法,其特征在于,在容器编排引擎集群拉取集群管理控制模块的镜像,在主节点的容器组创建集群管理控制模块,并配置集群管理控制模块的接口的步骤包括:
在集群的镜像仓库中按照自动化测试类型拉取集群管理控制模块的镜像;
在主节点的容器组创建集群管理控制模块;
设置集群管理控制模块的用于访问的API接口和用于监控执行测试机是否正常的监控接口。
4.根据权利要求3所述的基于容器化的自动化持续测试方法,其特征在于,调用配置集群管理控制模块的接口进行任务配置,发起构建自动化持续测试任务请求的步骤包括:
调用配置集群管理控制模块的API接口配置任务信息;其中,配置的任务信息包括标签信息;
发起构建自动化持续测试任务请求;
所述的接收到任务请求后,根据任务的配置信息在从节点的容器组中创建执行测试机,将创建的执行测试机注册到集群管理控制模块;并更新自动化测试脚本到执行测试机的步骤包括:
接收到任务请求后,根据任务的标签信息在从节点的容器组中创建执行测试机;
将创建的执行测试机注册到集群管理控制模块;
更新自动化测试脚本到执行测试机。
5.根据权利要求1所述的基于容器化的自动化持续测试方法,其特征在于,测试完成后将执行测试机注销,同时将该执行测试机所在的容器组删除的步骤包括:
触发任务监控线程实时监控任务的执行情况;
当任务执行完成时,将任务执行完成的执行测试机注销,同时将该执行测试机所在的容器组删除。
6.根据权利要求1所述的基于容器化的自动化持续测试方法,其特征在于,该方法还包括:
将测试结果进行持久化存储;
读取测试结果中失败的日志信息对测试结果进行分析;
当为超时等待错误时,抽取该条测试用例信息,调用集群管理控制模块的接口进行任务配置,发起构建自动化持续测试任务请求;
接收到任务请求后,根据任务的配置信息在从节点的容器组中创建执行测试机,将创建的执行测试机注册到集群管理控制模块;重新执行测试用例;
当为数据校验错误,将错误的日志信息上传;
当为代码逻辑错误,将错误的日志信息上传。
7.根据权利要求3所述的基于容器化的自动化持续测试方法,其特征在于,该方法还包括:
集群管理控制模块通过监控接口实时监控执行测试机是否启动;
当到达设定的时间执行测试机未启动时,集群管理控制模块触发邮箱发送邮件到管理人员。
8.根据权利要求3所述的基于容器化的自动化持续测试方法,其特征在于,该方法还包括:
触发集群监控线程实时监测集群中集群管理控制模块和执行测试机的状态;
当监测到集群管理控制模块异常时,在容器编排引擎集群拉取集群管理控制模块的镜像,在异常集群管理控制模块所在的容器组再创建一个集群管理控制模块;
将异常的集群管理控制模块的功能及信息同步到新创建的集群管理控制模块;
当监测到执行测试机异常时,根据该执行测试机任务的配置信息在从节点的容器组中重新创建执行测试机,将创建的执行测试机注册到集群管理控制模块。
9.一种基于容器化的自动化持续测试装置,其特征在于,基于容器编排引擎集群,所述集群包括主节点和若干从节点,所述装置包括集群部署模块、第一生成模块、第二生成模块、任务执行模块、回收模块;
集群部署模块,用于部署容器编排引擎集群并创建容器组;
第一生成模块,用于在容器编排引擎集群拉取集群管理控制模块的镜像,在主节点的容器组创建集群管理控制模块,并配置集群管理控制模块的接口;集群管理控制模块用于调用接口进行任务配置,发起构建自动化持续测试任务请求;
第二生成模块,用于接收到任务请求后,根据任务的配置信息在从节点的容器组中创建执行测试机,将创建的执行测试机注册到集群管理控制模块;并更新自动化测试脚本到执行测试机;
任务执行模块,用于执行自动化测试脚本进行测试;
回收模块,用于触发任务监控线程实时监控任务的执行情况;当任务执行完成时,将任务执行完成的执行测试机注销,同时将该执行测试机所在的容器组删除。
10.根据权利要求9所述的基于容器化的自动化持续测试装置,其特征在于,该装置还包括持久化存储模块和测试结果分析模块;
持久化存储模块,用于将测试结果进行持久化存储;
测试结果分析模块,用于读取测试结果中失败的日志信息对测试结果进行分析;当为超时等待错误时,抽取该条测试用例信息,调用集群管理控制模块的接口进行任务配置,发起构建自动化持续测试任务请求,触发第二生成模块生成执行测试机执行测试用例;当为数据校验错误,将错误的日志信息上传;当为代码逻辑错误,将错误的日志信息上传。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111097122.3A CN113986714A (zh) | 2021-09-18 | 2021-09-18 | 一种基于容器化的自动化持续测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111097122.3A CN113986714A (zh) | 2021-09-18 | 2021-09-18 | 一种基于容器化的自动化持续测试方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113986714A true CN113986714A (zh) | 2022-01-28 |
Family
ID=79736104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111097122.3A Pending CN113986714A (zh) | 2021-09-18 | 2021-09-18 | 一种基于容器化的自动化持续测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113986714A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117851269A (zh) * | 2024-03-07 | 2024-04-09 | 长江龙新媒体有限公司 | 一种基于云端自动化测试环境管理方法及*** |
-
2021
- 2021-09-18 CN CN202111097122.3A patent/CN113986714A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117851269A (zh) * | 2024-03-07 | 2024-04-09 | 长江龙新媒体有限公司 | 一种基于云端自动化测试环境管理方法及*** |
CN117851269B (zh) * | 2024-03-07 | 2024-05-28 | 长江龙新媒体有限公司 | 一种基于云端自动化测试环境管理方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3149591B1 (en) | Tracking application deployment errors via cloud logs | |
CN109271170B (zh) | 一种分布式***部署方法、***、电子设备及存储介质 | |
US8225313B2 (en) | Object-based virtual infrastructure management | |
CN111552556B (zh) | 一种gpu集群服务管理***及方法 | |
Heinis et al. | Design and evaluation of an autonomic workflow engine | |
CN112667362A (zh) | Kubernetes上部署Kubernetes虚拟机集群的方法与*** | |
CN111324599B (zh) | 一种区块链实验***及管理方法 | |
CN114884838B (zh) | Kubernetes组件的监控方法及服务器 | |
CN112099919B (zh) | 一种基于云计算api的应用服务可视化快速部署方法 | |
CN109901985B (zh) | 分布式测试装置及方法、存储介质和电子设备 | |
CN113204353B (zh) | 一种大数据平台组件部署方法及装置 | |
CN114661622B (zh) | 测试中间件及测试管理*** | |
US11108638B1 (en) | Health monitoring of automatically deployed and managed network pipelines | |
CN115080436A (zh) | 测试指标确定方法、装置、电子设备及存储介质 | |
CN113986714A (zh) | 一种基于容器化的自动化持续测试方法及装置 | |
Lin et al. | Research on building an innovative electric power marketing business application system based on cloud computing and microservices architecture technologies | |
CN113900670A (zh) | 集群服务器应用部署*** | |
CN113570347A (zh) | 一种面向微服务架构***的rpa运维方法 | |
US11539612B2 (en) | Testing virtualized network functions | |
Seifermann | Application performance monitoring in microservice-based systems | |
CN113824801B (zh) | 一种智能融合终端统一接入管理组件*** | |
EP3473035B1 (en) | Application resilience system and method thereof for applications deployed on a cloud platform | |
CN109828901A (zh) | 搭建压测环境的方法及装置、Linux服务器、及可读存储介质 | |
CN113031969B (zh) | 设备部署巡检方法、装置、计算机设备及存储介质 | |
WO2023276039A1 (ja) | サーバ管理装置、サーバ管理方法およびプログラム |
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 |