CN116881113A - 一种两层级调度的自动化测试任务执行控制方法及系统 - Google Patents
一种两层级调度的自动化测试任务执行控制方法及系统 Download PDFInfo
- Publication number
- CN116881113A CN116881113A CN202310633301.7A CN202310633301A CN116881113A CN 116881113 A CN116881113 A CN 116881113A CN 202310633301 A CN202310633301 A CN 202310633301A CN 116881113 A CN116881113 A CN 116881113A
- Authority
- CN
- China
- Prior art keywords
- test
- module
- task
- subtask
- test task
- 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 448
- 238000000034 method Methods 0.000 title claims abstract description 23
- 230000002618 waking effect Effects 0.000 claims abstract description 3
- 238000012544 monitoring process Methods 0.000 claims description 31
- 238000012423 maintenance Methods 0.000 claims description 23
- 238000013515 script Methods 0.000 claims description 13
- 230000007849 functional defect Effects 0.000 abstract description 2
- 230000002159 abnormal effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004140 cleaning Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种两层级调度的自动化测试任务执行控制方法,接收并解析测试任务命令,再发送至测试代理执行模块;对测试任务命令进行判断,分为简单测试任务和复杂测试任务,若为简单测试任务则直接执行。否则唤醒二级调度模块,与子任务测试代理模块建立连接和控制关系,按照逻辑关系下发子任务;令子任务测试代理模块执行子任务。本发明支持复杂分布式测试任务的执行控制和调度,填补了已有调度工具的功能缺失。支持简单测试任务、复杂测试任务混杂调度的,提高大型软件自动化测试运行效率。采用xml文档描述复杂测试任务,将复杂测试任务子任务层级结构化、集中管理,包含名称和运行参数、运行节点、逻辑关系等,易于维护编辑。
Description
技术领域
本发明属于计算机软件自动化测试技术领域,尤其涉及一种两层级调度的自动化测试任务执行控制方法及系统。
背景技术
在敏捷开发模式中,软件快速频繁发布新版本,为保证产品的质量,高效的软件测试,尤其是自动化测试发挥着重要作用。
一个大型软件产品的自动化测试脚本体系,往往是由多个子用例组成的:自动化涵盖多种类型,如GUI(Graphical User Interface,图形用户界面)测试、接口测试、性能测试,不同类型的测试项需要使用不同的测试工具/框架/编程语言来实现,对应不同类型的测试脚本;其次,软件产品一般有多个子系统、子业务,为便于维护管理,同类型的自动化脚本也会根据功能、业务划分为一个个独立的测试用例。
大型软件系统自动化脚本体系的另一个特征是分布式:软件系统包含多种功能角色,例如Server和Client。不同的角色部署在不同的计算机节点上,对应角色功能的用例将需要在不同节点上运行。
软件产品的自动化测试任务,是脚本体系中子用例的有机组合。既有简单任务:一个测试用例,即可完成对某一子系统单一功能的测试。也有复杂任务:包含多个测试用例,这些子任务按照特定逻辑关系时序要求组合起来,以完成多类型组合、跨越多个子系统/子软件的综合业务测试,如被测对象布局在多个节点,则子任务还具有分布式特征。如下为一个典型复杂测试任务示例:
子任务项①:Server端用GUI自动化测试子任务准备环境(到特定运行状态)
子任务项②:Client端用GUI自动化测试子任务准备环境(到特定运行状态)
子任务项③:在Client端上运行接口测试子任务(核心验证点:验证Client端获取Server数据正确性)
子任务项④:Server端用GUI自动化测试子任务清理环境(如退出软件等)
子任务项⑤:Client端用GUI自动化测试子任务清理环境(如退出软件等)
上述示例,包含五个子任务项,子任务之间是关联的,如必须①、②运行成功,后续任务才能运行。测试任务需要两台测试节点协同,②、③、⑤在Client节点上执行,①、④在Server节点上执行。
目前常见的调度工具如jenkins,其调度配置是以节点、测试用例(子任务)为单位的,只能调度简单测试任务,对上述由多个具有特定逻辑关系时序要求的子任务组成、且具有分布式特点的复杂测试任务无能为力。
目前复杂任务的运行,一种为人工干预方式,人为判断是否满足子任务运行前置条件,再手动启动自动化测试用例执行。另一种为将分布式节点中的其他节点环境固化下来,对应的子任务从总测试任务中剔除,从而调度软件只需要对单台节点、串行运行的测试用例进行调度。例如上述示例中,测试任务不包含子任务①、④,只包含②、③、⑤,Server节点被固化在特定运行状态,以随时满足自动化测试要求。
然而已有的常见调度工具不具备调度复杂测试任务的能力。人工干预方式,显然不能满足多测试任务依次自动运行的需求,限制了复杂自动化测试任务运行的频次,对应的软件业务功能不能得到及时验证。而将其他节点环境固化下来、只调度一台节点的方式,存在浪费测试资源、配置不灵活(测试用例中Server相关配置必须写死)等问题。当自动化测试任务体系中包含多个复杂测试任务时,自动化执行将无法实施。
发明内容
本发明的技术目的是提供一种两层级调度的自动化测试任务执行控制方法及系统,以解决测试效率低、浪费测试资源以及配置不灵活问题。
为解决上述问题,本发明的技术方案为:
一种两层级调度的自动化测试任务执行控制方法,包括如下步骤:
S1:接收测试任务命令,并解析测试任务命令,通过一级调度模块将测试任务命令发送至相对应的测试代理执行模块;
S2:通过测试代理执行模块对测试任务命令进行判断,以复杂度分为简单测试任务和复杂测试任务,若为简单测试任务则令测试代理执行模块执行简单测试任务,若为复杂测试任务则进入步骤S3;
S3:令接收测试任务命令的测试代理执行模块为主测试代理执行模块,其余的测试代理执行模块为子任务测试代理模块;唤醒主测试代理执行模块中的二级调度模块,并与各子任务测试代理模块建立连接和控制关系,按照逻辑关系下发子任务;
S4:令子任务测试代理模块执行相对应的子任务,并反馈子任务测试状态与结果,直至所有子任务完成,退出二级调度模块,测试任务结束。
其中,在步骤S3中,具体步骤为,
S31:唤醒二级调度模块后,在复杂测试任务中找到相匹配的xml测试任务描述文件,将xml测试任务描述文件进行解析得出子任务的运行信息;
S32:将二级调度模块连接到至少一子任务测试代理模块,并接管子任务测试代理模块的控制权;
S33:按照xml测试任务描述文件中的逻辑关系调度子任务,将子任务分发给子任务测试代理模块,并对子任务测试代理模块的运行状态进行实时监控。
具体地,xml测试任务描述文件中的名称及属性需要按照预设规则编写,预设规则如下:
用于描述子任务类型的type字段,支持GUI、接口、性能各种测试框架/工具编写的自动化测试脚本类型,也支持可执行文件任务类型;
用于描述子任务名称的name字段和运行参数的args字段,用以配置运行节点IP信息和路径信息;
用于描述子任务运行节点的pc字段,以指定运行子任务的子任务测试代理模块;
用于描述子任务逻辑关系及时序的wait字段、continueonerror字段、teardownTask字段,其中,wait字段用于描述前后子任务并行/串行运行的时序关系;continueonerror字段用于描述当前子任务失败,是否结束测试任务;teardownTask字段用于描述当前子任务是否为必执行任务。
进一步优选地,在步骤S4中,退出二级调度模块前,还包括如下步骤,复原子任务测试代理模块的受控状态,解除主测试代理执行模块与子任务测试代理模块的连接关系。
进一步优选地,步骤S3中,还存在异常错误,均通过异常处理模块解决,异常错误包括:
在步骤S31中存在xml测试任务描述文件解析错误;
在步骤S32中存在与子任务测试代理模块失联次数达到预设阈值;
在步骤S33中存在与子任务测试代理模块失联次数达到预设阈值以及子任务运行错误。
进一步优选地,解除受控关系后还会生成复杂测试任务的测试报告,其中,复杂测试任务的测试报告包括子任务的运行结果和异常处理模块的异常错误信息。
一种两层级调度的自动化测试任务执行控制系统,配置有如上述的两层级调度的自动化测试任务执行控制方法,包括若干客户端、一级调度模块和若干测试代理执行模块;
客户端均与一级调度模块信号连接,用于向一级调度模块下发测试任务命令,以及对测试任务运行状态进行监控;
一级调度模块与各测试代理执行模块信号连接,用于接收测试任务命令,并解析测试任务命令,再将测试任务命令发送至相对应的测试代理执行模块内;
测试代理执行模块用于对接收到的测试任务命令进行判断,以复杂度分为简单测试任务和复杂测试任务,若为简单测试任务则测试代理执行模块执行简单测试任务;若为复杂测试任务则接收到测试任务命令的测试代理执行模块成为主测试代理执行模块,其余的测试代理执行模块成为子任务测试代理模块;主测试代理执行模块中的二级调度模块被唤醒,并与各子任务测试代理模块建立连接和控制关系,按照逻辑关系下发子任务;子任务测试代理模块执行相对应的子任务,并反馈子任务测试状态与结果。
具体地,主测试代理执行模块所运用到的功能模块包括:主受控状态维护模块、命令解析功能模块、二级调度模块唤醒模块、生命周期监控功能模块、测试任务结果生成和上送模块、测试节点状态干预和监控模块以及第一异常处理模块;
主受控状态维护模块用于将主测试代理执行模块置于主控节点;
命令解析功能模块用于对接收到的测试任务命令进行判断,判断命令为简单测试任务或复杂测试任务;
二级调度模块唤醒模块用于接收到复杂测试任务后启动本机的二级调度模块;
生命周期监控功能模块用于对二级调度模块的生命周期进行监测;
测试任务结果生成和上送模块用于待测试任务命令运行完成后,生成标准测试结果文件,上送至一级调度模块;
测试节点状态干预和监控模块用于受控于一级调度模块对主测试代理执行模块进行状态监控,以及暂停、继续、清空命令的状态干预;
第一异常处理模块用于处理运行错误的异常信息。
具体地,子任务测试代理模块所运用到的功能模块包括:主受控状态维护模块、简单测试任务执行功能模块、测试任务结果生成和上送模块、测试节点状态干预和监控模块以及第一异常处理模块;
主受控状态维护模块用于将子任务测试代理模块置于受控节点,只从主控节点接收测试任务命令;
简单测试任务执行功能模块用于执行多种类型的测试脚本、运行可执行文件;
测试任务结果生成和上送模块用于待从主受控状态维护模块接收的测试任务命令运行完成后,生成标准测试结果文件,上送至二级调度模块;
测试节点状态干预和监控模块用于受控于二级调度模块对子任务测试代理模块进行状态监控,以及暂停、继续、清空命令的状态干预;
第一异常处理模块用于处理运行错误的异常信息。
具体地,二级调度模块所运用到的功能模块包括:复杂任务xml描述文件解析模块、分布式节点信息管理和连接状态维护模块、子任务调度功能模块、子任务执行和测试结果生成模块、复杂任务测试报告生成模块以及第二异常处理模块;
复杂任务xml描述文件解析模块用于从xml测试任务描述文件中解析中子任务名称、参数、运行节点信息以及前置后置子任务逻辑关系;
分布式节点信息管理和连接状态维护模块用于建立并维护二级调度模块与子任务测试代理模块的控制连接关系;
子任务调度功能模块用于按照子任务的逻辑关系调度子任务运行;
子任务执行和测试结果生成模块用于在主控节点执行子任务,并生成测试结果;
复杂任务测试报告生成模块用于合并各子任务运行结果,汇总为复杂任务测试结果,待命令运行完成后,生成标准测试结果文件,上送给主测试代理执行模块再上送给一级调度模块;
第二异常处理模块用于处理二级调度模块运行错误的异常信息。
本发明由于采用以上技术方案,使其与现有技术相比具有以下的优点和积极效果:
本发明支持复杂分布式测试任务的执行控制和调度,这些复杂测试任务包含具有分布式特征的、具有串行/并行/循环等逻辑关系的多个子任务,填补了已有调度工具的功能缺失。
本发明支持简单测试任务、复杂测试任务混杂调度的。模块化设计,支持在已有的通用的简单自动化测试任务调度系统上无缝扩展,提高大型软件自动化测试运行效率。
本发明采用xml文档描述复杂测试任务,将复杂测试任务子任务层级结构化、集中管理,包含子任务名称和运行参数信息、运行节点信息、子任务间逻辑关系描述等,易于维护编辑。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。
图1为本发明的简单任务自动化测试过程流程图;
图2为本发明的复杂任务自动化测试过程流程图;
图3为本发明的二级调度复杂任务执行流程图;
图4为本发明的两层级调度的自动化测试任务执行控制系统框图;
图5为本发明的二级调度模块的模块图;
图6为本发明的子任务测试代理模块的模块图;
图7为本发明的xml测试任务描述文件示意图。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
以下结合附图和具体实施例对本发明提出的一种两层级调度的自动化测试任务执行控制方法及系统作进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。
实施例1
参看图1至图3,本实施例提供了一种两层级调度的自动化测试任务执行控制方法,包括如下步骤:
首先,在步骤S1中,一级调度模块从客户端处接收测试任务命令,并解析该测试任务命令。紧接着一级调度模块根据测试任务命令的解析结果发送至相对应的测试代理执行模块。
然后,在步骤S2中,测试代理执行模块接收测试任务命令后进行判断,以复杂度进行区分,分为简单测试任务或是复杂测试任务。若为简单测试任务则令当前测试代理执行模块直接执行简单测试任务,若为复杂测试任务则进入下一步。
接着,进入步骤S3,令接收测试任务命令的测试代理执行模块为主测试代理执行模块即主控节点,其余的测试代理执行模块为子任务测试代理模块即受控节点,主控节点和一级调度模块实现网络通信,受控节点则由主控节点控制。唤醒主测试代理执行模块中的二级调度模块后,在复杂测试任务中找到相匹配的xml测试任务描述文件,将xml测试任务描述文件进行解析得出子任务的运行信息。若xml测试任务描述文件解析发生错误,则发送解析出错信号至异常处理模块。根据解析的运行信息,将二级调度模块通过网络协议连接到至少一子任务测试代理模块,接管子任务测试代理模块的控制权,即受控节点仅由主控节点控制。若二级调度模块与子任务测试代理模块的失联次数达到预设临界值,则发送连接出错信号至异常处理模块。连接成功后,按照xml测试任务描述文件中的逻辑关系调度子任务,将子任务分发给子任务测试代理模块,并对子任务测试代理模块的运行状态进行实时监控。可理解为,由二级调度模块向子任务测试代理模块分发子任务,子任务测试代理模块向二级调度模块反馈运行状态和运行结果。分发子任务以及监控子任务的同时,若失联次数达到预设临界值,则发送连接出错信号至异常处理模块。
参看图7,具体地,xml测试任务描述文件用于按照逻辑时序关系组织各类型子任务、给子任务预设置运行节点。因此,xml测试任务描述文件中的名称及属性需要按照预设规则编写,预设规则如下:
子任务类型描述:type字段。支持GUI、接口、性能各种测试框架/工具编写的自动化测试脚本类型,也支持可执行文件任务类型。
子任务名称、参数描述:name字段和args字段,描述子任务名称和运行参数。进一步的,name字段和args字段值支持特殊语法,以便灵活配置运行节点IP信息、路径信息等。如“$Slave_0”、“$RF”、“$QTP”,分别指代Slave_0节点IP、本节点上RF脚本路径、QTP脚本路径。
子任务运行节点描述:pc字段,指定运行子任务的节点。
子任务逻辑关系及时序描述:wait字段:用于描述前后子任务并行/串行运行的时序关系。continueonerror字段:用于描述当前子任务失败,是否结束测试任务。teardownTask字段:用于描述当前子任务是否为必执行任务。提供for循环条件控制Node。
接着,在步骤S4中,接收到子任务的子任务测试代理模块执行相对应的子任务,并反馈子任务测试状态与结果,直至所有子任务完成。若子任务运行时发生错误,则发送运行出错信号至异常处理模块。所有子任务完成后,复原子任务测试代理模块的受控状态,解除主控节点与受控节点的主受控关系。接着,生成复杂测试任务的测试报告,其内容包括子任务的运行结果和异常处理模块的异常错误信息,汇总成总测试任务的状态,向汇报,再向“一级调度模块”汇报,在一级调度的客户端中可实时查看复杂测试任务的总体运行状态。最后退出二级调度模块,测试任务结束。
实施例2
参看图4至图6,本实施例提供一种两层级调度的自动化测试任务执行控制系统,配置有如实施例1的两层级调度的自动化测试任务执行控制方法,包括若干客户端、一级调度模块和若干测试代理执行模块;
客户端均与一级调度模块信号连接,用于向一级调度模块下发测试任务命令,以及对测试任务运行状态进行监控。一级调度模块与各测试代理执行模块信号连接,用于接收测试任务命令,并解析测试任务命令,再将测试任务命令发送至相对应的测试代理执行模块内。
测试代理执行模块用于对接收到的测试任务命令进行判断,以复杂度分为简单测试任务和复杂测试任务,若为简单测试任务则测试代理执行模块执行简单测试任务。若为复杂测试任务则接收到测试任务命令的测试代理执行模块成为主测试代理执行模块即主控节点,其余的测试代理执行模块成为子任务测试代理模块即为受控节点。主测试代理执行模块中的二级调度模块被唤醒,并与各子任务测试代理模块建立连接和控制关系,按照逻辑关系下发子任务,子任务测试代理模块执行相对应的子任务,并反馈子任务测试状态与结果。
其中,一级调度模块为常规自动化调度工具,例如jenkins调度。简单测试任务调度,直接用一级调度既可,不需要启用二级调度。一级调度下,所使用的测试代理执行模块的数量可按需选定。
复杂测试任务则需要两级调度来完成。该场景下,一级调度中测试代理执行模块即为二级调度中的主测试代理执行模块。在一级调度中,复杂测试任务和简单测试任务并没有区别,均为一个命令。如此设计,可以将复杂测试任务调度无缝融入已有的自动化执行调度方案,简单任务和复杂任务可以混杂在一起调度执行。
参看图6,主测试代理执行模块所运用到的功能模块包括:主受控状态维护模块、命令解析功能模块、二级调度模块唤醒模块、生命周期监控功能模块、测试任务结果生成和上送模块、测试节点状态干预和监控模块以及第一异常处理模块。
主受控状态维护模块用于将当前的主测试代理执行模块置于主控节点,可直接从客户端查看状态。
命令解析功能模块通过关键字,判断命令是复杂测试任务还是简单测试任务,将完整启动命令(如命令名里面的路径信息、命令参数里面的特殊符号等已经解释完成)传递给任务执行端。
二级调度模块唤醒模块用于接收到复杂测试任务后启动本机的二级调度模块,生命周期监控功能模块用于对二级调度模块的生命周期进行监测。二级调度模块的生命周期和复杂测试任务运行时间相一致。
测试任务结果生成和上送模块用于待测试任务命令运行完成后,生成标准测试结果文件,上送至一级调度模块。
测试节点状态干预和监控模块受控于一级调度模块对主测试代理执行模块进行状态监控,以及暂停、继续、清空命令的状态干预。如此,在一级调度中,可以全局监控维护所有测试资源状态。
第一异常处理模块用于处理运行错误的异常信息。
参看图6,现对子任务测试代理模块所运用到的功能模块进行说明,由于其与主受控状态维护模块本质是相同的,只是所使用的功能模块不同,其包括:主受控状态维护模块、简单测试任务执行功能模块、测试任务结果生成和上送模块、测试节点状态干预和监控模块以及第一异常处理模块。
主受控状态维护模块用于将子任务测试代理模块置于受控节点,只从主控节点接收测试任务命令,不再接收其他控制端(如一级调度服务器)的任务命令。
简单测试任务执行功能模块,具备各种类型测试脚本用例、可执行文件的运行能力。
测试任务结果生成和上送模块用于待从主受控状态维护模块接收的测试任务命令运行完成后,生成标准测试结果文件,上送至二级调度模块;
测试节点状态干预和监控模块用于受控于二级调度模块对子任务测试代理模块进行状态监控,以及暂停、继续、清空命令的状态干预;
第一异常处理模块用于处理运行错误的异常信息。
参看图6,现对二级调度模块所运用到的功能模块进行说明,其包括:复杂任务xml描述文件解析模块、分布式节点信息管理和连接状态维护模块、子任务调度功能模块、子任务执行和测试结果生成模块、复杂任务测试报告生成模块以及第二异常处理模块。
复杂任务xml描述文件解析模块可从xml测试任务描述文件中解析中子任务名称、参数、运行节点信息以及前置后置子任务逻辑关系等信息。
分布式节点信息管理和连接状态维护模块维护复杂任务中涉及的分布式节点脚本类型、路径,维护分布式节点受控状态前原有简单任务队列、状态等信息。与远程节点建立连接和主被控关系,定时检测分布式节点状态。复杂任务所有子任务完成后,复原远程节点的状态、简单任务队列。
子任务调度功能模块,可按照子任务的逻辑关系调度子任务运行。
子任务执行和测试结果生成模块用于在主控节点执行子任务,并生成测试结果。
复杂任务测试报告生成模块可合并各子任务运行结果,汇总为复杂任务测试结果,待命令运行完成后,生成标准测试结果文件,上送给主测试代理执行模块再上送给一级调度模块。可以通过客户端查看复杂任务的测试结果。
第二异常处理模块用于处理二级调度模块运行错误的异常信息,即当处理xml测试任务描述文件解析错误、受控节点连接错误、子任务运行超时错误等异常错误,按照预设流程结束测试,恢复被控节点原有状态。
上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式。即使对本发明作出各种变化,倘若这些变化属于本发明权利要求及其等同技术的范围之内,则仍落入在本发明的保护范围之中。
Claims (10)
1.一种两层级调度的自动化测试任务执行控制方法,其特征在于,包括如下步骤:
S1:接收测试任务命令,并解析所述测试任务命令,通过一级调度模块将所述测试任务命令发送至相对应的测试代理执行模块;
S2:通过所述测试代理执行模块对所述测试任务命令进行判断,以复杂度分为简单测试任务和复杂测试任务,若为简单测试任务则令所述测试代理执行模块执行简单测试任务,若为复杂测试任务则进入步骤S3;
S3:令接收所述测试任务命令的测试代理执行模块为主测试代理执行模块,其余的测试代理执行模块为子任务测试代理模块;唤醒所述主测试代理执行模块中的二级调度模块,并与各所述子任务测试代理模块建立连接和控制关系,按照逻辑关系下发子任务;
S4:令所述子任务测试代理模块执行相对应的子任务,并反馈子任务测试状态与结果,直至所有子任务完成,退出二级调度模块,测试任务结束。
2.根据权利要求1所述的两层级调度的自动化测试任务执行控制方法,其特征在于,在所述步骤S3中,具体步骤为,
S31:唤醒所述二级调度模块后,在复杂测试任务中找到相匹配的xml测试任务描述文件,将所述xml测试任务描述文件进行解析得出子任务的运行信息;
S32:将所述二级调度模块连接到至少一所述子任务测试代理模块,并接管所述子任务测试代理模块的控制权;
S33:按照所述xml测试任务描述文件中的逻辑关系调度子任务,将子任务分发给所述子任务测试代理模块,并对所述子任务测试代理模块的运行状态进行实时监控。
3.根据权利要求2所述的两层级调度的自动化测试任务执行控制方法,其特征在于,所述xml测试任务描述文件中的名称及属性需要按照预设规则编写,预设规则如下:
用于描述子任务类型的type字段,支持GUI、接口、性能各种测试框架/工具编写的自动化测试脚本类型,也支持可执行文件任务类型;
用于描述子任务名称的name字段和运行参数的args字段,用以配置运行节点IP信息和路径信息;
用于描述子任务运行节点的pc字段,以指定运行子任务的所述子任务测试代理模块;
用于描述子任务逻辑关系及时序的wait字段、continueonerror字段、teardownTask字段,其中,wait字段用于描述前后子任务并行/串行运行的时序关系;continueonerror字段用于描述当前子任务失败,是否结束测试任务;teardownTask字段用于描述当前子任务是否为必执行任务。
4.根据权利要求2所述的两层级调度的自动化测试任务执行控制方法,其特征在于,在所述步骤S4中,所述退出二级调度模块前,还包括如下步骤,复原所述子任务测试代理模块的受控状态,解除所述主测试代理执行模块与所述子任务测试代理模块的连接关系。
5.根据权利要求2所述的两层级调度的自动化测试任务执行控制方法,其特征在于,所述步骤S3中,还存在异常错误,均通过异常处理模块解决,异常错误包括:
在所述步骤S31中存在所述xml测试任务描述文件解析错误;
在所述步骤S32中存在与所述子任务测试代理模块失联次数达到预设阈值;
在所述步骤S33中存在与所述子任务测试代理模块失联次数达到预设阈值以及子任务运行错误。
6.根据权利要求5所述的两层级调度的自动化测试任务执行控制方法,其特征在于,解除受控关系后还会生成复杂测试任务的测试报告,其中,复杂测试任务的测试报告包括子任务的运行结果和所述异常处理模块的异常错误信息。
7.一种两层级调度的自动化测试任务执行控制系统,配置有如权利要求1至6任意一项所述的两层级调度的自动化测试任务执行控制方法,其特征在于,包括若干客户端、一级调度模块和若干测试代理执行模块;
所述客户端均与所述一级调度模块信号连接,用于向所述一级调度模块下发测试任务命令,以及对测试任务运行状态进行监控;
所述一级调度模块与各所述测试代理执行模块信号连接,用于接收所述测试任务命令,并解析所述测试任务命令,再将所述测试任务命令发送至相对应的测试代理执行模块内;
所述测试代理执行模块用于对接收到的所述测试任务命令进行判断,以复杂度分为简单测试任务和复杂测试任务,若为简单测试任务则所述测试代理执行模块执行简单测试任务;若为复杂测试任务则接收到所述测试任务命令的测试代理执行模块成为主测试代理执行模块,其余的测试代理执行模块成为子任务测试代理模块;所述主测试代理执行模块中的二级调度模块被唤醒,并与各所述子任务测试代理模块建立连接和控制关系,按照逻辑关系下发子任务;所述子任务测试代理模块执行相对应的子任务,并反馈子任务测试状态与结果。
8.根据权利要求7所述的两层级调度的自动化测试任务执行控制系统,其特征在于,所述主测试代理执行模块所运用到的功能模块包括:主受控状态维护模块、命令解析功能模块、二级调度模块唤醒模块、生命周期监控功能模块、测试任务结果生成和上送模块、测试节点状态干预和监控模块以及第一异常处理模块;
所述主受控状态维护模块用于将所述主测试代理执行模块置于主控节点;
所述命令解析功能模块用于对接收到的所述测试任务命令进行判断,判断命令为简单测试任务或复杂测试任务;
所述二级调度模块唤醒模块用于接收到复杂测试任务后启动本机的所述二级调度模块;
所述生命周期监控功能模块用于对所述二级调度模块的生命周期进行监测;
所述测试任务结果生成和上送模块用于待所述测试任务命令运行完成后,生成标准测试结果文件,上送至所述一级调度模块;
所述测试节点状态干预和监控模块用于受控于所述一级调度模块对所述主测试代理执行模块进行状态监控,以及暂停、继续、清空命令的状态干预;
所述第一异常处理模块用于处理运行错误的异常信息。
9.根据权利要求8所述的两层级调度的自动化测试任务执行控制系统,其特征在于,所述子任务测试代理模块所运用到的功能模块包括:所述主受控状态维护模块、简单测试任务执行功能模块、所述测试任务结果生成和上送模块、所述测试节点状态干预和监控模块以及所述第一异常处理模块;
所述主受控状态维护模块用于将所述子任务测试代理模块置于受控节点,只从主控节点接收所述测试任务命令;
所述简单测试任务执行功能模块用于执行多种类型的测试脚本、运行可执行文件;
所述测试任务结果生成和上送模块用于待从所述主受控状态维护模块接收的所述测试任务命令运行完成后,生成标准测试结果文件,上送至所述二级调度模块;
所述测试节点状态干预和监控模块用于受控于所述二级调度模块对所述子任务测试代理模块进行状态监控,以及暂停、继续、清空命令的状态干预;
所述第一异常处理模块用于处理运行错误的异常信息。
10.根据权利要求7所述的两层级调度的自动化测试任务执行控制系统,其特征在于,所述二级调度模块所运用到的功能模块包括:复杂任务xml描述文件解析模块、分布式节点信息管理和连接状态维护模块、子任务调度功能模块、子任务执行和测试结果生成模块、复杂任务测试报告生成模块以及第二异常处理模块;
所述复杂任务xml描述文件解析模块用于从xml测试任务描述文件中解析中子任务名称、参数、运行节点信息以及前置后置子任务逻辑关系;
所述分布式节点信息管理和连接状态维护模块用于建立并维护所述二级调度模块与所述子任务测试代理模块的控制连接关系;
所述子任务调度功能模块用于按照子任务的逻辑关系调度子任务运行;
所述子任务执行和测试结果生成模块用于在主控节点执行子任务,并生成测试结果;
所述复杂任务测试报告生成模块用于合并各子任务运行结果,汇总为复杂任务测试结果,待命令运行完成后,生成标准测试结果文件,上送给所述主测试代理执行模块再上送给所述一级调度模块;
所述第二异常处理模块用于处理所述二级调度模块运行错误的异常信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310633301.7A CN116881113A (zh) | 2023-05-31 | 2023-05-31 | 一种两层级调度的自动化测试任务执行控制方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310633301.7A CN116881113A (zh) | 2023-05-31 | 2023-05-31 | 一种两层级调度的自动化测试任务执行控制方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116881113A true CN116881113A (zh) | 2023-10-13 |
Family
ID=88265059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310633301.7A Pending CN116881113A (zh) | 2023-05-31 | 2023-05-31 | 一种两层级调度的自动化测试任务执行控制方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116881113A (zh) |
-
2023
- 2023-05-31 CN CN202310633301.7A patent/CN116881113A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9053240B2 (en) | Computer program testing | |
US8301935B2 (en) | Distributed batch runner | |
WO2011060642A1 (zh) | 一种分布式综合业务自动化测试系统及方法 | |
CN113569987A (zh) | 模型训练方法和装置 | |
CN106874189B (zh) | 一种电网实时数据库系统的自动化测试系统的实现方法 | |
CN110611707A (zh) | 一种任务调度的方法及装置 | |
CN103516735A (zh) | 一种网络节点升级的方法及装置 | |
CN117193225B (zh) | 晶圆制造工艺流程控制方法及系统 | |
US12035156B2 (en) | Communication method and apparatus for plurality of administrative domains | |
CN116737560B (zh) | 基于智能导控的智慧训练系统 | |
CN113658351A (zh) | 一种产品生产的方法、装置、电子设备及存储介质 | |
CN116661978B (zh) | 一种分布式的流程处理方法、装置及分布式业务流程引擎 | |
CN116400987B (zh) | 持续集成方法、装置、电子设备及存储介质 | |
CN111522630B (zh) | 基于批次调度中心的计划任务执行方法以及系统 | |
CN117033016A (zh) | 流程调度系统、方法、电子设备及存储介质 | |
CN115056234B (zh) | 基于事件驱动和无限状态机的rpa控制器调度方法及系统 | |
CN111881018A (zh) | 一种自动化测试动态调度系统 | |
CN116881113A (zh) | 一种两层级调度的自动化测试任务执行控制方法及系统 | |
CN113126961B (zh) | 流水线处理方法、装置和存储介质 | |
CN105677515B (zh) | 一种数据库联机备份方法及系统 | |
CN114244678A (zh) | 多协议告警设备接入方法及系统 | |
CN109921940B (zh) | 基于sdwan场景实现网络业务离线编排处理的系统及方法 | |
CN106972942B (zh) | 告警处理方法及系统 | |
CN116501477B (zh) | 一种数据自动化处理方法、装置和设备 | |
CN117850969A (zh) | 一种自动化产出多cpu多操作系统制品的方法 |
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 | ||
CB02 | Change of applicant information |
Country or region after: China Address after: 310053 No. 309 Liuhe Road, Binjiang District, Hangzhou City, Zhejiang Province Applicant after: Zhongkong Technology Co.,Ltd. Address before: 310053 No. 309 Liuhe Road, Binjiang District, Hangzhou City, Zhejiang Province Applicant before: ZHEJIANG SUPCON TECHNOLOGY Co.,Ltd. Country or region before: China |
|
CB02 | Change of applicant information |