首页> 中国专利> 一种任务发布方法及装置、执行方法及装置、系统

一种任务发布方法及装置、执行方法及装置、系统

摘要

本发明提供一种任务发布方法及装置、执行方法及装置、系统,包括:确定自动化测试任务的优先级、自动化测试任务中的案例集合以及案例集合的案例类型;根据案例集合确定自动化测试任务的环境要素;将自动化测试任务的优先级、案例集合的案例类型以及环境要素发布至任务阵列,以便执行机在空闲时根据自动化测试任务的优先级和案例类型领取自动化测试任务并在自动化测试任务所需环境要素下执行自动化测试任务。这样,能够根据自动化测试的优先级领取自动化测试任务,并且由于发布至任务阵列中的自动化测试任务包括自动化测试任务的环境要素,从而能够更好的领取匹配的自动化测试任务,满足当前大规模、多场景的自动化测试任务执行需求。

著录项

  • 公开/公告号CN112597030A

    专利类型发明专利

  • 公开/公告日2021-04-02

    原文格式PDF

  • 申请/专利权人 中国农业银行股份有限公司;

    申请/专利号CN202011569140.2

  • 发明设计人 孙辉;谢彬;杨启龙;曹睿;胡莉莉;

    申请日2020-12-26

  • 分类号G06F11/36(20060101);

  • 代理机构11227 北京集佳知识产权代理有限公司;

  • 代理人杨丽爽

  • 地址 100005 北京市东城区建国门内大街69号

  • 入库时间 2023-06-19 10:27:30

说明书

技术领域

本发明涉及软件开发技术领域,特别涉及一种任务发布方法及装置、执行方法及装置、系统。

背景技术

随着软件系统规模的日益扩大,自动化测试需求不断增加。目前进行自动化测试的方法主要是本地执行方式和分任务执行方式。本地执行是指自动化测试的执行工具和案例均在测试用机器本地存放,而后由测试人员在机器上完成自动化测试。分任务执行方式是指通过分任务的方式,由服务器预先配置的策略或用户手工选择,分配给固定的执行机进行测试。

但是,上述两种测试方法均无法满足当前大规模、多场景的自动化测试任务执行需求。

发明内容

有鉴于此,本发明的目的在于提供一种任务发布方法及装置、执行方法及装置、系统,以满足当前大规模、多场景的自动化测试任务执行需求。

为实现上述目的,本发明有如下技术方案:

一种任务发布方法,包括:

确定自动化测试任务的优先级、所述自动化测试任务中的案例集合以及所述案例集合的案例类型;

根据所述案例集合确定所述自动化测试任务的环境要素;

将所述自动化测试任务的优先级、所述案例集合的案例类型以及所述自动化测试任务的环境要素发布至任务阵列,以便执行机在空闲时根据所述优先级以及所述案例集合的案例类型领取所述自动化测试任务并在所述自动化测试任务的环境要素下执行所述自动化测试任务。

可选的,所述确定自动化测试任务的优先级包括:

接收自动化测试任务触发请求,所述触发请求包括:人工发起的自动化测试的触发请求、定时任务发起的自动化测试的触发请求以及持续集成流水线发起的自动化测试的触发请求;

根据所述自动化测试任务触发请求,确定所述自动化测试任务的优先级。

可选的,所述定时任务发起的自动化测试的触发请求包括:

根据用户需求设定的自动化测试的触发请求以及案例可用性的自动化测试的触发请求;

则,所述根据所述自动化测试任务触发请求,确定所述自动化测试任务的优先级包括:

所述自动化测试任务触发请求为所述人工发起的自动化测试的触发请求或所述持续集成流水线发起的自动化测试的触发请求时,确定所述自动化测试任务的优先级为最高优先级;

所述自动化测试任务触发请求为所述根据用户需求设定的自动化测试的触发请求时,确定所述自动化测试任务的优先级为中间优先级;

所述自动化测试任务触发请求为所述案例可用性的自动化测试的触发请求时,确定所述自动化测试任务的优先级为最低优先级。

可选的,在所述执行机在空闲时领取所述自动化测试任务后,执行所述自动化测试任务之前,还包括:

检查所述执行机是否有更新版本,若有,则对所述执行机进行版本更新;

在所述执行机执行所述自动化测试任务时实时接收所述执行机的运行状态;

在所述执行机完成所述自动化测试任务后,发出任务完成的通知并保存所述自动化测试任务的执行记录。

一种任务执行方法,包括:

空闲时在任务阵列中根据自动化测试任务的优先级、所述自动化测试任务中的案例集合的案例类型领取自动化测试任务;

在所述自动化测试任务的环境要素下执行所述自动化测试任务;所述环境要素是根据所述案例集合确定的。

可选的,所述空闲时在任务阵列中根据自动化测试任务的优先级、所述自动化测试任务中的案例集合的案例类型领取自动化测试任务包括:

空闲时对所述自动化测试任务进行扫描;

确定处于同一优先级的自动化测试任务的级别,所述级别包括:第一级别,第二级别以及第三级别;所述第一级别为所述执行机已领取但未完成;所述第二级别为未被领取且与所述执行机属性匹配;所述第三级别为未被领取但所述执行机属性更改后可匹配;

根据所述级别领取所述处于同一优先级的自动化测试任务。

可选的,在领取所述自动化测试任务之后,在所述自动化测试任务的环境要素下执行所述自动化测试任务之前,还包括:

监控和更改领取所述自动化测试任务的执行机的环境要素,以与所述自动化测试任务的环境要素匹配。

一种任务发布装置,包括:

第一确定单元,用于确定自动化测试任务的优先级、所述自动化测试任务中的案例集合以及所述案例集合的案例类型;

第二确定单元,用于根据所述案例集合确定所述自动化测试任务的环境要素;

发布单元,用于将所述自动化测试任务的优先级、所述案例集合的案例类型以及所述自动化测试任务的环境要素发布至任务阵列,以便执行机在空闲时根据所述优先级以及所述案例集合的案例类型领取所述自动化测试任务并在所述自动化测试任务的环境要素下执行所述自动化测试任务。

一种任务执行装置,包括:

领取单元,用于空闲时在任务阵列中根据自动化测试任务的优先级、所述自动化测试任务中的案例集合的案例类型领取自动化测试任务;

执行单元,用于在所述自动化测试任务的环境要素下执行所述自动化测试任务;所述环境要素是根据所述案例集合确定的。

一种任务系统,包括上述任务发布装置和上述任务执行装置。

本发明实施例提供的一种任务发布方法,包括:确定自动化测试任务的优先级、自动化测试任务中的案例集合以及案例集合的案例类型;根据案例集合确定自动化测试任务的环境要素;将自动化测试任务的优先级、案例集合的案例类型以及自动化测试任务的环境要素发布至任务阵列,以便执行机在空闲时根据自动化测试任务的优先级和案例类型领取自动化测试任务并在自动化测试任务所需环境要素下执行自动化测试任务。这样,能够根据自动化测试的优先级领取自动化测试任务,并且由于发布至任务阵列中的自动化测试任务包括自动化测试任务的环境要素,从而能够更好的领取匹配的自动化测试任务,满足当前大规模、多场景的自动化测试任务执行需求。而且,将自动化测试任务发布至任务阵列,使得执行机在空闲时根据自身情况领取匹配的自动化测试任务,在发布任务时无需考虑执行机的需求,提高任务发布的效率。

附图说明

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

图1示出了根据本发明实施例一种任务发布方法的流程示意图;

图2示出了根据本发明实施例一种任务执行方法的流程示意图;

图3示出了根据本发明实施例一种任务发布装置的结构示意图;

图4示出了根据本发明实施例一种任务执行装置的结构示意图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其它不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。

正如背景技术的描述,目前进行自动化测试的方法无法满足当前大规模、多场景的自动化测试任务执行需求。

为此,本申请实施例提供一种任务发布方法,包括:确定自动化测试任务的优先级、自动化测试任务中的案例集合以及案例集合的案例类型;根据案例集合确定自动化测试任务的环境要素;将自动化测试任务的优先级、案例集合的案例类型以及自动化测试任务的环境要素发布至任务阵列,以便执行机在空闲时根据自动化测试任务的优先级和案例类型领取自动化测试任务并在自动化测试任务所需环境要素下执行自动化测试任务。这样,能够根据自动化测试的优先级领取自动化测试任务,并且由于发布至任务阵列中的自动化测试任务包括自动化测试任务的环境要素,从而能够更好的领取匹配的自动化测试任务,满足当前大规模、多场景的自动化测试任务执行需求。而且,将自动化测试任务发布至任务阵列,使得执行机在空闲时根据自身情况领取匹配的自动化测试任务,在发布任务时无需考虑执行机的需求,提高任务发布的效率。

为了便于理解本申请的技术方案和技术效果,以下将结合附图对具体的实施例进行详细的说明。

参考图1所示,在步骤S01中,确定自动化测试任务的优先级、所述自动化测试任务中的案例集合以及所述案例集合的案例类型。

确定自动化测试任务的优先级,以便后续先执行优先级较高的自动化测试任务,提高自动化测试任务的执行效率。由于自动化测试任务的紧迫程度不同,因而可以根据自动化测试的紧迫程度确定自动化测试任务的优先级,例如当自动化测试任务的紧迫程度较大时,确定其为优先级较高的任务,当自动化测试任务的紧迫程度较小时,确定其为优先级较低的任务。

本实施例中,确定自动化测试任务的优先级的方法,具体的,可以为,在接收自动化测试任务触发请求之后,根据自动化测试任务的触发请求确定自动化测试任务的优先级。触发请求可以包括:人工发起的自动化测试的触发请求、定时任务发起的自动化测试的触发请求以及持续集成流水线发起的自动化测试的触发请求。定时任务发起的自动化测试的触发请求可以包括:根据用户需求设定的自动化测试的触发请求以及案例可用性的自动化测试的触发请求。当自动化测试任务触发请求为人工发起的自动化测试的触发请求或持续集成流水线发起的自动化测试的触发请求时,确定该自动化测试任务的优先级为最高优先级;当自动化测试任务触发请求为根据用户需求设定的自动化测试的触发请求时,确定自动化测试任务的优先级为中间优先级;当自动化测试任务触发请求为案例可用性的自动化测试的触发请求时,确定自动化测试任务的优先级为最低优先级。例如;优先级从低到高是1级到5级,则触发请求为人工发起自动化测试的触发请求或持续集成流水线发起自动化测试的触发请求时,相应的自动化测试任务的优先级为5级;触发请求为根据用户需求设定的自动化测试的触发请求时,对应的自动化测试任务的优先级为2~4级,根据用户需求的不同可以将自动化测试任务分为不同的优先级;触发请求为自动化测试平台闲时发起的用于验证自动化测试案例可用性时,对应的自动化测试任务的优先级为1级。

每一个自动化测试任务可以包括一个或多个测试案例,将每一个自动化测试任务所需的测试案例组合起来形成案例集合,则每一个自动化测试案例均具有对应的案例集合。每一个自动化测试任务的案例集合可以是预先配置的,也可以是某个系统中的全量案例。触发请求为人工发起自动化测试的触发请求时,对应的自动化测试任务的案例集合可以是由指定的案例组成的,即可以自主选择测试案例组成案例集合。每一个自动化测试的案例集合均有唯一确定的案例类型,通常根据测试方法的不同将案例类型分为接口测试和界面测试。接口测试是组装交易报文、模拟请求方按协议发送。具体的,模拟客户端与服务器之间的通信,向服务器发送交易报文,判断服务器返回报文是否正确,从而分析应用是否存在缺陷的测试方式。界面测试是指模拟用户在客户端的各种点击、输入等操作,通过判断回放时用户界面是否符合预期,从而分析应用是否存在缺陷的测试方式。

在步骤S02中,根据所述案例集合确定所述自动化测试任务的环境要素。

由于案例集合中包括一个或多个案例,每一个案例所需的环境要素可以相同也可以不同,因而当案例集合中包括多个案例时,自动化测试任务可能包括多个环境要素,则执行该自动化测试任务的执行机的环境要素具有与自动化测试任务所需的环境要素对应的环境要素,即执行机包括多个环境要素。

在步骤S03中,将所述自动化测试任务的优先级、所述案例集合的案例类型以及所述自动化测试任务的环境要素发布至任务阵列,以便执行机在空闲时根据所述优先级以及所述案例集合的案例类型领取所述自动化测试任务并在所述自动化测试任务的环境要素下执行所述自动化测试任务。

将自动化测试任务的优先级、自动化测试任务中的案例集合的案例类型以及自动化测试任务的环境要素发布至任务阵列,则从任务阵列中可以获取每一个自动化测试任务的优先级,案例集合的案例类型以及所需的环境要素。因而,执行机在空闲时可以根据自动化测试任务的优先级以及案例集合的案例类型从任务阵列中领取任务,并在领取任务之后,在任务所需的环境要素执行该任务。例如,执行机首先判断任务阵列中优先级在前的自动化测试任务的案例集合的案例类型,当可以执行该案例类型测试时,领取该自动化测试任务,当不可以执行该案例类型测试时,继续判断下一优先级的自动化测试任务的案例集合的案例类型,直至可以执行案例类型测试对应的自动化测试任务。在领取自动化测试任务之后,可以先检查执行机是否有更新版本,若有,则先进行版本更新,版本更新完毕后,执行自动化测试任务,并在执行自动化测试任务的过程中实时接收执行机的运行状态,若执行机出现异常,可以重启执行机,而后继续执行自动化测试任务。当执行机完成自动化测试任务之后,发出任务完成的通知并保存自动化测试任务的执行记录,以便后期核对。在具体的应用中,执行机可以包括Windows执行机和Linux执行机,Windows执行机通常可以用于执行接口测试和界面测试,Linux执行机通常仅可以用于执行接口测试。在执行自动化测试任务的过程中可以实时监控执行机的忙闲情况以及任务阵列中的自动化测试任务的积压情况,当执行机较为忙碌且任务阵列中出现积压的自动化测试任务时,可以扩充执行机的数量,例如自动扩充PaaS上的Linux执行机,或者提示平台运营人员扩充PaaS上的Windows执行机。

以下将以应用服务器和执行机之间的交互进行举例说明,应用服务器向自动化测试任务的优先级、自动化测试任务中的案例集合的案例类型以及自动化测试任务的环境要素发布指任务阵列中,应用服务器不与执行机直接通信,执行机在空闲时从任务阵列中根据优先级、案例类型领取自动化测试任务。这样,应用服务器只需根据不同的自动化测试执行需求,筛选出需要执行的自动化测试任务,获取执行该自动化测试任务的环境要素,向任务阵列发布任务即可,无需关心自动化测试任务具体由哪台执行机执行。而且发布任务时无需关心是否有可用的执行机,是否待执行的自动化测试任务,也无需等待自动化测试任务的执行结果。执行机在空闲时从任务阵列中根据自动化测试任务的优先级以及案例类型领取自动化测试任务。例如,任务阵列中包括五个自动化测试任务,为了便于描述,将五个自动化测试任务记为第一自动化测试任务、第二自动化测试任务、第三自动化测试任务、第四自动化测试任务以及第五自动化测试任务,且第一自动化测试任务为第一优先级,第二自动化测试任务为第二优先级,第三自动化测试任务为第三优先级,第四自动化测试任务为第四优先级,第二自动化测试任务为第五优先级,执行机领取任务时,首先判断第一自动化测试任务中的案例集合的案例类型,当执行机可以执行第一自动化测试任务中的案例集合的案例类型测试时,领取第一自动化测试任务,当执行机无法执行第一自动化测试任务中的案例集合的案例类型测试时,判断第二自动化测试任务中的案例集合的案例类型,根据自动化测试任务的优先级依次判断自动化测试任务中的案例集合的案例类型,直至找到可以执行的自动化测试任务。

以上对本申请实施例提供的一种任务发布方法进行了详细的描述,本申请实施例还提供一种任务执行方法,参考图2所示,包括:

在步骤201中,空闲时在任务阵列中根据自动化测试任务的优先级、所述自动化测试任务中的案例集合的案例类型领取自动化测试任务。

执行机在空闲时可以根据自动化测试任务的优先级以及案例集合的案例类型从任务阵列中领取任务。具体的,执行机首先判断任务阵列中优先级在前的自动化测试任务的案例集合的案例类型,当可以执行该案例类型测试时,领取该自动化测试任务,当不可以执行该案例类型测试时,继续判断下一优先级的自动化测试任务的案例集合的案例类型,直至可以执行案例类型测试对应的自动化测试任务。

本实施例中,首先对自动化测试任务进行扫描,以确保优先级更高的自动化测试任务更早被执行,当多个自动化测试处于同一优先级时,确定处于同一优先级的自动化测试任务的级别,级别包括:第一级别、第二级别以及第三级别,第一级别为本执行机已领取但未完成,以确保上一周期领取任务后异常中止或强制重启后,继续执行该任务;第二级别为未被领取且与执行机属性匹配,具体的是指该自动化测试任务所需的环境要素与当前执行机的环境要素匹配;第三级别为未被领取但执行机属性更该后可匹配,通常自动化测试任务对环境要素的需求被抽象为固定属性和可变属性,固定属性是指执行机的环境要素能够监控但无法修改,例如执行机操作系统及版本,可变属性是指执行机的环境要素能够监控和修改,例如执行机IE浏览器版本。则未被领取但执行机属性更该后可匹配具体是指执行机在领取自动化测试任务之前,根据该自动化测试任务所需的环境要素更改执行机自身的环境要素以满足自动化测试任务所需的环境要素。在具体的应用中,在领取自动化测试任务之后,在自动化测试任务的环境要素下执行自动化测试任务之前,监控和更改领取自动化测试任务的执行机的环境要素,以与所述自动化测试任务的环境要素匹配。例如,执行机包括执行器、执行机管理器以及环境管理器,环境管理器用于监控、新增或修改执行机的环境要素。

在步骤202中,在所述自动化测试任务的环境要素下执行所述自动化测试任务;所述环境要素是根据所述案例集合确定的。

在自动化测试任务所需的环境要素下执行自动化测试任务,由于案例集合中包括一个或多个案例,每一个案例所需的环境要素可以相同也可以不同,因而当案例集合中包括多个案例时,自动化测试任务可能包括多个环境要素,则执行该自动化测试任务的执行机的环境要素具有与自动化测试任务所需的环境要素对应的环境要素,即执行机包括多个环境要素。

以上对本申请实施例提供的一种任务执行方法进行了详细的描述,本申请实施例还提供一种任务发布装置,参考图3所示,包括:

第一确定单元301,用于确定自动化测试任务的优先级、所述自动化测试任务中的案例集合以及所述案例集合的案例类型;

第二确定单元302,用于根据所述案例集合确定所述自动化测试任务的环境要素;

发布单元303,用于将所述自动化测试任务的优先级、所述案例集合的案例类型以及所述自动化测试任务的环境要素发布至任务阵列,以便执行机在空闲时根据所述优先级以及所述案例类型领取所述自动化测试任务并在所述环境要素下执行所述自动化测试任务。

本申请实施例还提供一种任务执行装置,参考图4所示,包括:

领取单元401,用于空闲时在任务阵列中根据自动化测试任务的优先级、所述自动化测试任务中的案例集合的案例类型领取自动化测试任务;

执行单元402,用于在所述自动化测试任务的环境要素下执行所述自动化测试任务;所述环境要素是根据所述案例集合确定的。

本申请实施例还提供一种任务系统,包括:上述任务发布装置和上述任务执行装置。

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

以上所述仅是本发明的优选实施方式,虽然本发明已以较佳实施例披露如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何的简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号