一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种批量任务自动化测试方法及系统与流程

2021-10-29 22:51:00 来源:中国专利 TAG:批量 测试 自动化 方法 系统


1.本技术涉及批量任务测试技术领域,具体涉及一种批量任务自动化测试方法及系统。


背景技术:

2.现阶段的自动化测试主要包括两种方式,一种为面向界面的自动化测试,通过录制操作脚本模拟用户操作,对web页面端,手机页面端,手机客户端做操作录制,按测试案例场景录制不同的操作脚本,由自动化测试平台进行操作的自动化测试。另外一种是面向接口的自动化测试,自动化测试脚本通过http协议调用服务接口,服务接口返回数据验证执行结果,通过对多个接口的串联完成一组功能的测试。按测试案例划分不同的自动化测试脚本,执行测试脚本完成系统的自动化测试。
3.批量任务的程序测试与界面操作的测试和接口调用的测试方式不同,接口和界面都是触发返回时验证结果,一次调用或点击后,判断返回结果。而批量任务的程序需要一批数据执行一段时间后,验证一批数据的执行结果。特别是金融账户类批次任务程序,需要按测试目标要求按周期执行多次批量任务,在上次的执行结果基础上进行下个周期任务执行,每次执行结束后都需要验证本次的执行结果。传统的批量测试均需要每次执行之前,通过数据库脚本做数据准备,恢复数据。跑完批次任务后,通过数据库管理客户端按照业务目标条件查询批次处理结果,并人工检查批次执行结果是否正确。检查完成后,需手动导出备份此次批次数据,再开始执行下一个周期批次任务。


技术实现要素:

4.为了解决上述技术问题,本技术为在金融账户批处理领域在每日的定时执行批量任务程序提供的自动化测试的方法。在有新的批量任务逻辑做更新调整完成后,通过自动化测试程序可验证批量任务的处理结果的正确性,处理时长以及处理效率,并生成批量测试报告。本技术所采用的技术方案如下:一种批量任务自动化测试方法,该方法包括如下步骤:步骤1、根据编排流程,开始执行自动化测试计划,测试管理服务集群变更所述自动化测试计划中所包含测试任务的测试任务状态,并将所述测试任务分批次分配给测试执行节点;步骤2、所述测试执行节点执行测试管理服务集群所分配的当前批次的测试任务,并按编排流程依次执行;步骤3、待完整的执行完当前批次的测试任务的周期后,根据所述自动化测试计划配置执行后续批次的测试任务,每一个测试任务的周期都会单独输出相应的测试报告;步骤4、待完成所述自动化测试计划中全部批次的测试任务之后,将全部测试报告发送至配置目标服务器或邮件地址。
5.进一步的,在步骤2中,所述按编排流程依次执行,具体包括:
如果某一个测试任务的执行过程中发生异常,则终止该异常测试任务的执行;继续按照编排流程依次执行剩余的测试任务,在结果验证节点上,以绿色标识显示验证预期结果为正确的测试任务,以红色标识显示验证预期结果为错误的测试任务。
6.进一步的,在测试任务的执行过程中,通过测试管理服务集群中的管理平台查看测试任务周期的执行结果,监控测试任务周期的执行状态。
7.进一步的,在步骤1之前还包括,批量任务自动化测试的流程编排步骤,具体包括:步骤101:创建并配置自动化测试的批量任务,所述批量任务由多个批次的测试任务组成,创建的多个批次的测试任务将在自动化测试流程画布中配置并使用;步骤102、创建批量任务自动化测试的测试计划,并配置测试计划参数;步骤103、所述测试管理服务集群配置测试计划的自动化测试流程画布,并将自动化测试流程添加至自动化测试流程画布中;步骤104、设置所述自动化测试流程画布的周期。
8.进一步的,在步骤101中,所述测试管理服务集群创建需要执行的测试任务的类型,所述测试任务的类型包括sql脚本、http接口调用任务、jar执行任务以及其他脚本类任务;针对不同的自动化测试场景,在不同的自动化测试流程画布中组合不同批次的测试任务,所述批次的测试任务在不同的所述自动化测试流程画布中复用使用。
9.进一步的,在步骤102中,所述配置测试计划参数包括测试计划名称、执行时间、可供选择的配置以执行所在集群服务。
10.进一步的,在步骤103中,所述自动化测试流程画布中包括多个节点,该节点包括开始节点、结束节点、暂停节点、备份节点、验证节点、参数节点和报告节点;其中,开始节点、结束节点以及暂停节点为流程控制节点,所述自动化测试流程画布中从开始节点进行测试流程配置,到结束节点终止完成测试流程。
11.进一步的,所述自动化测试流程画布中的第一个节点为开始节点,从所述开始节点向后添加任务节点;第二个节点为数据准备节点,用于进行当前批次的测试任务的铺底数据准备;第三个节点为参数节点,用于设置后续其他批次的测试任务执行所使用的参数项;第四个节点之后的若干节点为业务批次节点;所述业务批次节点之后配置验证节点,所述验证节点用于验证业务批次节点的执行结果,如果当前所执行的批次的测试任务需要进行数据备份,则在所述验证节点之后添加备份节点;报告节点,所述报告节点用于输出批次的测试任务的测试报告。
12.进一步的,在步骤104中,根据所执行批次的测试任务的周期为每个节点配置不同的执行参数和验证脚本逻辑,以支持不同周期的验证结果。
13.一种批量任务自动化测试系统,该系统包括存储器和处理器,所述存储器存储一个或多个程序;当所述一个或多个程序被所述处理器执行,使得所述处理器实现上述方法。
14.通过本技术实施例,可以获得如下技术效果:与现有技术相比,本技术为在金融账户批处理领域在每日的定时执行批量任务程序提供的自动化测试的方法。在有新的批量任
务逻辑做更新调整完成后,通过自动化测试程序可验证批量任务的处理结果的正确性,处理时长以及处理效率,并生成批量测试报告。
附图说明
15.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
16.图1为批量任务自动化测试系统的组成结构示意图;图2为批量任务自动化测试方法的流程示意图;图3为批量任务自动化测试的流程编排的示意图。
具体实施方式
17.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本技术保护的范围。
18.在金融领域,每日都需要执行固定的批次的测试任务处理指定的用户的账户信息。批次的测试任务将通过指定的查询条件加载处理需要处理数据,将处理完成的结果更新写回数据库中。
19.图1为批量任务自动化测试系统的组成结构示意图。本自动化测试系统采用微服务架构。包含测试任务执行服务,测试管理服务。其中,测试管理服务对测试任务进行管理,对测试流程进行编排,监控测试任务流程执行,对测试流程中的任务进行调度管理。测试任务执行服务负责执行自动化测试过程中的测试任务,包含数据脚本执行,任务脚本执行,批次的测试任务执行等操作,并监控以及更新测试任务的执行状态。
20.测试管理服务采用主、从结构设计,保证自动化测试管理服务的高可用性,当主服务不可用时,从服务自动升级为主服务接替主服务的自动化测试调度及管理。测试任务执行服务采用集群结构设计,可在不同的测试任务执行服务上并行执行多个自动化测试任务,实现大规模自动化测试任务的并行测试。
21.测试管理端服务包含:测试任务定义及配置,测试流程编排,测试计划设置,测试计划运行及停止操作,测试执行监控,测试执行结果记录以及测试任务调度功能。
22.其中,测试任务按执行方式可分为:数据准备任务,批次jar任务,批次接口任务,脚本任务。数据准备任务配置执行目标数据源,数据库初始化脚本以及数据脚本,用于准备待测试批次的测试任务的铺底数据。批次jar任务是测试阶段执行批次的测试任务以可执行jar文件的方式拉起批次的测试任务执行。批次接口任务为在测试阶段执行批次的测试任务时以httpapi接口的方式拉起任务执行。批次脚本任务为以shell,python,sql等定义的批次的测试任务。
23.测试流程编排为本系统的核心功能,也是本技术的要点。测试流程编排采用可视化流程画布方式对自动化测试任务流程进行编排,通过拖拽的方式实现测试执行流程的编
排。在画布上添加及配置测试任务节点,节点间通过单向箭头线串联,表示任务的执行流程。流程编排画布上包含可配置的节点有:测试任务节点,开始节点,结束节点,暂停节点,备份节点,验证节点,参数节点,报告节点。其中,开始节点,结束节点以及暂停节点为流程控制节点,一个画布中从开始节点进行测试流程配置,到一个结束节点终止完成测试流程。暂停节点为测试执行过程暂停操作,在执行到暂定节点时,测试流将暂停不再后续执行,可手动点击继续执行,主要用于测试任务的暂停调试。
24.一个测试流程将包括至少一个,通常为多个的测试任务节点,测试任务节点可配置需要执行的批次的测试任务,选择的批次的测试任务由任务管理功能定义,可选择配置包括数据准备以及业务批次的测试任务,脚本任务在内的全部批次的测试任务。
25.备份节点可配置需要备份的数据表将数据导出备份或导出到备份表,将执行的批次的测试任务数据进行备份操作。
26.验证节点为批次的测试任务的执行结果的验证,在验证节点中配置验证sql数据脚本,验证批次的测试任务的执行结果。验证节点的验证脚本包含sql执行部分和执行结果断言部分,执行结果断言部分脚本为验证sql验证执行结果的断言校验。
27.参数节点为设置批次的测试任务时的上下文参数,包括执行时参数以及数据库参数。数据库参数将按照节点参数的配置更新目标数据库的参数表数据,执行时参数时在任务流程执行过程中使用的变量参数。
28.报告节点为产生测试流程的结果报告。包含每个任务节点的执行结果,执行记录,执行断言等信息。并可配置输出测试报告的推送的邮箱或webhook接口。实现自动化测试结果的系统关联上报。
29.在测试流程画布的设置上可设置此画布的执行周期,每一个周期为完整的一次测试执行流程,每个周期的执行流程相同。在每个节点中可针对不同执行周期设置不同的执行参数。在验证节点上,可设置不同周期的验证脚本逻辑,以满足各个执行周期的验证结果。
30.测试计划配置需要执行的测试流程画布,配置自动化测试执行周期,执行时间,或手动执行,或通过webhook拉起执行。包含测试计划的创建,修改,执行、暂定、删除等管理操作。
31.管理端的执行记录将保留每次测试计划的执行状态,以及执行画布每个流程节点的执行状态,用于对测试的过程进行管理和监控。
32.测试任务调度管理用于对测试流程画布的执行过程进行跟踪监听,维护执行流程过程中的状态。
33.测试执行服务为测试任务的执行所在服务器,测试执行服务用于拉起测试任务和监控当前在执行的测试任务。测试执行服务同时将更新和维护被拉起执行测试任务的执行状态,与测试调度管理功能一起管理自动化测试流程。测试执行服务与拉起的测试任务进程独立,测试任务不再当前执行服务进程中执行。
34.图2为批量任务自动化测试方法的流程示意图。该自动化测试方法包括如下步骤:步骤1、根据编排流程,开始执行自动化测试计划,测试管理服务集群变更所述自动化测试计划中所包含测试任务的测试任务状态,并将所述测试任务分批次分配给测试执行节点;
步骤2、所述测试执行节点执行测试管理服务集群所分配的当前批次的测试任务,并按编排流程依次执行;在步骤2中,所述按编排流程依次执行,具体包括:如果某一个测试任务的执行过程中发生异常,则终止该异常测试任务的执行;继续按照编排流程依次执行剩余的测试任务,在结果验证节点上,以绿色标识显示验证预期结果为正确的测试任务,以红色标识显示验证预期结果为错误的测试任务;步骤3、待完整的执行完一个测试任务的周期后,根据所述自动化测试计划配置执行后续批次的测试任务,每一个测试任务的周期都会单独输出相应的测试报告;在测试任务的执行过程中,通过测试管理服务集群中的管理平台查看测试任务周期的执行结果,监控测试任务周期的执行状态。
35.步骤4、待完成所述自动化测试计划中全部批次的测试任务之后,将全部测试报告发送至配置目标服务器或邮件地址。
36.图3为批量任务自动化测试的流程编排的示意图。
37.在步骤1之前还包括,批量任务自动化测试的流程编排步骤,具体包括:步骤101:创建并配置自动化测试的批量任务,所述批量任务由多个批次的测试任务组成,创建的多个批次的测试任务将在自动化测试流程画布中配置并使用;在自动化测试流程中,包含数据准备任务、业务批次任务,这两种类型的任务。所述测试管理服务集群在批次任务管理模块中创建需要执行的测试任务的类型,所述测试任务的类型包括sql脚本、http接口调用任务、jar执行任务以及其他脚本类任务;针对不同的自动化测试场景,在不同的自动化测试流程画布中组合不同的批次的测试任务,所述批次的测试任务在不同的所述自动化测试流程画布中复用使用;步骤102、创建批量任务自动化测试的测试计划,并配置测试计划参数;其中,所述配置测试计划参数包括测试计划名称、执行时间、供选择的配置执行所在集群服务;在上述测试计划创建完成以后,配置该测试计划的自动化测试流程画布。
38.步骤103、所述测试管理服务集群配置测试计划的自动化测试流程画布,并将自动化测试流程添加至自动化测试流程画布中;所述自动化测试流程画布中包括多个节点;其中,第一个节点为开始节点,从所述开始节点向后添加任务节点;第二个节点为数据准备节点,用于进行当前批次的测试任务的铺底数据准备;第三个节点为参数节点,用于设置后续其他批次的测试任务执行所使用的参数项;第四个节点之后的若干节点为业务批次节点;配置实际的业务批次执行流程,由于实际业务批次的测试任务会有一定的先后关系,因此,测试流程的编排顺序也是业务批次任务的执行处理顺序。
39.所述业务批次节点之后配置验证节点,所述验证节点用于验证业务批次节点的执行结果,如果当前所执行的批次的测试任务需要进行数据备份,则在所述验证节点之后添加备份节点;
最后配置报告节点,所述报告节点用于输出批次的测试任务的测试报告。
40.步骤104、设置所述自动化测试流程画布的周期,该步骤具体包括:根据所执行批次的测试任务的周期为每个节点配置不同的执行参数和验证脚本逻辑,以支持不同周期的验证结果。
41.在一些实施例中,计算机程序的部分或者全部可以经由rom而被载入和/或安装到设备上。当计算机程序加载并被执行时,可以执行上文描述的方法的一个或多个步骤。
42.本技术中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)等等。
43.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
44.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd

rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
45.此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
46.尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜