CN110232014A - 业务流程自动化测试方法、装置、控制器及介质 - Google Patents
业务流程自动化测试方法、装置、控制器及介质 Download PDFInfo
- Publication number
- CN110232014A CN110232014A CN201910138979.1A CN201910138979A CN110232014A CN 110232014 A CN110232014 A CN 110232014A CN 201910138979 A CN201910138979 A CN 201910138979A CN 110232014 A CN110232014 A CN 110232014A
- Authority
- CN
- China
- Prior art keywords
- description components
- component
- instruction
- syntax tree
- test
- 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 158
- 238000000034 method Methods 0.000 claims abstract description 50
- 230000008569 process Effects 0.000 claims abstract description 30
- 238000012800 visualization Methods 0.000 claims description 22
- 238000000605 extraction Methods 0.000 claims description 12
- 230000002688 persistence Effects 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 2
- 238000004590 computer program Methods 0.000 claims description 2
- 235000013399 edible fruits Nutrition 0.000 claims 1
- 230000008859 change Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000004801 process automation Methods 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
-
- 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
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
本发明涉及一种业务流程自动化测试方法、装置、控制器及介质,所述方法包括获取业务流程自动化测试指令;根据所述自动化测试指令获取对应的预设组件并进行逻辑组装,所述预设组件由若干个操作所组成的操作集封装而成;基于所述逻辑组装的预设组件生成语法树;获取执行指令,根据所述执行指令对所述语法树进行解释执行,得到测试结果。本发明能够快速实现复杂业务流程的自动化测试,测试过程简单高效,成本低,且创建的测试流程可以被重复使用,具有通用性和复用性。
Description
技术领域
本发明涉及测试技术领域,尤其涉及一种业务流程自动化测试方法、装置、控制器及介质。
背景技术
随着微服务架构的推广,针对接口的自动化测试方法被广泛使用。然而当前针对接口的自动化测试方法主要面向单一接口,对于具体的业务流程则需要人工编写复杂的代码。大多业务流程涉及较多接口,在进行自动化测试时,需要利用循环、判断、顺序等语句将单个接口的测试代码模块进行组装。整个业务流程测试过程对测试人员的编程能力有较高要求,且工作量巨大,此外,针对单个业务流程编写出的代码不具备通用性,复用性差。由此可知,现有的面向业务流程的自动化测试方法的实施,需严重依赖自动化测试工程师,并且开展过程耗费大量人力和时间,成本高、通用性和复用性差。
发明内容
本发明目的在于,提供一种业务流程自动化测试方法、装置、控制器及介质,能够快速实现复杂业务流程的自动化测试,测试过程简单高效,成本低,且创建的测试流程可以被重复使用,具有通用性和复用性。
为了解决上述技术问题,根据本发明第一实施例,提供了一种业务流程自动化测试方法,包括:
获取业务流程自动化测试指令;
根据所述自动化测试指令获取对应的预设组件并进行逻辑组装,所述预设组件由若干个操作所组成的操作集封装而成;
基于所述逻辑组装的预设组件生成语法树;
获取执行指令,根据所述执行指令对所述语法树进行解释执行,得到测试结果。
进一步的,获取业务流程自动化测试指令之前,所述方法还包括:
构建所述预设组件,所述预设组件能够显示在可视化界面上,其中,所述预设组件包括逻辑组件、测试用例组件和流程组件,
所述逻辑组件用于定义逻辑关系,所述逻辑关系包括循环、条件和顺序;
所述测试用例组件用于定义测试用例数据,所述用例数据包括应用程序接口的请求头、请求体、请求地址、断言和响应内容提取操作;
所述流程组件用于定义业务流程,由多个逻辑组件和测试用例组件组装而成。
进一步的,所述根据所述自动化测试指令获取对应的预设组件并进行逻辑组装,包括:
根据所述自动化测试指令获取对应的逻辑组件、测试用例组件和流程组件;
根据所述业务流程的逻辑关系获取点击指令或拖拽指令,将所获取的逻辑组件、测试用例组件和流程组件进行逻辑组装。
进一步的,所述基于所述逻辑组装的组件生成语法树之后,还包括:
将所述语法树映射为对应的数据结构,并将所述语法树和对应的数据结构持久化到数据库中,并为该语法树分配唯一的标识。
进一步的,根据所述执行指令对所述语法树进行解释执行,包括:
根据所述执行指令获取所述语法树中的预设组件;
根据所述预设组件的类别信息和入参信息对所述预设组件进行解码,获取当前预设组件的操作集;
执行所述操作集中的每一操作,并将执行日志和结果持久化至数据库中;
解释执行完当前预设组件后,按照逻辑顺序继续解释执行下一预设组件,直至该语法树对应的所有预设组件解释执行完成。
进一步的,在对所述语法树进行解释执行过程中,生成执行状态和测试结果;
获取执行状态显示指令,将所述执行状态可视化显示在界面上;
获取测试结果显示指令,将所述测试结果可视化显示在界面上,
其中,所述执行状态包括当前执行的预设组件名称、该预设组件执行已经花费的时间、当前执行是否遇到异常;
所述测试结果包括每一个预设组件执行开始时间、结束时间、花费的总时间,逻辑组件辑判断的表达式及逻辑判断的结果,测试用例组件执行时应用程序接口的实际请求头、请求体、请求地址、应用程序接口请求后响应的结果信息、根据断言内容标识该应用程序接口结果是否正确,提取的参数及该参数的值。
根据本发明第二实施例,提供了一种业务流程自动化测试装置,包括:
测试指令获取模块,配置为获取业务流程自动化测试指令;
预设组件组装模块,配置为根据所述自动化测试指令获取对应的预设组件并进行逻辑组装,所述预设组件由若干个操作所组成的操作集封装而成;
语法树生成模块,配置为基于所述逻辑组装的预设组件生成语法树;
语法树执行模块,配置为获取执行指令,根据所述执行指令对所述语法树进行解释执行,得到测试结果。
进一步的,所述装置还包括组件构建模块,配置为构建所述预设组件,所述预设组件能够显示在可视化界面上;
其中,所述预设组件包括逻辑组件、测试用例组件和流程组件,
所述逻辑组件用于定义逻辑关系,所述逻辑关系包括循环、条件和顺序;
所述测试用例组件用于定义测试用例数据,所述用例数据包括应用程序接口的请求头、请求体、请求地址、断言和响应内容提取操作;
所述流程组件用于定义业务流程,由多个逻辑组件和测试用例组件组装而成。
进一步的,所述预设组件组装模块包括:
第一获取单元,配置为根据所述自动化测试指令获取对应的逻辑组件、测试用例组件和流程组件;
组件组装单元,配置为根据所述业务流程的逻辑关系获取点击指令或拖拽指令,将所获取的逻辑组件、测试用例组件和流程组件进行逻辑组装。
进一步的,所述装置还包括存储模块,配置为在基于所述逻辑组装的组件生成语法树之后,将所述语法树映射为对应的数据结构,并将所述语法树和对应的数据结构持久化到数据库中,并为该语法树分配唯一的标识。
进一步的,所述语法树执行模块包括:
第二获取单元,配置为根据所述执行指令获取所述语法树中的预设组件;
解码单元,配置为根据所述预设组件的类别信息和入参信息对所述预设组件进行解码,获取当前预设组件的操作集;
执行单元,配置为执行所述操作集中的每一操作,并将执行日志和结果持久化至数据库中;
所述语法树执行模块解释执行完当前预设组件后,按照逻辑顺序继续解释执行下一预设组件,直至该语法树对应的所有预设组件解释执行完成。
进一步的,所述语法树执行模块还包括:
过程记录单元,配置为在对所述语法树进行解释执行过程中,生成执行状态和测试结果;
第一显示单元,配置为获取执行状态显示指令,将所述执行状态可视化显示在界面上;
第二显示单元,配置为获取测试结果显示指令,将所述测试结果可视化显示在界面上,
其中,所述执行状态包括当前执行的预设组件名称、该预设组件执行已经花费的时间、当前执行是否遇到异常;
所述测试结果包括每一个预设组件执行开始时间、结束时间、花费的总时间,逻辑组件辑判断的表达式及逻辑判断的结果,测试用例组件执行时应用程序接口的实际请求头、请求体、请求地址、应用程序接口请求后响应的结果信息、根据断言内容标识该应用程序接口结果是否正确,提取的参数及该参数的值。
根据本发明又一方面,提供一种控制器,其包括存储器与处理器,所述存储器存储有计算机程序,所述程序在被所述处理器执行时能够实现所述方法的步骤。
根据本发明又一方面,提供一种计算机可读存储介质,用于存储计算机指令,所述指令在由一计算机或处理器执行时实现所述方法的步骤。
本发明与现有技术相比具有明显的优点和有益效果。借由上述技术方案,本发明一种业务流程自动化测试方法、装置、控制器及介质可达到相当的技术进步性及实用性,并具有产业上的广泛利用价值,其至少具有下列优点:
本发明通过构建预设组件,并根据业务流程简单操作对应的预设组件形成语法树,执行语法树即可获得测试结果,本发明能够快速实现复杂业务流程的自动化测试,测试过程简单高效,对测试人员编程能力要求低,成本低,且创建的测试流程可以被重复使用,具有通用性和复用性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
图1为本发明一实施例提供业务流程自动化测试方法示意图;
图2为本发明一实施例提供的业务流程自动化测试装置示意图。
【符号说明】
1:测试指令获取模块 2:预设组件组装模块
3:语法树生成模块 4:语法树执行模块
具体实施方式
为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种业务流程自动化测试方法、装置、控制器及介质的具体实施方式及其功效,详细说明如后。
本发明实施例提供了一种业务流程自动化测试方法,如图1所示。包括以下步骤:
步骤S1、获取业务流程自动化测试指令;
步骤S2、根据所述自动化测试指令获取对应的预设组件并进行逻辑组装,所述预设组件由若干个操作所组成的操作集封装而成,包括单个接口的请求、条件分支处理、循环执行等操作,预设组件具有默认前后顺序属性,后续处理过程中前置位组件先被处理。
需要说明的是,逻辑组装是指根据业务流程接口的逻辑调用顺序,组装对应的组件,还原整个业务流程接口的逻辑调用顺序的过程。
所述步骤S1之前,所述方法还包括步骤S0、构建所述预设组件,所述预设组件能够显示在可视化界面上,用户可直接通过可视化界面拖拽、点击等操作,完成多个预设组件的逻辑组装。
其中,所述预设组件包括逻辑组件、测试用例组件和流程组件:
所述逻辑组件用于定义逻辑关系,可间接反映脚本的语法关系。所述逻辑关系包括循环、条件和顺序,逻辑组件主要包括IF、WHILE等控制流程的组件。使用IF语句,可以让流程拥有不同的分支,从而可以实现一些复杂的业务流程,例如:下单成功后执行付款操作,如果下单失败,执行取消订单操作等。
所述测试用例组件用于定义测试用例数据,所述用例数据包括应用程序接口(API:Application Program Interface)相关信息,如API的请求头、请求体、请求地址、断言和响应内容提取操作等,测试用例组件可以实现高度复用。
所述流程组件用于定义业务流程,由多个逻辑组件和测试用例组件组装而成的具有业务意义的组件集合。例如,每一个业务流程都有登录这个操作,那就可以抽象出一个拥有登录业务意义的流程组件,这个登录的流程组件包含了完整的登录操作,只需要引用这个登录流程组件就可以完成登录操作,也是个高度复用的组件,便于维护和共享使用。
作为一种示例,所述步骤S2包括:
步骤S21、根据所述自动化测试指令获取对应的逻辑组件、测试用例组件和流程组件;
步骤S22、根据所述业务流程的逻辑关系获取点击指令或拖拽指令,将所获取的逻辑组件、测试用例组件和流程组件进行逻辑组装。
步骤S3、基于所述逻辑组装的预设组件生成语法树;
预设组件是构建语法树的基础,只需要操作这一个个可视化的组件进行逻辑组装,即可自动生成执行引擎能识别的语法树。
所述步骤S3之后,所述方法还包括步骤S30:
将所述语法树映射为对应的数据结构,并将所述语法树和对应的数据结构持久化到数据库中,并为该语法树分配唯一的标识,作为示例,可通过JavaScript将可视化的语法树映射为对应的数据结构,在存储语法树的同时,也可将相关信息也持久化至数据库中,所述相关信息包括用户定义的语法树的名称、为语法树中相关组件提供的数据:例如请求需要的一些常量数据、语法树执行的测试环境配置信息、数据驱动相关配置信息、语法树执行结果发送给哪些邮箱等信息。
步骤S4、获取执行指令,根据所述执行指令对所述语法树进行解释执行,得到测试结果。
获取所述执行命令后,搜索引擎根据所述执行命令以及语法树对应的标识信息获取需要执行的语法树,通过对语法树解析,生成可执行的自动化测试脚本并执行。执行结果以结果树形式存储,并显示在可视化界面上。语法树是一个树状数据结构,将当前界面的各个预设组件进行存储,结果树亦是一个树状数据结构,将预设组件的执行结果进行存储。
步骤S4中,根据所述执行指令对所述语法树进行解释执行,包括:
步骤S41、根据所述执行指令获取所述语法树中的预设组件;
步骤S42、根据所述预设组件的类别信息和入参信息对所述预设组件进行解码,获取当前预设组件的操作集;
步骤S43、执行所述操作集中的每一操作,并将执行日志和结果持久化至数据库中;
解释执行完当前预设组件后,按照逻辑顺序继续解释执行下一预设组件,直至该语法树对应的所有预设组件解释执行完成。
所述方法还包括,步骤S401、在对所述语法树进行解释执行过程中,生成执行状态和测试结果;
S402、获取执行状态显示指令,将所述执行状态可视化显示在界面上;
S403、获取测试结果显示指令,将所述测试结果可视化显示在界面上,
其中,所述执行状态包括当前执行的预设组件名称、该预设组件执行已经花费的时间、当前执行是否遇到异常。所述测试结果包括每一个预设组件执行开始时间、结束时间、花费的总时间,逻辑组件辑判断的表达式及逻辑判断的结果,测试用例组件执行时应用程序接口的实际请求头、请求体、请求地址、应用程序接口请求后响应的结果信息、根据断言内容标识该应用程序接口结果是否正确,提取的参数及该参数的值。
以下以一具体示例对本发明实施例所述方法进行详细说明:
以电商平台下单支付业务流程自动化测试为例,假设流程组件中已存在登录流程组件、下单流程组件、支付流程组件、仓储服务流程组件和取消订单测试用例组件。具体流程如下:
步骤S101、获取登录流程组件、下单流程组件和支付流程组件,并按登录-下单-支付的逻辑顺序组装上述三个流程组件。
步骤S102、在支付流程组件后面新增一个IF逻辑组件,IF逻辑组件后添加仓储服务流程组件和取消订单测试用例组件,当支付成功执行仓储服务流程组件(登录-下单-支付-仓储),而失败则执行取消订单测试用例组件即可(登录-下单-支付-退单)。
步骤S103、基于上述预设组件的逻辑组装,生成语法树,获取保存指令,服务(Service)会将语法树持久化到数据库,并分配一个唯一标识。
步骤S104、获取执行指令,该指令中包含此语法树的唯一标识,Service根据执行指令调度执行引擎(Engine)去执行,可以在界面上实时显示当前执行的情况是执行到那个流程,是走了仓储流程还退单流程等信息,如果执行出错,也能显示具体出错的原因。
本发明实施例还提供了一种业务流程自动化测试装置,如图2所示,包括测试指令获取模块1、预设组件组装模块2、语法树生成模块3和语法树执行模块4,其中,测试指令获取模块1配置为获取业务流程自动化测试指令;预设组件组装模块2配置为根据所述自动化测试指令获取对应的预设组件并进行逻辑组装,所述预设组件由若干个操作所组成的操作集封装而成,包括单个接口的请求、条件分支处理、循环执行等操作,预设组件具有默认前后顺序属性,后续处理过程中前置位组件先被处理。语法树生成模块3配置为基于所述逻辑组装的预设组件生成语法树;语法树执行模块4配置为获取执行指令,根据所述执行指令对所述语法树进行解释执行,得到测试结果。
所述装置还包括组件构建模块,配置为构建所述预设组件,所述预设组件能够显示在可视化界面上,用户可直接通过可视化界面拖拽、点击等操作,完成多个预设组件的逻辑组装。其中,所述预设组件包括逻辑组件、测试用例组件和流程组件,所述逻辑组件用于定义逻辑关系,可间接反映脚本的语法关系。所述逻辑关系包括循环、条件和顺序,逻辑组件主要包括IF、WHILE等控制流程的组件。使用IF语句,可以让流程拥有不同的分支,从而可以实现一些复杂的业务流程,例如:下单成功后执行付款操作,如果下单失败,执行取消订单操作等。所述测试用例组件用于定义测试用例数据,所述用例数据包括应用程序接口(API:Application ProgramInterface)相关信息,如API的请求头、请求体、请求地址、断言和响应内容提取操作等,测试用例组件可以实现高度复用。所述流程组件用于定义业务流程,由多个逻辑组件和测试用例组件组装而成的具有也业务意义的组件集合。例如,每一个业务流程都有登录这个操作,那就可以抽象出一个拥有登录业务意义的流程组件,这个登录的流程组件包含了完整的登录操作,只需要引用这个登录流程组件就可以完成登录操作,也是个高度复用的组件,便于维护和共享使用。预设组件是构建语法树的基础,只需要操作这一个个可视化的组件进行逻辑组装,即可自动生成执行引擎能识别的语法树。
作为一种示例,所述预设组件组装模块2包括第一获取单元和组件组装单元,其中,第一获取单元配置为根据所述自动化测试指令获取对应的逻辑组件、测试用例组件和流程组件;组件组装单元配置为根据所述业务流程的逻辑关系获取点击指令或拖拽指令,将所获取的逻辑组件、测试用例组件和流程组件进行逻辑组装。
所述装置还包括存储模块,配置为在基于所述逻辑组装的组件生成语法树之后,将所述语法树映射为对应的数据结构,并将所述语法树和对应的数据结构持久化到数据库中,并为该语法树分配唯一的标识,作为示例,可通过JavaScript将可视化的语法树映射为对应的数据结构,在存储语法树的同时,也可将相关信息也持久化至数据库中,所述相关信息包括用户定义的语法树的名称、为语法树中相关组件提供的数据:例如请求需要的一些常量数据、语法树执行的测试环境配置信息、数据驱动相关配置信息、语法树执行结果发送给哪些邮箱等信息。
语法树执行模块4获取所述执行命令后,搜索引擎根据所述执行命令以及语法树对应的标识信息获取需要执行的语法树,通过对语法树解析,生成可执行的自动化测试脚本并执行。执行结果以结果树形式存储,并显示在可视化界面上。语法树是一个树状数据结构,将当前界面的各个预设组件进行存储,结果树亦是一个树状数据结构,将预设组件的执行结果进行存储。
作为一种示例,所述语法树执行模块4包括第二获取单元、解码单元和执行单元,其中,第二获取单元配置为根据所述执行指令获取所述语法树中的预设组件;解码单元配置为根据所述预设组件的类别信息和入参信息对所述预设组件进行解码,获取当前预设组件的操作集;执行单元配置为执行所述操作集中的每一操作,并将执行日志和结果持久化至数据库中。所述语法树执行模块4解释执行完当前预设组件后,按照逻辑顺序继续解释执行下一预设组件,直至该语法树对应的所有预设组件解释执行完成。
所述语法树执行模块4还包括过程记录单元、第一显示单元和第二显示单元,其中,过程记录单元配置为在对所述语法树进行解释执行过程中,生成执行状态和测试结果;第一显示单元配置为获取执行状态显示指令,将所述执行状态可视化显示在界面上;第二显示单元配置为获取测试结果显示指令,将所述测试结果可视化显示在界面上,其中,所述执行状态包括当前执行的预设组件名称、该预设组件执行已经花费的时间、当前执行是否遇到异常;所述测试结果包括每一个预设组件执行开始时间、结束时间、花费的总时间,逻辑组件辑判断的表达式及逻辑判断的结果,测试用例组件执行时应用程序接口的实际请求头、请求体、请求地址、应用程序接口请求后响应的结果信息、根据断言内容标识该应用程序接口结果是否正确,提取的参数及该参数的值。
本发明实施例还提供一种控制器,其包括存储器与处理器,所述存储器存储有计算机程序,所述程序在被所述处理器执行时能够实现所述业务流程自动化测试方法的步骤。
本发明实施例还提供一种计算机可读存储介质,用于存储计算机指令,所述指令在由一计算机或处理器执行时实现所述业务流程自动化测试方法的步骤。
本发明实施例通过构建预设组件,并根据业务流程简单操作对应的预设组件形成语法树,执行语法树即可获得测试结果,本发明实施例能够快速实现复杂业务流程的自动化测试,测试过程简单高效,对测试人员编程能力要求低,成本低,且创建的测试流程可以被重复使用,具有通用性和复用性。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (14)
1.一种业务流程自动化测试方法,其特征在于,包括:
获取业务流程自动化测试指令;
根据所述自动化测试指令获取对应的预设组件并进行逻辑组装,所述预设组件由若干个操作所组成的操作集封装而成;
基于所述逻辑组装的预设组件生成语法树;
获取执行指令,根据所述执行指令对所述语法树进行解释执行,得到测试结果。
2.根据权利要求1所述的业务流程自动化测试方法,其特征在于,
获取业务流程自动化测试指令之前,所述方法还包括:
构建所述预设组件,所述预设组件能够显示在可视化界面上,其中,所述预设组件包括逻辑组件、测试用例组件和流程组件,
所述逻辑组件用于定义逻辑关系,所述逻辑关系包括循环、条件和顺序;
所述测试用例组件用于定义测试用例数据,所述用例数据包括应用程序接口的请求头、请求体、请求地址、断言和响应内容提取操作;
所述流程组件用于定义业务流程,由多个逻辑组件和测试用例组件组装而成。
3.根据权利要求2所述的业务流程自动化测试方法,其特征在于,
所述根据所述自动化测试指令获取对应的预设组件并进行逻辑组装,包括:
根据所述自动化测试指令获取对应的逻辑组件、测试用例组件和流程组件;
根据所述业务流程的逻辑关系获取点击指令或拖拽指令,将所获取的逻辑组件、测试用例组件和流程组件进行逻辑组装。
4.根据权利要求1或2所述的业务流程自动化测试方法,其特征在于,
所述基于所述逻辑组装的组件生成语法树之后,还包括:
将所述语法树映射为对应的数据结构,并将所述语法树和对应的数据结构持久化到数据库中,并为该语法树分配唯一的标识。
5.根据权利要求1或2所述的业务流程自动化测试方法,其特征在于,
根据所述执行指令对所述语法树进行解释执行,包括:
根据所述执行指令获取所述语法树中的预设组件;
根据所述预设组件的类别信息和入参信息对所述预设组件进行解码,获取当前预设组件的操作集;
执行所述操作集中的每一操作,并将执行日志和结果持久化至数据库中;
解释执行完当前预设组件后,按照逻辑顺序继续解释执行下一预设组件,直至该语法树对应的所有预设组件解释执行完成。
6.根据权利要求5所述的业务流程自动化测试方法,其特征在于,
在对所述语法树进行解释执行过程中,生成执行状态和测试结果;
获取执行状态显示指令,将所述执行状态可视化显示在界面上;
获取测试结果显示指令,将所述测试结果可视化显示在界面上,
其中,所述执行状态包括当前执行的预设组件名称、该预设组件执行已经花费的时间、当前执行是否遇到异常;
所述测试结果包括每一个预设组件执行开始时间、结束时间、花费的总时间,逻辑组件辑判断的表达式及逻辑判断的结果,测试用例组件执行时应用程序接口的实际请求头、请求体、请求地址、应用程序接口请求后响应的结果信息、根据断言内容标识该应用程序接口结果是否正确,提取的参数及该参数的值。
7.一种业务流程自动化测试装置,其特征在于,包括:
测试指令获取模块,配置为获取业务流程自动化测试指令;
预设组件组装模块,配置为根据所述自动化测试指令获取对应的预设组件并进行逻辑组装,所述预设组件由若干个操作所组成的操作集封装而成;
语法树生成模块,配置为基于所述逻辑组装的预设组件生成语法树;
语法树执行模块,配置为获取执行指令,根据所述执行指令对所述语法树进行解释执行,得到测试结果。
8.根据权利要求7所述的业务流程自动化测试装置,其特征在于,
所述装置还包括组件构建模块,配置为构建所述预设组件,所述预设组件能够显示在可视化界面上;
其中,所述预设组件包括逻辑组件、测试用例组件和流程组件,
所述逻辑组件用于定义逻辑关系,所述逻辑关系包括循环、条件和顺序;
所述测试用例组件用于定义测试用例数据,所述用例数据包括应用程序接口的请求头、请求体、请求地址、断言和响应内容提取操作;
所述流程组件用于定义业务流程,由多个逻辑组件和测试用例组件组装而成。
9.根据权利要求8所述的业务流程自动化测试装置,其特征在于,
所述预设组件组装模块包括:
第一获取单元,配置为根据所述自动化测试指令获取对应的逻辑组件、测试用例组件和流程组件;
组件组装单元,配置为根据所述业务流程的逻辑关系获取点击指令或拖拽指令,将所获取的逻辑组件、测试用例组件和流程组件进行逻辑组装。
10.根据权利要求7或8所述的业务流程自动化测试装置,其特征在于,
所述装置还包括存储模块,配置为在基于所述逻辑组装的组件生成语法树之后,将所述语法树映射为对应的数据结构,并将所述语法树和对应的数据结构持久化到数据库中,并为该语法树分配唯一的标识。
11.根据权利要求7或8所述的业务流程自动化测试装置,其特征在于,所述语法树执行模块包括:
第二获取单元,配置为根据所述执行指令获取所述语法树中的预设组件;
解码单元,配置为根据所述预设组件的类别信息和入参信息对所述预设组件进行解码,获取当前预设组件的操作集;
执行单元,配置为执行所述操作集中的每一操作,并将执行日志和结果持久化至数据库中;
所述语法树执行模块解释执行完当前预设组件后,按照逻辑顺序继续解释执行下一预设组件,直至该语法树对应的所有预设组件解释执行完成。
12.根据权利要求11所述的业务流程自动化测试装置,其特征在于,所述语法树执行模块还包括:
过程记录单元,配置为在对所述语法树进行解释执行过程中,生成执行状态和测试结果;
第一显示单元,配置为获取执行状态显示指令,将所述执行状态可视化显示在界面上;
第二显示单元,配置为获取测试结果显示指令,将所述测试结果可视化显示在界面上,
其中,所述执行状态包括当前执行的预设组件名称、该预设组件执行已经花费的时间、当前执行是否遇到异常;
所述测试结果包括每一个预设组件执行开始时间、结束时间、花费的总时间,逻辑组件辑判断的表达式及逻辑判断的结果,测试用例组件执行时应用程序接口的实际请求头、请求体、请求地址、应用程序接口请求后响应的结果信息、根据断言内容标识该应用程序接口结果是否正确,提取的参数及该参数的值。
13.一种控制器,其包括存储器与处理器,其特征在于,所述存储器存储有计算机程序,所述程序在被所述处理器执行时能够实现权利要求1至6中任意一项权利要求所述的方法的步骤。
14.一种计算机可读存储介质,用于存储计算机指令,其特征在于,所述指令在由一计算机或处理器执行时实现如权利要求1至6中任意一项权利要求所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910138979.1A CN110232014A (zh) | 2019-02-25 | 2019-02-25 | 业务流程自动化测试方法、装置、控制器及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910138979.1A CN110232014A (zh) | 2019-02-25 | 2019-02-25 | 业务流程自动化测试方法、装置、控制器及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110232014A true CN110232014A (zh) | 2019-09-13 |
Family
ID=67860409
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910138979.1A Pending CN110232014A (zh) | 2019-02-25 | 2019-02-25 | 业务流程自动化测试方法、装置、控制器及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110232014A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111083013A (zh) * | 2019-12-18 | 2020-04-28 | 北京嘀嘀无限科技发展有限公司 | 基于流量回放的测试方法、装置、电子设备及存储介质 |
CN111581076A (zh) * | 2020-03-30 | 2020-08-25 | 平安科技(深圳)有限公司 | 系统代码的测试方法、装置、计算机设备和存储介质 |
CN111737073A (zh) * | 2020-08-26 | 2020-10-02 | 鹏城实验室 | 自动化测试方法、装置、设备及介质 |
CN111897725A (zh) * | 2020-07-23 | 2020-11-06 | 厦门航空有限公司 | 中台服务自动化测试方法、介质、设备及系统 |
CN112527666A (zh) * | 2020-12-18 | 2021-03-19 | 平安银行股份有限公司 | 业务流程自动化测试方法、装置及计算机设备 |
CN112612713A (zh) * | 2020-12-30 | 2021-04-06 | 语联网(武汉)信息技术有限公司 | dubbo服务测试方法、系统、电子设备及存储介质 |
CN113051172A (zh) * | 2021-04-09 | 2021-06-29 | 广州虎牙科技有限公司 | 测试脚本的执行方法、装置、计算机设备和存储介质 |
CN113378532A (zh) * | 2021-06-04 | 2021-09-10 | 远光软件股份有限公司 | 一种表格文件的处理方法及其处理装置和存储介质 |
CN115248585A (zh) * | 2022-09-20 | 2022-10-28 | 平安银行股份有限公司 | 基于控制器引擎的自动化测试执行方法、控制器及系统 |
CN116166567A (zh) * | 2023-04-23 | 2023-05-26 | 成都华兴汇明科技有限公司 | 一种基于图形编程的测试用例生成方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130346948A1 (en) * | 2011-03-08 | 2013-12-26 | Yan Zhang | Creating a test case |
CN107506303A (zh) * | 2017-08-24 | 2017-12-22 | 航天中认软件测评科技(北京)有限责任公司 | 用于自动化测试的方法、装置及系统 |
CN107908542A (zh) * | 2017-07-26 | 2018-04-13 | 平安壹钱包电子商务有限公司 | 测试用例创建方法、装置、计算机设备及存储介质 |
CN107992427A (zh) * | 2017-12-26 | 2018-05-04 | 顺丰科技有限公司 | 创建业务测试场景的方法、装置、设备及其存储介质 |
CN108268348A (zh) * | 2017-12-08 | 2018-07-10 | 广州视源电子科技股份有限公司 | 接口测试方法、装置、移动终端及存储介质 |
CN108345532A (zh) * | 2017-01-23 | 2018-07-31 | 中国移动通信集团浙江有限公司 | 一种自动化测试用例生成方法和装置 |
CN108459957A (zh) * | 2017-11-29 | 2018-08-28 | 平安科技(深圳)有限公司 | 基金系统测试用例的测试方法、装置、设备及存储介质 |
-
2019
- 2019-02-25 CN CN201910138979.1A patent/CN110232014A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130346948A1 (en) * | 2011-03-08 | 2013-12-26 | Yan Zhang | Creating a test case |
CN108345532A (zh) * | 2017-01-23 | 2018-07-31 | 中国移动通信集团浙江有限公司 | 一种自动化测试用例生成方法和装置 |
CN107908542A (zh) * | 2017-07-26 | 2018-04-13 | 平安壹钱包电子商务有限公司 | 测试用例创建方法、装置、计算机设备及存储介质 |
CN107506303A (zh) * | 2017-08-24 | 2017-12-22 | 航天中认软件测评科技(北京)有限责任公司 | 用于自动化测试的方法、装置及系统 |
CN108459957A (zh) * | 2017-11-29 | 2018-08-28 | 平安科技(深圳)有限公司 | 基金系统测试用例的测试方法、装置、设备及存储介质 |
CN108268348A (zh) * | 2017-12-08 | 2018-07-10 | 广州视源电子科技股份有限公司 | 接口测试方法、装置、移动终端及存储介质 |
CN107992427A (zh) * | 2017-12-26 | 2018-05-04 | 顺丰科技有限公司 | 创建业务测试场景的方法、装置、设备及其存储介质 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111083013A (zh) * | 2019-12-18 | 2020-04-28 | 北京嘀嘀无限科技发展有限公司 | 基于流量回放的测试方法、装置、电子设备及存储介质 |
CN111581076A (zh) * | 2020-03-30 | 2020-08-25 | 平安科技(深圳)有限公司 | 系统代码的测试方法、装置、计算机设备和存储介质 |
CN111897725B (zh) * | 2020-07-23 | 2022-09-02 | 厦门航空有限公司 | 中台服务自动化测试方法、介质、设备及系统 |
CN111897725A (zh) * | 2020-07-23 | 2020-11-06 | 厦门航空有限公司 | 中台服务自动化测试方法、介质、设备及系统 |
CN111737073B (zh) * | 2020-08-26 | 2020-12-04 | 鹏城实验室 | 自动化测试方法、装置、设备及介质 |
CN111737073A (zh) * | 2020-08-26 | 2020-10-02 | 鹏城实验室 | 自动化测试方法、装置、设备及介质 |
CN112527666A (zh) * | 2020-12-18 | 2021-03-19 | 平安银行股份有限公司 | 业务流程自动化测试方法、装置及计算机设备 |
CN112612713A (zh) * | 2020-12-30 | 2021-04-06 | 语联网(武汉)信息技术有限公司 | dubbo服务测试方法、系统、电子设备及存储介质 |
CN113051172A (zh) * | 2021-04-09 | 2021-06-29 | 广州虎牙科技有限公司 | 测试脚本的执行方法、装置、计算机设备和存储介质 |
CN113051172B (zh) * | 2021-04-09 | 2023-10-13 | 广州虎牙科技有限公司 | 测试脚本的执行方法、装置、计算机设备和存储介质 |
CN113378532A (zh) * | 2021-06-04 | 2021-09-10 | 远光软件股份有限公司 | 一种表格文件的处理方法及其处理装置和存储介质 |
CN115248585A (zh) * | 2022-09-20 | 2022-10-28 | 平安银行股份有限公司 | 基于控制器引擎的自动化测试执行方法、控制器及系统 |
CN116166567A (zh) * | 2023-04-23 | 2023-05-26 | 成都华兴汇明科技有限公司 | 一种基于图形编程的测试用例生成方法及装置 |
CN116166567B (zh) * | 2023-04-23 | 2023-08-11 | 成都华兴汇明科技有限公司 | 一种基于图形编程的测试用例生成方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110232014A (zh) | 业务流程自动化测试方法、装置、控制器及介质 | |
Zhou et al. | Fault analysis and debugging of microservice systems: Industrial survey, benchmark system, and empirical study | |
CN110309071B (zh) | 测试代码的生成方法及模块、测试方法及系统 | |
CN110287052A (zh) | 一种异常任务的根因任务确定方法及装置 | |
CN107135390A (zh) | 一种电视应用的自动化测试方法及系统 | |
CN106682036A (zh) | 一种数据交换系统及其交换方法 | |
CN109560996B (zh) | 物联网终端自动化测试系统及方法 | |
CN105191211A (zh) | 服务器集群下的日志提取方法和服务器集群 | |
CN110162365A (zh) | 一种自动操作sap业务软件的方法和系统 | |
CN106529304B (zh) | 一种安卓应用并发漏洞检测系统 | |
CN115686540A (zh) | 基于鸿蒙系统的rpa控制方法及系统 | |
CN109460307A (zh) | 基于日志埋点的微服务调用跟踪方法及其系统 | |
US20180232299A1 (en) | Composing future tests | |
CN105550103B (zh) | 一种基于自定义测试脚本的自动化测试方法 | |
CN109710513B (zh) | 一种用于cbtc系统自动化测试的引擎 | |
CN113568825B (zh) | 程序流程调试方法、装置、设备及存储介质 | |
CN104298671B (zh) | 数据统计分析方法及装置 | |
CN113836014A (zh) | 一种接口测试方法、装置、电子设备和存储介质 | |
US20180137036A1 (en) | Determining potential test actions | |
CN109189679A (zh) | 接口测试方法及系统、电子设备、存储介质 | |
CN107729242A (zh) | 一种自动化测试方法、系统、装置及计算机存储介质 | |
CN110109837A (zh) | 集成测试方法、装置以及控制器和介质 | |
CN103902590A (zh) | 终端自动化测试方法及其装置 | |
CN104331358B (zh) | 一种测试管理系统及方法 | |
CN102184137A (zh) | 一种无人值守的智能的自动化回归测试方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190913 |
|
RJ01 | Rejection of invention patent application after publication |