CN112527666B - 业务流程自动化测试方法、装置及计算机设备 - Google Patents

业务流程自动化测试方法、装置及计算机设备 Download PDF

Info

Publication number
CN112527666B
CN112527666B CN202011506538.1A CN202011506538A CN112527666B CN 112527666 B CN112527666 B CN 112527666B CN 202011506538 A CN202011506538 A CN 202011506538A CN 112527666 B CN112527666 B CN 112527666B
Authority
CN
China
Prior art keywords
business process
business
component
components
logic
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.)
Active
Application number
CN202011506538.1A
Other languages
English (en)
Other versions
CN112527666A (zh
Inventor
胡东闻
朱传亮
蔡晓昕
全佳君
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Bank Co Ltd
Original Assignee
Ping An Bank Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ping An Bank Co Ltd filed Critical Ping An Bank Co Ltd
Priority to CN202011506538.1A priority Critical patent/CN112527666B/zh
Publication of CN112527666A publication Critical patent/CN112527666A/zh
Application granted granted Critical
Publication of CN112527666B publication Critical patent/CN112527666B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test 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)
  • Stored Programmes (AREA)

Abstract

本发明实施例涉及测试技术领域,提供了一种业务流程自动化测试方法,包括:定义组件构建与组件执行的统一标准规范,并基于所述统一标准规范构建多个组件,其中所述统一标准规范包括每一所述组件具有相同的组件属性、实现相同的Action接口及具有相同的组件执行逻辑;基于业务流程的业务逻辑从多个所述组件中选取多个目标组件,并利用预先训练的业务流程构建模型定义多个所述目标组件的组合方式与执行顺序,以构建所述业务流程;及获取业务测试命令,并根据所述业务测试命令对构建的所述业务流程进行执行,得到所述业务流程的测试结果。本发明实施例可以对复杂多变的业务流程进行自动化测试。

Description

业务流程自动化测试方法、装置及计算机设备
技术领域
本发明实施例涉及自动化测试技术领域,尤其涉及一种业务流程自动化测试方法、装置及计算机设备。
背景技术
由于业务流程变化多样,传统的自动化测试平台,不支持用户在平台上对业务流程进行灵活定义与测试。为了应对每一种业务流程的测试,测试人员需要有较高的编程能力,且工作量巨大。针对单个业务流程编写出的代码不具备通用性,复用性差,进一步增加了编码工作量。
发明内容
有鉴于此,本发明实施例的目的是提供一种业务流程自动化测试方法、装置、计算机设备及计算机可读存储介质,可以实现在自动化测试平台按照统一标准定义执行案例的逻辑、验证断言是否通过的逻辑,来实现对复杂多变的业务流程进行自动化测试。
为实现上述目的,本发明实施例提供了一种业务流程自动化测试方法,包括:
定义组件构建与组件执行的统一标准规范,并基于所述统一标准规范构建多个组件,其中所述统一标准规范包括每一所述组件具有相同的组件属性、实现相同的Action接口及具有相同的组件执行逻辑;
基于业务流程的业务逻辑从多个所述组件中选取多个目标组件,并利用预先训练的业务流程构建模型定义多个所述目标组件的组合方式与执行顺序,以构建所述业务流程;
获取业务测试命令,并根据所述业务测试命令对构建的所述业务流程进行执行,得到所述业务流程的测试结果。
可选地,所述组件包括基础组件和复合组件,所述复合组件由两个或两个以上的所述基础组件组成。
可选地,所述业务流程的业务逻辑包括多个子业务逻辑,所述基于业务流程的业务逻辑从多个所述组件中选取多个目标组件的步骤之后,还包括:
当无法从多个所述组件中选取与每一所述业务逻辑对应的目标组件时,确定未匹配的子业务逻辑;
基于所述统一标准规范构建与所述未匹配的子业务逻辑对应的目标组件。
可选地,所述组件包括输入参数及输出参数,所述根据所述业务测试命令对构建的所述业务流程进行执行,得到所述业务流程的测试结果的步骤,包括:
检查所述业务流程所包含的每一组件的输入参数和输出参数是否符合对应的预期结果;
汇总所述业务流程的每一组件的检查结果,得到所述业务流程的测试结果。
可选地,所述业务流程自动化测试方法还包括:
获取多个历史业务流程的操作数据,并基于多个所述历史业务流程的操作数据对预设深度学习网络进行训练得到所述业务流程构建模型。
可选地,所述基于多个所述历史业务流程的操作数据对预设深度学习网络进行训练得到所述业务流程构建模型的步骤,包括:
分析所述历史业务流程的操作数据得到所述历史业务流程的业务逻辑,以基于所述业务逻辑确定组成所述历史业务流程的组件集合;
将所述组件集合中的组件进行随机组合与执行顺序随机定义得到多个样本业务流程,并执行每一所述样本业务流程;
基于每一所述样本业务流程的执行结果从多个所述样本业务流程中挑选出与所述历史业务流程最匹配的目标样本业务流程,并记录所述目标样本业务流程的组件组合方式与执行顺序;
将每一所述历史业务流程的业务逻辑与其对应的目标样本业务流程的组件组合方式与执行顺序作为训练数据,对所述深度学习网络进行训练,得到所述业务流程构建模型。
可选地,每一所述组件包括业务标签,所述业务标签记载有所述组件可执行的业务功能,所述基于业务流程的业务逻辑从多个所述组件中选取多个目标组件的步骤,包括:
将所述业务流程的业务逻辑切分为多个子业务逻辑;
根据所述业务标签从多个所述组件中选取与每一所述子业务逻辑对应的目标组件。
为实现上述目的,本发明实施例还提供了一种业务流程自动化测试装置,所述业务流程自动化测试装置包括:
定义模块,用于定义组件构建与组件执行的统一标准规范,并基于所述统一标准规范构建多个组件,其中所述统一标准规范包括每一所述组件具有相同的组件属性、实现相同的Action接口及具有相同的组件执行逻辑;
构建模块,用于基于业务流程的业务逻辑从多个所述组件中选取多个目标组件,并利用预先训练的业务流程构建模型定义多个所述目标组件的组合方式与执行顺序,以构建所述业务流程;
执行模块,用于获取业务测试命令,并根据所述业务测试命令对构建的所述业务流程进行执行,得到所述业务流程的测试结果。
为实现上述目的,本发明实施例还提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的业务流程自动化测试方法的步骤。
为实现上述目的,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上所述的业务流程自动化测试方法的步骤。
本发明实施例提供的业务流程自动化测试方法、装置、计算机设备及计算机可读存储介质,通过定义组件构建与组件执行的统一标准规范,并基于所述统一标准规范构建多个组件,其中所述统一标准规范包括每一所述组件具有相同的组件属性、实现相同的Action接口及具有相同的组件执行逻辑;基于业务流程的业务逻辑从多个所述组件中选取多个目标组件,并利用预先训练的业务流程构建模型定义多个所述目标组件的组合方式与执行顺序,以构建所述业务流程;及获取业务测试命令,并根据所述业务测试命令对构建的所述业务流程进行执行,得到所述业务流程的测试结果,这样可以基于统一标准规范构建多个组件并利用组件自定义业务流程,同时还可以基于业务测试命令对构建的所述业务流程进行执行,得到所述业务流程的测试结果。
附图说明
图1为本发明业务流程自动化测试方法的一实施方式的步骤流程示意图。
图2为本发明一实施方式的业务流程自动化测试装置的程序模块示意图。
图3为本发明一实施方式的计算机设备的硬件结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
以下结合附图与具体实施例进一步阐述本发明的优点。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在本发明的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本发明及区别每一步骤,因此不能理解为对本发明的限制。
参阅图1,示出了本发明实施例一之业务流程自动化测试方法的流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以业务流程自动化测试装置(下文以“测试装置”简称)为执行主体进行示例性描述,所述测试装置可以应用于计算机设备中,所述计算机设备可以是移动电话、平板个人计算机(tablet personalcomputer)、膝上型计算机(laptop computer)、服务器等具有数据传输功能的设备。具体如下:
步骤S10,定义组件构建与组件执行的统一标准规范,并基于所述统一标准规范构建多个组件,其中所述统一标准规范包括每一所述组件具有相同的组件属性、实现相同的Action接口及具有相同的组件执行逻辑。
在一实施方式中,一般来说,应用软件中的一个业务流程涉及的是调用函数、调用接口、连数据库执行SQL语句、执行代码等,因此可以在业务逻辑上,把一个完整的业务流程看成是由若干代码模块组合而成,然后,把具有同一性质的代码模块抽象为可复用的组件,即在业务逻辑上把业务流程抽象为基本的、可复用的、可组合的组件。
在一实施方式中,可以在现有自动化测试平台定义一套用于构建所述组件与执行所述组件的统一标准规范,其中,所述统一标准规范可以包括每一组件具有相同的组件属性、实现相同的Action接口及具有相同的组件执行逻辑。比如,组件统一具有组件id、组件key、组件名称、组件类型、输入参数、输出参数、组件描述、创建者、修改者、创建时间、修改时间等属性,组件统一实现ComponentAction接口,接口包含run()方法,由于组件实现同一个接口,自动化测试平台就可以以统一的方式执行每一组件,执行所述组件可以具体包括:初始化组件、准备输入参数、执行组件的逻辑、输出参数。
在一实施方式中,多个所述组件可以包括接口组件、SQL组件、函数组件、代码组件、数据组件、流程控制组件等。所述接口组件可以用于调用某个业务接口,比如,城市列表接口组件,传入省份名称,返回其下辖的城市的列表。所述SQL组件可以用于连接业务数据库,执行一段SQL语句。所述函数组件可以用于执行平台内置的一段预先编写好的工具代码。自动化测试平台内置了若干实用的函数组件,例如:数学四则运算函数组件、随机生成身份证函数组件、加解密函数组件、生成随机数函数组件、邮件发送函数组件、短信发送函数组件等等。所述代码组件可以用于执行用户自定义的java代码。所述数据组件可以是为了以数据驱动的方式执行自动化案例,可以允许用户自定义若干条用户数据,每条数据可以包含若干键值对,每个键值对可被任意组件作为输入参数使用,键是参数名,值是参数值。所述流程控制组件可以用于控制组件的执行顺序,例如,顺序执行、选择执行、循环执行等。
在一实施方式中,当定义了组件构建与组件执行的统一标准规范后,可以根据实际需求基于所述统一标准规范构建多个所述组件,所述组件可以包括基础组件(比如接口组件、SQL组件、函数组件、代码组件、数据组件等)和复合组件,其中所述复合组件可以由两个或两个以上的所述基础组件组成,然后通过所述基础组件和/或所述复合组件来组合成业务流程。自动化测试平台也可以预先内置若干基础组件和/或所述复合组件。
步骤S11,基于业务流程的业务逻辑从多个所述组件中选取多个目标组件,并利用预先训练的业务流程构建模型定义多个所述目标组件的组合方式与执行顺序,以构建所述业务流程。
在一实施方式中,由于在业务逻辑上,每一业务流程可以抽象为多个组件或复合组件。例如,业务流程涉及调用天气预报接口获取天气信息的代码模块、调用城市信息接口获取某个省份的城市列表的代码模块,可以分别对应抽象为天气预报接口组件、城市列表接口组件。可以理解,根据代码的功能不同,业务流程还可能抽象出所述SQL组件、所述函数组件、所述数据组件等,具体需要根据业务流程涉及的业务逻辑进行确定。
在一实施方式中,所述目标组件可以是基础组件和/或者复合组件。所述业务流程的业务逻辑包括多个子业务逻辑,每一所述组件包括业务标签,所述业务标签记载有所述组件可执行的业务功能。可以基于业务流程的业务逻辑从多个所述组件中选取多个目标组件,多个所述目标组件即为对业务流程进行抽象而确定的组件。具体地,可以先将所述业务流程的业务逻辑切分为多个子业务逻辑,然后根据所述业务标签从多个所述组件中选取与每一所述子业务逻辑对应的目标组件。当确定与业务流程对应的多个目标组件后,可以通过预先训练的业务流程构建模型定义多个所述目标组件的组合方式与执行顺序,以构建所述业务流程。目标组件的组合方式涉及是否需要再次组合成复合组件,执行顺序可以包括顺序执行、选择执行、循环执行等。举例而言,所述目标组件包括组件1~3,执行顺序可以为:先执行组件1,再执行组件2,再执行组件3。再比如,所述目标组件包括组件1~4,执行顺序可以包括:先执行组件1,再执行组件2,再检查组件2的执行结果,如果属于A情况,则继续执行组件3,否则,如果属于B情况,则继续执行组件4。
在一实施方式中,当无法从多个所述组件中选取与每一所述子业务逻辑对应的目标组件即多个所述组件中不包括所需的一个或多个所述目标组件时,可以先确定未匹配的子业务逻辑,然后基于所述统一标准规范构建与所述未匹配的子业务逻辑对应的目标组件,以进行业务流程构建。
在一实施方式中,业务流程构建模型的训练方式可以包括:获取多个历史业务流程的操作数据,并基于多个所述历史业务流程的操作数据对预设深度学习网络进行训练得到所述业务流程构建模型。例如,首先获取并分析所述历史业务流程的操作数据得到所述历史业务流程的业务逻辑,以基于所述业务逻辑确定组成所述历史业务流程的组件集合,其次将所述组件集合中的组件进行随机组合与执行顺序随机定义得到多个样本业务流程,并执行每一所述样本业务流程,再者基于每一所述样本业务流程的执行结果从多个所述样本业务流程中挑选出与所述历史业务流程最匹配的目标样本业务流程,并记录所述目标样本业务流程的组件组合方式与执行顺序,最后将每一所述历史业务流程的业务逻辑与其对应的目标样本业务流程的组件组合方式与执行顺序作为训练数据,对所述深度学习网络进行训练,得到所述业务流程构建模型。所述目标样本业务流程涉及的组件、组件的组合方式与执行顺序即为构建所述历史业务流程所涉及的组件、组件的组合方式与执行顺序。
具体地,可以通过大数据方式收集多个历史业务流程的操作数据,并基于这些历史业务流程的操作数据来分析得到每一所述历史业务流程的业务逻辑,及与该业务逻辑对应的组件、组件的组合方式与执行顺序,进而可以训练机器学习网络学习如何基于业务逻辑来选用组件、组合组件及定义组件的执行顺序,实现成功构建所述历史业务流程,训练得到业务流程构建模型可以自动实现业务流程的构建。
在一实施方式中,可以通过获取历史业务流程的操作数据,并利用人工智能(Artificial Intelligence,AI)技术分析所述历史业务流程的操作数据得到所述历史业务流程的业务逻辑,可以实现确定组成所述历史业务流程的可能用到的组件的集合(即组件集合)。可以随机组合组件集合中的组件,也可以随意调整每个组件的输入参数,还可以随意调整组件之间的执行顺序,进而可以构建得到多个样本业务流程。由于大多数随机组合的组件而构建的样本业务流程是没有业务意义的。可以通过执行每一样本业务流程,并记录每一所述样本业务流程的执行结果,进而可以从多个所述样本业务流程中确定与所述历史业务流程最匹配的目标样本业务流程。
在一实施方式中,在一个业务流程中,一个组件的输入参数或者输出参数可以是其他组件的输入参数,这种依赖关系可以在构建所述业务流程时进行具体指定。
举例而言,可以构建一个简单的购物业务流程:
1、调用用户登录的接口组件,登录系统;
2、再调用查找商品的SQL组件,从数据库中找到一件在售的商品;
3、然后再调用加入购物车的接口组件,把商品加入购物车;
4、再调用银行支付的接口组件,完成付账;
5、最后调用短信发送的函数组件,给用户发送一条购买成功的短信通知。
步骤S12,获取业务测试命令,并根据所述业务测试命令对构建的所述业务流程进行执行,得到所述业务流程的测试结果。
在一实施方式中,所述组件包括输入参数及输出参数,这些参数在组件的运行过程中会有赋予实际的值。
具体地,在获取业务测试命令后可以检查所述业务流程所包含的每一组件的输入参数和输出参数是否符合对应的预期结果,然后汇总所述业务流程的每一组件的检查结果,得到所述业务流程的测试结果。若符合对应的预期结果,则代表业务流程测试通过;若不符合对应的预期结果,则代表业务流程测试未通过。
在一实施方式中,可以在业务流程的每个组件执行之后,立即检查每一组件的输入参数和输出参数是否符合对应的预期结果,也可以在业务流程的所有组件执行完成之后,再检查各个组件的输入参数和输出参数是否符合对应的预期结果。例如,可以检查输入参数和/或输出参数是否相等,是否非空,是否是预期值,是否包含预期内容,是否符合某种正则表达式,如果是数字的话,数字是否大于某个数,是否小于某个数等。可以理解,某些组件也可以没有输入参数和/或输出参数,此时需要根据实际业务流程来确定检测规则。
本发明实施例通过定义组件构建与组件执行的统一标准规范,并基于所述统一标准规范构建多个组件,其中所述统一标准规范包括每一所述组件具有相同的组件属性、实现相同的Action接口及具有相同的组件执行逻辑;基于业务流程的业务逻辑从多个所述组件中选取多个目标组件,并利用预先训练的业务流程构建模型定义多个所述目标组件的组合方式与执行顺序,以构建所述业务流程;及获取业务测试命令,并根据所述业务测试命令对构建的所述业务流程进行执行,得到所述业务流程的测试结果,这样可以基于统一标准规范构建多个组件并利用组件自定义业务流程,同时还可以基于业务测试命令对构建的所述业务流程进行执行,得到所述业务流程的测试结果。
请参阅图2,示出了本发明实施例之业务流程自动化测试装置300(以下简称为“测试装置”300)的程序模块示意图。所述测试装置300可以应用于计算机设备中,所述计算机设备可以是移动电话、平板个人计算机(tablet personal computer)、膝上型计算机(laptop computer)、服务器等具有数据传输功能的设备。在本实施例中,所述测试装置300可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述业务流程自动化测试方法。本发明实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述业务流程自动化测试方法在存储介质中的执行过程。在本实施例中,所述业务流程自动化测试装置300包括定义模块301、构建模块302及执行模块303。以下描述将具体介绍本实施例各程序模块的功能:
定义模块301,用于定义组件构建与组件执行的统一标准规范,并基于所述统一标准规范构建多个组件,其中所述统一标准规范包括每一所述组件具有相同的组件属性、实现相同的Action接口及具有相同的组件执行逻辑。
在一实施方式中,一般来说,应用软件中的一个业务流程涉及的是调用函数、调用接口、连数据库执行SQL语句、执行代码等,因此可以在业务逻辑上,把一个完整的业务流程看成是由若干代码模块组合而成,然后,把具有同一性质的代码模块抽象为可复用的组件,即在业务逻辑上把业务流程抽象为基本的、可复用的、可组合的组件。
在一实施方式中,所述定义模块301可以在现有自动化测试平台定义一套用于构建所述组件与执行所述组件的统一标准规范,其中,所述统一标准规范可以包括每一组件具有相同的组件属性、实现相同的Action接口及具有相同的组件执行逻辑。比如,组件统一具有组件id、组件key、组件名称、组件类型、输入参数、输出参数、组件描述、创建者、修改者、创建时间、修改时间等属性,组件统一实现ComponentAction接口,接口包含run()方法,由于组件实现同一个接口,自动化测试平台就可以以统一的方式执行每一组件,执行所述组件可以具体包括:初始化组件、准备输入参数、执行组件的逻辑、输出参数。
在一实施方式中,多个所述组件可以包括接口组件、SQL组件、函数组件、代码组件、数据组件、流程控制组件等。所述接口组件可以用于调用某个业务接口,比如,城市列表接口组件,传入省份名称,返回其下辖的城市的列表。所述SQL组件可以用于连接业务数据库,执行一段SQL语句。所述函数组件可以用于执行平台内置的一段预先编写好的工具代码。自动化测试平台内置了若干实用的函数组件,例如:数学四则运算函数组件、随机生成身份证函数组件、加解密函数组件、生成随机数函数组件、邮件发送函数组件、短信发送函数组件等等。所述代码组件可以用于执行用户自定义的java代码。所述数据组件可以是为了以数据驱动的方式执行自动化案例,可以允许用户自定义若干条用户数据,每条数据可以包含若干键值对,每个键值对可被任意组件作为输入参数使用,键是参数名,值是参数值。所述流程控制组件可以用于控制组件的执行顺序,例如,顺序执行、选择执行、循环执行等。
在一实施方式中,当定义了组件构建与组件执行的统一标准规范后,所述定义模块301还可以根据实际需求基于所述统一标准规范构建多个所述组件,所述组件可以包括基础组件(比如接口组件、SQL组件、函数组件、代码组件、数据组件等)和复合组件,其中所述复合组件可以由两个或两个以上的所述基础组件组成,然后通过所述基础组件和/或所述复合组件来组合成业务流程。自动化测试平台也可以预先内置若干基础组件和/或所述复合组件。
构建模块302,用于基于业务流程的业务逻辑从多个所述组件中选取多个目标组件,并利用预先训练的业务流程构建模型定义多个所述目标组件的组合方式与执行顺序,以构建所述业务流程。
在一实施方式中,由于在业务逻辑上,每一业务流程可以抽象为多个组件或复合组件。例如,业务流程涉及调用天气预报接口获取天气信息的代码模块、调用城市信息接口获取某个省份的城市列表的代码模块,可以分别对应抽象为天气预报接口组件、城市列表接口组件。可以理解,根据代码的功能不同,业务流程还可能抽象出所述SQL组件、所述函数组件、所述数据组件等,具体需要根据业务流程涉及的业务逻辑进行确定。
在一实施方式中,所述目标组件可以是基础组件和/或者复合组件。所述业务流程的业务逻辑包括多个子业务逻辑,每一所述组件包括业务标签,所述业务标签记载有所述组件可执行的业务功能。所述构建模块302可以基于业务流程的业务逻辑从多个所述组件中选取多个目标组件,多个所述目标组件即为对业务流程进行抽象而确定的组件。具体地,可以先将所述业务流程的业务逻辑切分为多个子业务逻辑,然后根据所述业务标签从多个所述组件中选取与每一所述子业务逻辑对应的目标组件。当确定与业务流程对应的多个目标组件后,所述构建模块302还可以通过预先训练的业务流程构建模型定义多个所述目标组件的组合方式与执行顺序,以构建所述业务流程。目标组件的组合方式涉及是否需要再次组合成复合组件,执行顺序可以包括顺序执行、选择执行、循环执行等。举例而言,所述目标组件包括组件1~3,执行顺序可以为:先执行组件1,再执行组件2,再执行组件3。再比如,所述目标组件包括组件1~4,执行顺序可以包括:先执行组件1,再执行组件2,再检查组件2的执行结果,如果属于A情况,则继续执行组件3,否则,如果属于B情况,则继续执行组件4。
在一实施方式中,当无法从多个所述组件中选取与每一所述子业务逻辑对应的所有目标组件即多个所述组件中不包括所需的一个或多个所述目标组件时,可以先确定未匹配的子业务逻辑,然后构建模块302基于所述统一标准规范构建与所述未匹配的子业务逻辑对应的目标组件,以进行业务流程构建。
在一实施方式中,业务流程构建模型的训练方式可以包括:获取多个历史业务流程的操作数据,并基于多个所述历史业务流程的操作数据对预设深度学习网络进行训练得到所述业务流程构建模型。例如,首先获取并分析所述历史业务流程的操作数据得到所述历史业务流程的业务逻辑,以基于所述业务逻辑确定组成所述历史业务流程的组件集合,其次将所述组件集合中的组件进行随机组合与执行顺序随机定义得到多个样本业务流程,并执行每一所述样本业务流程,再者基于每一所述样本业务流程的执行结果从多个所述样本业务流程中挑选出与所述历史业务流程最匹配的目标样本业务流程,并记录所述目标样本业务流程的组件组合方式与执行顺序,最后将每一所述历史业务流程的业务逻辑与其对应的目标样本业务流程的组件组合方式与执行顺序作为训练数据,对所述深度学习网络进行训练,得到所述业务流程构建模型。所述目标样本业务流程涉及的组件、组件的组合方式与执行顺序即为构建所述历史业务流程所涉及的组件、组件的组合方式与执行顺序。
具体地,构建模块302可以通过大数据方式收集多个历史业务流程的操作数据,并基于这些历史业务流程的操作数据来分析得到每一所述历史业务流程的业务逻辑,及与该业务逻辑对应的组件、组件的组合方式与执行顺序,进而可以训练机器学习网络学习如何基于业务逻辑来选用组件、组合组件及定义组件的执行顺序,实现成功构建所述历史业务流程,训练得到业务流程构建模型可以自动实现业务流程的构建。
在一实施方式中,可以通过获取历史业务流程的操作数据,并利用人工智能(Artificial Intelligence,AI)技术分析所述历史业务流程的操作数据得到所述历史业务流程的业务逻辑,可以实现确定组成所述历史业务流程的可能用到的组件的集合(即组件集合)。可以随机组合组件集合中的组件,也可以随意调整每个组件的输入参数,还可以随意调整组件之间的执行顺序,进而可以构建得到多个样本业务流程。由于大多数随机组合的组件而构建的样本业务流程是没有业务意义的。可以通过执行每一样本业务流程,并记录每一所述样本业务流程的执行结果,进而可以从多个所述样本业务流程中确定与所述历史业务流程最匹配的目标样本业务流程。
在一实施方式中,在一个业务流程中,一个组件的输入参数或者输出参数可以是其他组件的输入参数,这种依赖关系可以在构建所述业务流程时进行具体指定。
举例而言,可以构建一个简单的购物业务流程:
1、调用用户登录的接口组件,登录系统;
2、再调用查找商品的SQL组件,从数据库中找到一件在售的商品;
3、然后再调用加入购物车的接口组件,把商品加入购物车;
4、再调用银行支付的接口组件,完成付账;
5、最后调用短信发送的函数组件,给用户发送一条购买成功的短信通知。
执行模块303,用于获取业务测试命令,并根据所述业务测试命令对构建的所述业务流程进行执行,得到所述业务流程的测试结果。
在一实施方式中,所述组件包括输入参数及输出参数,这些参数在组件的运行过程中会有赋予实际的值。
具体地,在获取业务测试命令后,所述执行模块303可以检查所述业务流程所包含的每一组件的输入参数和输出参数是否符合对应的预期结果,然后汇总所述业务流程的每一组件的检查结果,得到所述业务流程的测试结果。若符合对应的预期结果,则代表业务流程测试通过;若不符合对应的预期结果,则代表业务流程测试未通过。
在一实施方式中,可以在业务流程的每个组件执行之后,所述执行模块303立即检查每一组件的输入参数和输出参数是否符合对应的预期结果,也可以在业务流程的所有组件执行完成之后,再检查各个组件的输入参数和输出参数是否符合对应的预期结果。例如,可以检查输入参数和/或输出参数是否相等,是否非空,是否是预期值,是否包含预期内容,是否符合某种正则表达式,如果是数字的话,数字是否大于某个数,是否小于某个数等。可以理解,某些组件也可以没有输入参数和/或输出参数,此时需要根据实际业务流程来确定检测规则。
本发明实施例通过定义组件构建与组件执行的统一标准规范,并基于所述统一标准规范构建多个组件,其中所述统一标准规范包括每一所述组件具有相同的组件属性、实现相同的Action接口及具有相同的组件执行逻辑;基于业务流程的业务逻辑从多个所述组件中选取多个目标组件,并利用预先训练的业务流程构建模型定义多个所述目标组件的组合方式与执行顺序,以构建所述业务流程;及获取业务测试命令,并根据所述业务测试命令对构建的所述业务流程进行执行,得到所述业务流程的测试结果,这样可以基于统一标准规范构建多个组件并利用组件自定义业务流程,同时还可以基于业务测试命令对构建的所述业务流程进行执行,得到所述业务流程的测试结果。
参阅图3,是本发明实施例之计算机设备400的硬件架构示意图。在本实施例中,所述计算机设备400是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。如图所示,所述计算机设备400至少包括,但不限于,可通过装置总线相互通信连接存储器401、处理器402、网络接口403。其中:
本实施例中,存储器401至少包括一种类型的计算机可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器401可以是计算机设备400的内部存储单元,例如所述计算机设备400的硬盘或内存。在另一些实施例中,存储器401也可以是计算机设备400的外部存储设备,例如所述计算机设备400上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器401还可以既包括计算机设备400的内部存储单元也包括其外部存储设备。本实施例中,存储器401通常用于存储安装于计算机设备400的操作装置和各类应用软件,例如业务流程自动化测试装置300的程序代码等。此外,存储器401还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器402在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。所述处理器402通常用于控制计算机设备400的总体操作。本实施例中,处理器402用于运行存储器401中存储的程序代码或者处理数据,例如运行业务流程自动化测试装置300,以实现上述各个实施例中的业务流程自动化测试方法。
所述网络接口403可包括无线网络接口或有线网络接口,所述网络接口403通常用于在所述计算机设备400与其他电子装置之间建立通信连接。例如,所述网络接口403用于通过网络将所述计算机设备400与外部终端相连,在所述计算机设备400与外部终端之间的建立数据传输通道和通信连接等。所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯装置(Global System of Mobile communication,GSM)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图3仅示出了具有部件401-403的计算机设备400,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器401中的所述业务流程自动化测试装置300还可以被分割为一个或者多个程序模块,所述一个或者多个程序模块被存储于存储器401中,并由一个或多个处理器(本实施例为处理器402)所执行,以完成本发明之业务流程自动化测试方法。
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储业务流程自动化测试装置300,以被处理器执行时实现本发明之业务流程自动化测试方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (6)

1.一种业务流程自动化测试方法,其特征在于,包括:
定义组件构建与组件执行的统一标准规范,并基于所述统一标准规范构建多个组件,其中所述统一标准规范包括每一所述组件具有相同的组件属性、实现相同的Action接口及具有相同的组件执行逻辑;
基于业务流程的业务逻辑从多个所述组件中选取多个目标组件,并利用预先训练的业务流程构建模型定义多个所述目标组件的组合方式与执行顺序,以构建所述业务流程;
获取业务测试命令,并根据所述业务测试命令对构建的所述业务流程进行执行,得到所述业务流程的测试结果;
所述业务流程的业务逻辑包括多个子业务逻辑,所述基于业务流程的业务逻辑从多个所述组件中选取多个目标组件的步骤之后,还包括:
当无法从多个所述组件中选取与每一所述子业务逻辑对应的目标组件时,确定未匹配的子业务逻辑;
基于所述统一标准规范构建与所述未匹配的子业务逻辑对应的目标组件;
所述业务流程自动化测试方法还包括:
通过大数据方式收集多个历史业务流程的操作数据,并基于多个所述历史业务流程的操作数据对预设深度学习网络进行训练得到所述业务流程构建模型;
所述基于多个所述历史业务流程的操作数据对预设深度学习网络进行训练得到所述业务流程构建模型的步骤,包括:
分析所述历史业务流程的操作数据得到所述历史业务流程的业务逻辑,以基于所述业务逻辑确定组成所述历史业务流程的组件集合;
将所述组件集合中的组件进行随机组合与执行顺序随机定义得到多个样本业务流程,并执行每一所述样本业务流程;
基于每一所述样本业务流程的执行结果从多个所述样本业务流程中挑选出与所述历史业务流程最匹配的目标样本业务流程,并记录所述目标样本业务流程的组件组合方式与执行顺序;
将每一所述历史业务流程的业务逻辑与其对应的目标样本业务流程的组件组合方式与执行顺序作为训练数据,对所述深度学习网络进行训练,得到所述业务流程构建模型;
每一所述组件包括业务标签,所述业务标签记载有所述组件可执行的业务功能,所述基于业务流程的业务逻辑从多个所述组件中选取多个目标组件的步骤,包括:
将所述业务流程的业务逻辑切分为多个子业务逻辑;
根据所述业务标签从多个所述组件中选取与每一所述子业务逻辑对应的目标组件。
2.如权利要求1所述的业务流程自动化测试方法,其特征在于,所述组件包括基础组件和复合组件,所述复合组件由两个或两个以上的所述基础组件组成。
3.如权利要求1所述的业务流程自动化测试方法,其特征在于,所述组件包括输入参数及输出参数,所述根据所述业务测试命令对构建的所述业务流程进行执行,得到所述业务流程的测试结果的步骤,包括:
检查所述业务流程所包含的每一组件的输入参数和输出参数是否符合对应的预期结果;
汇总所述业务流程的每一组件的检查结果,得到所述业务流程的测试结果。
4.一种业务流程自动化测试装置,其特征在于,所述业务流程自动化测试装置包括:
定义模块,用于定义组件构建与组件执行的统一标准规范,并基于所述统一标准规范构建多个组件,其中所述统一标准规范包括每一所述组件具有相同的组件属性、实现相同的Action接口及具有相同的组件执行逻辑;
构建模块,用于基于业务流程的业务逻辑从多个所述组件中选取多个目标组件,并利用预先训练的业务流程构建模型定义多个所述目标组件的组合方式与执行顺序,以构建所述业务流程;
执行模块,用于获取业务测试命令,并根据所述业务测试命令对构建的所述业务流程进行执行,得到所述业务流程的测试结果;
所述业务流程的业务逻辑包括多个子业务逻辑,所述构建模块,还用于当无法从多个所述组件中选取与每一所述子业务逻辑对应的目标组件时,确定未匹配的子业务逻辑;基于所述统一标准规范构建与所述未匹配的子业务逻辑对应的目标组件;
所述构建模块,还用于通过大数据方式收集多个历史业务流程的操作数据,并基于多个所述历史业务流程的操作数据对预设深度学习网络进行训练得到所述业务流程构建模型;
所述构建模块,还用于分析所述历史业务流程的操作数据得到所述历史业务流程的业务逻辑,以基于所述业务逻辑确定组成所述历史业务流程的组件集合;将所述组件集合中的组件进行随机组合与执行顺序随机定义得到多个样本业务流程,并执行每一所述样本业务流程;基于每一所述样本业务流程的执行结果从多个所述样本业务流程中挑选出与所述历史业务流程最匹配的目标样本业务流程,并记录所述目标样本业务流程的组件组合方式与执行顺序;将每一所述历史业务流程的业务逻辑与其对应的目标样本业务流程的组件组合方式与执行顺序作为训练数据,对所述深度学习网络进行训练,得到所述业务流程构建模型;
每一所述组件包括业务标签,所述业务标签记载有所述组件可执行的业务功能,所述构建模块,还用于将所述业务流程的业务逻辑切分为多个子业务逻辑;根据所述业务标签从多个所述组件中选取与每一所述子业务逻辑对应的目标组件。
5.一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至3任一项所述的业务流程自动化测试方法的步骤。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如权利要求1-3中任一项所述的业务流程自动化测试方法的步骤。
CN202011506538.1A 2020-12-18 2020-12-18 业务流程自动化测试方法、装置及计算机设备 Active CN112527666B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011506538.1A CN112527666B (zh) 2020-12-18 2020-12-18 业务流程自动化测试方法、装置及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011506538.1A CN112527666B (zh) 2020-12-18 2020-12-18 业务流程自动化测试方法、装置及计算机设备

Publications (2)

Publication Number Publication Date
CN112527666A CN112527666A (zh) 2021-03-19
CN112527666B true CN112527666B (zh) 2024-05-17

Family

ID=75001794

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011506538.1A Active CN112527666B (zh) 2020-12-18 2020-12-18 业务流程自动化测试方法、装置及计算机设备

Country Status (1)

Country Link
CN (1) CN112527666B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113378532A (zh) * 2021-06-04 2021-09-10 远光软件股份有限公司 一种表格文件的处理方法及其处理装置和存储介质
CN115248585A (zh) * 2022-09-20 2022-10-28 平安银行股份有限公司 基于控制器引擎的自动化测试执行方法、控制器及系统
CN116431246B (zh) * 2023-06-13 2023-08-11 建信金融科技有限责任公司 办公自动化软件配置方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110232014A (zh) * 2019-02-25 2019-09-13 上海蔚来汽车有限公司 业务流程自动化测试方法、装置、控制器及介质
CN110580174A (zh) * 2018-06-11 2019-12-17 中国移动通信集团浙江有限公司 应用组件生成方法、服务器及终端
CN111314424A (zh) * 2020-01-17 2020-06-19 深圳壹账通智能科技有限公司 服务平台的组件管理方法和系统
CN111445139A (zh) * 2020-03-26 2020-07-24 平安普惠企业管理有限公司 业务流程模拟方法及装置、存储介质、电子设备
CN111488261A (zh) * 2020-03-11 2020-08-04 北京健康之家科技有限公司 用户行为分析系统、方法、存储介质及计算设备
CN111625220A (zh) * 2020-05-26 2020-09-04 北京思特奇信息技术股份有限公司 一种页面组件的自动组装方法、系统、装置和存储介质
CN111736884A (zh) * 2020-06-22 2020-10-02 平安医疗健康管理股份有限公司 组件化方法和系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110580174A (zh) * 2018-06-11 2019-12-17 中国移动通信集团浙江有限公司 应用组件生成方法、服务器及终端
CN110232014A (zh) * 2019-02-25 2019-09-13 上海蔚来汽车有限公司 业务流程自动化测试方法、装置、控制器及介质
CN111314424A (zh) * 2020-01-17 2020-06-19 深圳壹账通智能科技有限公司 服务平台的组件管理方法和系统
CN111488261A (zh) * 2020-03-11 2020-08-04 北京健康之家科技有限公司 用户行为分析系统、方法、存储介质及计算设备
CN111445139A (zh) * 2020-03-26 2020-07-24 平安普惠企业管理有限公司 业务流程模拟方法及装置、存储介质、电子设备
CN111625220A (zh) * 2020-05-26 2020-09-04 北京思特奇信息技术股份有限公司 一种页面组件的自动组装方法、系统、装置和存储介质
CN111736884A (zh) * 2020-06-22 2020-10-02 平安医疗健康管理股份有限公司 组件化方法和系统

Also Published As

Publication number Publication date
CN112527666A (zh) 2021-03-19

Similar Documents

Publication Publication Date Title
CN112527666B (zh) 业务流程自动化测试方法、装置及计算机设备
US10642913B2 (en) Intent and bot based query guidance
CN110275861B (zh) 数据存储方法及装置、存储介质、电子装置
CN110362822A (zh) 用于模型训练的文本标注方法、装置、计算机设备及存储介质
CN108415826B (zh) 应用的测试方法、终端设备及计算机可读存储介质
CN106293891B (zh) 多维投资指标监督方法
CN111181805B (zh) 一种基于测试用例的微服务测试挡板生成方法及系统
CN109828750B (zh) 自动配置数据埋点的方法、装置、电子设备及存储介质
CN110502538A (zh) 画像标签生成逻辑映射的方法、系统、设备及存储介质
CN116361147A (zh) 测试用例根因定位方法及其装置、设备、介质、产品
CN112905451B (zh) 应用程序的自动化测试方法及装置
CN104580109A (zh) 生成点选验证码的方法及装置
CN112416800A (zh) 智能合约的测试方法、装置、设备及存储介质
CN117421217A (zh) 一种软件功能自动测试方法、系统、终端及介质
CN111680478B (zh) 基于组态软件的报表生成方法、装置、设备和存储介质
CN115203306A (zh) 数据导出方法、装置、计算机设备及可读存储介质
CN114880239A (zh) 一种基于数据驱动的接口自动化测试框架及方法
CN113032256A (zh) 自动化测试方法、装置、计算机系统和可读存储介质
CN111027296A (zh) 基于知识库的报表生成方法及系统
CN112559000A (zh) 车辆的整车软件更新方法及装置
CN115510984B (zh) 支付平台的防侵入方法、系统及云平台
CN112799956B (zh) 资产识别能力测试方法、装置及系统装置
CN113742226B (zh) 一种软件性能测试方法、装置、介质及电子设备
CN111598159B (zh) 机器学习模型的训练方法、装置、设备及存储介质
CN117709774A (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
GR01 Patent grant
GR01 Patent grant