CN117076303A - 业务系统测试工具构建方法及业务系统测试方法 - Google Patents
业务系统测试工具构建方法及业务系统测试方法 Download PDFInfo
- Publication number
- CN117076303A CN117076303A CN202311036129.3A CN202311036129A CN117076303A CN 117076303 A CN117076303 A CN 117076303A CN 202311036129 A CN202311036129 A CN 202311036129A CN 117076303 A CN117076303 A CN 117076303A
- Authority
- CN
- China
- Prior art keywords
- test
- business process
- target
- service
- module
- 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 528
- 238000010276 construction Methods 0.000 title claims abstract description 25
- 238000000034 method Methods 0.000 claims abstract description 253
- 230000008569 process Effects 0.000 claims abstract description 213
- 238000013515 script Methods 0.000 claims abstract description 112
- 230000006870 function Effects 0.000 claims abstract description 74
- 238000013101 initial test Methods 0.000 claims abstract description 22
- 230000006399 behavior Effects 0.000 claims description 44
- 238000004891 communication Methods 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 16
- 230000003993 interaction Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 8
- 238000012423 maintenance Methods 0.000 description 5
- 238000012795 verification Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000011001 backwashing Methods 0.000 description 3
- 238000013136 deep learning model Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000011010 flushing procedure Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 238000010998 test method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000026676 system process Effects 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/3684—Test management for test design, e.g. generating new test cases
-
- 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
本申请提供一种业务系统测试工具构建方法及业务系统测试方法,可用于金融领域或其他领域。该方法包括:获取业务系统包括的业务场景,以及,业务场景对应的至少一个业务流程;确定至少一个业务流程中是否存在目标业务流程模块,目标业务流程模块执行的操作之间存在相同的操作;若存在目标业务流程模块,则获取实现目标业务流程模块的测试功能的测试组件,以及,实现目标业务流程模块其他测试功能的初始测试脚本;将测试组件添加至业务系统的公共测试组件库,并在初始测试脚本中添加测试组件的调用位置,得到目标业务流程模块的测试工具。本申请的方法,提高了自动化测试脚本的编写效率,进而提高了自动化测试的测试效率。
Description
技术领域
本申请涉及金融领域或其他领域,尤其涉及一种业务系统测试工具构建方法及业务系统测试方法。
背景技术
随着自动化测试技术的发展,越来越多的业务系统采用自动化测试以节省人力成本和时间成本。随着业务系统的迭代和开发,自动化测试脚本的数量越来越多,当业务系统规模足够大时,脚本库也随之越来越大。目前,自动化测试中每个测试案例均对应一个自动化测试脚本,该测试案例也只能对软件项目中的一个测试点进行测试,存在自动化测试脚本编写量大、测试效率低的问题。
因此,如何减小自动化测试脚本的编写量,提高测试效率是急需解决的问题。
发明内容
本申请提供一种业务系统测试工具构建方法及业务系统测试方法,用以解决如何减小自动化测试脚本的编写量,提高测试效率的问题。
第一方面,本申请提供一种业务系统测试工具构建方法,包括:
获取所述业务系统包括的业务场景,以及,所述业务场景对应的至少一个业务流程;所述业务流程包括至少一个业务流程模块;
确定所述至少一个业务流程中是否存在目标业务流程模块,所述目标业务流程模块执行的操作之间存在相同的操作;
若存在目标业务流程模块,则获取实现所述目标业务流程模块的测试功能的测试组件,以及,实现所述目标业务流程模块其他测试功能的初始测试脚本;
将所述测试组件添加至所述业务系统的公共测试组件库,并在所述初始测试脚本中添加所述测试组件的调用位置,得到所述目标业务流程模块的测试工具。
可选的,所述确定所述至少一个业务流程中是否存在目标业务流程模块,包括:
获取所述业务系统中执行所述业务流程生成的操作日志;
从所述操作日志中获取至少两个所述业务流程各业务流程模块的操作行为;
根据各业务流程模块的操作行为确定所述至少一个业务流程中是否存在目标业务流程模块。
可选的,所述确定所述至少一个业务流程中是否存在目标业务流程模块,包括:
获取所述至少一个业务流程中每个业务流程模块的测试点;
根据每个业务流程模块的测试点,确定所述至少一个业务流程中是否存在目标业务流程模块。
可选的,所述根据各业务流程模块的操作行为确定所述至少一个业务流程中是否存在目标业务流程模块,包括:
根据各业务流程模块的操作行为,确定是否存在操作同一数据库和/或数据表、且操作方式相同的多个业务模块;
若存在,则将多个业务模块作为目标业务流程模块。
可选的,所述获取实现所述目标业务流程模块的测试功能的测试组件,包括:
确定所述目标业务流程模块中是否存在已生成的测试组件;
若存在多个,则基于其中1个目标业务流程模块的测试功能的测试脚本生成测试组件,并删除所述目标业务流程模块的测试功能的测试脚本;
若不存在,则根据所述目标业务流程所需的测试功能生成所述测试组件。
可选的,所述根据所述目标业务流程所需的测试功能生成所述测试组件,包括:
根据所述目标业务流程所需的测试功能,从脚本库中获取至少一个对应测试功能的初始脚本;
根据所述初始脚本得到所述测试组件。
第二方面,本申请提供一种业务系统测试方法,包括:
获取业务系统的测试报文,以及,所述测试报文对应的预期结果;
根据所述测试报文,确定待测试的目标业务场景;
确定所述目标业务场景下至少一个目标业务流程对应的测试工具;所述测试工具为采用权利要求1-5任一项中所述的方法构建;
通过所述测试工具获取所述测试报文的测试结果;
根据所述测试结果,以及,所述预期结果,确定所述目标业务场景的测试结果。
第三方面,本申请提供一种业务系统测试工具构建装置,包括:
第一获取模块,用于获取所述业务系统包括的业务场景,以及,所述业务场景对应的至少一个业务流程;所述业务流程包括至少一个业务流程模块;
处理模块,用于确定所述至少一个业务流程中是否存在目标业务流程模块,所述目标业务流程模块执行的操作之间存在相同的操作;
第二获取模块,用于若存在目标业务流程模块,则获取实现所述目标业务流程模块的测试功能的测试组件,以及,实现所述目标业务流程模块其他测试功能的初始测试脚本;
生成模块,用于将所述测试组件添加至所述业务系统的公共测试组件库,并在所述初始测试脚本中添加所述测试组件的调用位置,得到所述目标业务流程模块的测试工具。
第四方面,本申请提供一种电子设备,包括:处理器、通信接口,以及存储器;所述处理器分别与所述通信接口和所述存储器通信连接;
所述存储器存储计算机执行指令;
所述通信接口与外部设备进行通信交互;
所述处理器执行所述存储器存储的计算机执行指令,以实现如第一方面或第二方面中任一项所述的方法。
第五方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面或第二方面中任一项所述的方法。
本申请提供的业务系统测试工具构建方法及业务系统测试方法,通过获取业务系统包括的业务场景,以及,该业务场景对应的至少一个业务流程,确定至少一个业务流程中是否存在目标业务流程模块,若存在目标业务流程模块,则获取实现该目标业务流程模块的测试功能的测试组件,以及,实现该目标业务流程模块其他测试功能的初始测试脚本。将测试组件添加至业务系统的公共测试组件库,并在初始测试脚本中添加该测试组件的调用位置,得到目标业务流程模块的测试工具。通过每个业务场景的统一流程框架,以及该公共测试组件库,使得维护人员无需重复编写可复用的自动化测试脚本,也无需根据每个业务流程单独编写该业务流程对应的流程框架,从而提高了自动化测试脚本的编写效率,进而提高了自动化测试的测试效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请提供的一种业务系统的结构示意图;
图2为本申请提供的一种业务系统测试工具构建方法的流程示意图;
图3为本申请提供的另一种业务系统测试工具构建方法的流程示意图;
图4为本申请提供的又一种业务系统测试工具构建方法的流程示意图;
图5为本申请提供的再一种业务系统测试工具构建方法的流程示意图;
图6为本申请提供的一种业务系统测试方法的流程示意图;
图7为本申请提供的一种业务系统测试工具构建装置的结构示意图;
图8为本申请提供的一种业务系统测试装置的结构示意图;
图9为本申请提供的一种电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
需要说明的是,本申请业务系统测试工具构建方法及业务系统测试方法可用于金融领域或其他领域,也可用于除金融领域或其他领域之外的任意领域,本申请业务系统测试工具构建方法及业务系统测试方法的应用领域不做限定。
在介绍本发明实施例之前,首先对本发明实施例涉及的名词进行介绍。
自动化测试:指把以人为驱动的测试行为转化为机器执行的一种过程,在此过程中,节省人力、时间或硬件资源,提高测试效率。
自动化测试案例:指对一项特定的软件产品进行测试任务的描述,体现测试方案、测试方法、技术和策略,内容包括测试目标、测试环境、输入数据、测试步骤、预期结果和测试脚本,并形成文档。
自动化测试脚本:一个特定测试的一系列指令,这些指令能够被自动化测试工具执行,自动化测试通过自动化测试脚本的编制,实现案例的自动化测试。
为了便于理解,下面对目前对业务系统进行自动化测试的流程进行说明。图1为本申请提供的一种业务系统的结构示意图。如图1所示,该业务系统中包括至少一个业务场景,每个业务场景下包括至少一个业务流程,每个业务流程中包括至少一个测试点。
业务系统的维护人员或开发人员根据该业务系统包括的业务场景、每个业务场景中包括的业务流程,确定需要进行测试的测试点,该测试点例如可以是用于对该业务系统的一个或多个功能进行测试,或者是对该业务系统的安全性进行测试、或者是对该业务系统的稳定性、性能、兼容性等进行测试。这些测试点可以分布在各个业务场景中,在同一个业务场景中,该测试点可以分布在不同的业务流程中。
业务系统的维护人员或开发人员根据这些测试点的测试需求,为该测试点编写该测试点对应的自动化测试脚本,并将这些自动化测试脚本存储在自动化测试工具的脚本库中。在需要进行自动化测试时,自动化测试工具分别调用这些自动化测试脚本,对相应的测试点进行测试。
然而,在编写自动化脚本过程中,维护人员或开发人员需要为该业务系统中的所有测试点编写对应的自动化测试脚本,随着业务系统的迭代和开发,需要编写的自动化测试脚本的数量也会越来越多,导致存在自动化测试脚本编写量大的问题。此外,在现有的方法下,脚本库中的自动化测试脚本的数量较大,占用较多的存储空间,且在自动化测试时确定与测试点对应的自动化脚本的效率较低,导致存在自动化测试的测试效率较低的问题。
有鉴于此,本申请提供一种业务系统测试工具构建方法及业务系统测试方法,通过对多个业务场景、多个业务流程中的公共功能的解析,构建包括业务流程框架和公共测试组件的业务系统测试工具,并通过该业务系统测试工具对该业务系统中的测试点进行自动化测试,从而降低自动化测试脚本编写量,提高自用化测试的效率。
下面以金融业务系统中的银行业务系统为例,通过具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
首先对业务系统测试工具的构建方法进行说明。该业务系统测试工具的构建方法的执行主体可以是实现该业务系统测试工具的构建方法的终端设备,或者是该终端设备的芯片。当执行主体为终端设备时,该终端设备例如可以是电脑、平板电脑、手机等具备数据处理能力的计算设备。该计算设备上可以部署有运行该业务系统测试工具的构建方法方法的软件或程序代码,通过该软件或程序代码构建该业务系统测试工具。
图2为本申请实施例提供的一种业务系统测试工具构建方法的流程示意图。如图2所示,该方法可以包括:
S201、获取业务系统包括的业务场景,以及,该业务场景对应的至少一个业务流程。
其中,该业务场景例如可以包括支付清算业务场景、信贷业务场景、理财业务场景等。在每个业务场景中,包括至少一个业务流程,该业务流程包括至少一个业务流程模块。例如,支付清算业务场景可以包括支付业务流程,在该支付业务流程中,可以包括接收报文模块、解析报文模块、借贷方渠道判断模块、反洗钱检查模块、报文验证模块、费用处理模块、记账模块、报文修复模块、组报发报模块等。
一种可能的实现方式,该业务场景、业务流程、业务流程模块为预先设置在该业务系统中的,例如可以是预先存储在该业务系统中对应的文件下,从该文件中获取该业务系统包括的业务场景,以及,该业务场景对应的至少一个业务流程即可。或者,该业务场景、业务流程、业务流程模块的对应关系是该业务系统的维护人员人工分析获得,并输入该具备业务系统测试工具的构建能力的终端设备中的。
另一种可能的实现方式,通过埋点分析获取该业务场景,以及,该业务场景对应的至少一个业务流程。该业务系统中预制了埋点策略,以获取该业务系统中的用户操作行为和用户操作的业务特征。获取该业务系统中的历史埋点数据,根据该历史埋点数据确定用户操作的业务特征,根据该业务特征确定该业务系统中包括的业务场景,根据该业务特征对应的用户操作行为,确定该业务场景对应的业务流程包括的业务流程模块。
S202、确定至少一个业务流程中是否存在目标业务流程模块,若存在目标业务流程模块,则表征存在需要复用的测试组件,执行步骤S203;若不存在目标业务流程模块,则表征不存在需要复用的测试组件。
其中,该目标业务流程模块执行的操作之间存在相同的操作。例如在与报文相关的业务流程模块的操作中,这些业务流程模块均需要获取报文编号,则该获取报文编号即为这些业务流程模块之间执行的操作中存在相同的操作。再例如,在报文处理、费用处理等业务流程模块中,需要进行多次反洗钱检查,则该反洗钱检查则为该相同的操作。
一种可能的实现方式,通过业务系统中执行业务流程生成的操作日志确定该至少一个业务流程中是否存在目标业务流程模块。
另一种可能的实现方式,根据该业务系统中业务流程的测试点确定该至少一个业务流程中是否存在目标业务流程模块。
S203、获取实现该目标业务流程模块的测试功能的测试组件,以及,实现该目标业务流程模块其他测试功能的初始测试脚本。
该测试组件和初始测试脚本可以是业务系统的开发人员预先编写好的,根据该目标业务流程模块的测试功能,以及,该测试功能与测试脚本之间的映射关系,确定每个测试功能对应的测试脚本。将实现该目标业务流程模块的测试功能的测试脚本生成该测试组件,该测试组件可通过模块化的方式被调用至测试脚本中的任意位置,以在该测试脚本中实现对该测试组件对应的测试功能的测试。
该测试组件和初始测试脚本也可以是开发人员根据每个测试功能进行编写后,将其输入该测试功能对应的测试脚本位置。
S204、将测试组件添加至业务系统的公共测试组件库,并在初始测试脚本中添加该测试组件的调用位置,得到目标业务流程模块的测试工具。
其中,该公共测试组件库中包括该业务系统中所有业务场景下的所有业务流程中涉及的可复用的测试组件,该可复用指该测试组件在至少两个业务流程模块中能够被复用,以用于对该两个业务流程模块中相同的操作进行测试。当该初始测试脚本执行到需要调用该测试组件时,根据该测试组件的调用位置,从该公共测试组件库中调用该测试组件,以对该测试组件对应的测试功能进行测试。
可选的,在获取目标业务流程模块的测试工具后,还可以构建该目标业务流程模块所在的业务场景的统一流程框架,该业务场景的统一流程框架用于涵盖该业务场景下的所有业务流程,即无需对每个业务流程单独编写流程框架。根据该业务场景下的所有测试点,以及每个测试点对应的业务流程模块的测试工具编排入该统一流程框架中,从而在对该业务场景进行自动化测试时,直接调用该统一流程框架即可实现对该业务场景的自动化测试。
本申请提供的业务系统测试工具构建方法,通过获取业务系统包括的业务场景,以及,该业务场景对应的至少一个业务流程,确定至少一个业务流程中是否存在目标业务流程模块,若存在目标业务流程模块,则获取实现该目标业务流程模块的测试功能的测试组件,以及,实现该目标业务流程模块其他测试功能的初始测试脚本。将测试组件添加至业务系统的公共测试组件库,并在初始测试脚本中添加该测试组件的调用位置,得到目标业务流程模块的测试工具。通过每个业务场景的统一流程框架,以及该公共测试组件库,使得维护人员无需重复编写可复用的自动化测试脚本,也无需根据每个业务流程单独编写该业务流程对应的流程框架,从而提高了自动化测试脚本的编写效率,进而提高了自动化测试的测试效率。
下面,对于前述步骤S202中如何确定至少一个业务流程中是否存在目标业务流程模块进行详细说明。
实现方式A:通过业务系统中执行业务流程生成的操作日志确定。
图3为本申请实施例提供的另一种业务系统测试工具构建方法的流程示意图。如图3所示,前述步骤S202可以包括:
S301、获取业务系统中执行业务流程生成的操作日志。
其中,该操作日志中包括该业务系统执行该业务流程的全流程的操作行为,根据该操作行为能够判断该业务流程中包括的业务流程模块,以及,业务流程模块执行的操作。该操作日志可以是从该业务系统中抓取的,也可以是该业务系统根据操作日志获取请求,将该获取请求对应的业务场景、业务流程的操作日志返回的。
S302、从操作日志中获取至少两个业务流程各业务流程模块的操作行为。
其中,该操作行为可以是用户的操作行为,也可以是该业务系统的操作行为。该用户的操作行为例如可以是业务系统响应于用户的操作,对数据进行处理,例如接受用户发送的报文,根据用户的操作变更用户的信息等;该业务系统的操作行为可以包括解析报文、借贷方渠道判断、反洗钱检查、报文验证等行为。
一种可能的实现方式,根据该操作日志中的业务流程模块标识,确定各业务流程模块的操作行为。在该实现方式下,该操作日志中包括每个业务流程模块的标识,以表明每一部分操作日志对应的业务流程模块,根据该标识,可以从该操作日志中获取各业务流程模块的操作行为。
另一种可能的实现方式,从操作日志中提取操作行为特征,根据该操作行为特征确定该操作行为对应的业务流程模块。例如可以通过预先训练好的深度学习模型,对该操作行为特征进行匹配,确定该操作行为特征对应的操作行为的业务流程模块。该深度学习模型可以为现有的任一种深度学习模型,该深度学习过程可以参照现有技术,此处不再赘述。
S303、根据各业务流程模块的操作行为确定至少一个业务流程中是否存在目标业务流程模块。
一种可能的实现方式,依次遍历各业务流程模块的操作行为,并将每个业务流程模块的操作行为与其他业务流程模块的操作行为进行匹配,若存在相同的操作行为,则表征该至少一个业务流程中存在目标业务流程模块。若不存在相同的操作行为,则表征该至少一个业务流程中不存在目标业务流程模块。
另一种可能的实现方式,获取所有业务流程模块的操作行为,根据操作行为的类别对操作行为进行标记,将重复标记的操作行为作为目标业务流程模块的判断标准。
在上述两种实现方式下,根据操作行为操作的数据库和/或数据表、操作方式确定是否存在相同的多个业务模块。根据各业务流程模块的操作行为,确定是否存在操作同一数据库和/或数据表、且操作方式相同的多个业务模块。在该操作行为中,获取该操作行为操作的数据库和/或数据表的操作,根据该操作中涉及的调用数据库和/或数据表的标识,确定是否调用相同的数据库和/或数据表,若是,则进一步判断该操作该数据库和/或数据表的操作方式,例如可以通过写入、读取、修改等方式判断是否为同一种操作方式,也可以根据操作的数据库和/或数据表中的数据是否为同一个数据判断是否为同一种操作方式。若存在操作同一数据库和/或数据表、且操作方式相同的多个业务模块,则将该多个业务模块作为目标业务流程模块。
实现方式B:根据该业务系统中业务流程的测试点确定。
图4为本申请实施例提供的又一种业务系统测试工具构建方法的流程示意图。如图4所示,前述步骤S202可以包括:
S401、获取至少一个业务流程中每个业务流程模块的测试点。
其中,该测试点包括该业务流程模块中需要测试的功能,每个业务流程模块中可以包括至少一个测试点。该测试点的信息中可以包括指示该需要测试的功能的描述信息。该测试点可以存储在该业务系统中的测试点文件中,通过该测试点对应的业务流程模块,以及,该业务流程模块对应的业务流程,以及,该业务流程对应的业务场景进行分类存储。可以直接从该测试点文件中获取该测试点。
S402、根据每个业务流程模块的测试点,确定至少一个业务流程中是否存在目标业务流程模块。
一种可能的实现方式,根据该测试点信息中包括的指示该需要测试的功能的描述信息,确定该至少一个业务流程中是否存在目标业务流程模块。例如可以通过对该描述信息进行分词,将该分词结果输入至自然语言处理(Natural Language Processing,NLP)模型中进行匹配,将匹配度大于预设匹配阈值的测试点作为相同的测试点,若存在至少两个不同的业务流程中存在相同的测试点,则确定至少一个业务流程中存在目标业务流程模块。
另一种可能的实现方式,根据该测试点的标识,确定该至少一个业务流程中是否存在目标业务流程模块。该标识例如可以是该测试点的名称、编号等,相同的测试点对应相同的标识。例如,反洗钱检查测试点的名称包括“反洗钱检查”,则若其他业务流程中也包括“反洗钱检查”的测试点,则确定至少一个业务流程中存在目标业务流程模块。
本申请实施例提供的业务系统测试工具构建方法,通过业务系统中执行业务流程生成的操作日志,和/或,该业务系统中业务流程的测试点确定至少一个业务流程中是否存在目标业务流程模块,实现根据业务系统中现有的数据,自动识别目标业务流程模块,从而提高了构建业务系统测试工具的智能化和构建效率。
下面,对于前述步骤S203中如何获取实现目标业务流程模块的测试功能的测试组件进行详细说明。图5为本申请实施例提供的再一种业务系统测试工具构建方法的流程示意图。如图5所示,前述步骤S203可以包括:
S501、确定目标业务流程模块中是否存在已生成的测试组件,若存在多个,则表征存在重复的可复用测试脚本,执行步骤S502;若不存在,则表征需要新生成该测试组件,执行步骤S503。
检测每个目标业务流程模块中是否存在已生成的测试组件,若仅有一个目标业务流程模块中存在已生成的测试组件,则将该测试组件添加至业务系统的公共测试组件库中。若存在多个目标业务流程模块中存在已生成的测试组件,表征有重复的可复用测试脚本,可以删除多余的可复用测试脚本,以降低测试脚本数量。若不存在,则表明该测试功能目前不存在对应的测试脚本生成的测试组件,需要生成该测试组件。
该测试组件是由对应的测试脚本生成的,该测试脚本用于对该测试点进行测试。可以通过确定目标业务流程模块之间存在的相同的操作对应的测试点是否具备对应的测试组件,确定每个目标业务流程模块中是否存在已生成的测试组件。
S502、基于其中1个目标业务流程模块的测试功能的测试脚本生成测试组件,并删除目标业务流程模块的测试功能的测试脚本。
其中,该1个目标业务流程模块的测试功能的测试脚本可以是该目标业务流程模块中任一个业务流程模块的测试脚本,本申请对此不做限制。基于该测试脚本,生成该测试功能的测试组件,并删除该目标业务流程模块之外的其他目标业务流程模块中该测试功能的测试脚本。
将该测试脚本进行封装,即将该测试脚本模块化,并提供该测试脚本的调用接口,从而生成测试组件,以使该业务系统测试工具能够在自动化测试时调用该测试组件。
S503、根据目标业务流程所需的测试功能生成测试组件。
一种可能的实现方式,可以通过获取该测试功能,并将其输出至业务系统维护人员的终端设备,在维护人员完成测试组件的构建后,接收该测试组件,已完成测试组件的生成。或者,根据该测试功能,以及,该测试功能与测试组件模块化代码的映射关系,确定该测试功能对应的测试组件模块化代码,并将该测试组件模块化代码进行拼装,从而生成该测试组件。
另一种可能的实现方式,根据初始脚本获取该测试组件。
S5031、根据目标业务流程所需的测试功能,从脚本库中获取至少一个对应测试功能的初始脚本。
其中,该脚本库中包括所有测试功能的初始脚本,根据该测试功能,以及,该测试功能与初始脚本的映射关系,确定该测试功能对应的初始脚本。例如可以通过测试功能的标识和初始脚本的标识进行匹配,或者通过测试功能的描述信息和初始脚本的描述信息进行匹配等。
可选的,该脚本库还可以根据业务场景、业务流程、业务流程模块的方式,结构化存储初始脚本,根据该测试功能所属的业务场景、业务流程、业务流程模块,到对应的业务流程模块中匹配该初始脚本,从而通过结构化存储的方式,进一步提升匹配效率。
S5032、根据初始脚本得到测试组件。
该根据初始脚本得到测试组件的方式与前述步骤S502中基于其中1个目标业务流程模块的测试功能的测试脚本生成测试组件的方法相似,此处不再赘述。
本身为实施例提供的业务系统测试工具构建方法,通过对目标业务流程模块中是否存在已生成的测试组件进行判断,删除重复的可复用测试脚本,或者,在没有可复用测试脚本时根据测试功能对应的初始脚本生成可复用测试脚本对应的测试组件,从而减少了冗余的测试脚本,降低了测试脚本数量,提升了测试效率。
下面接着对业务系统测试方法进行说明。该业务系统测试方法的执行主体可以是部署了该业务系统的测试系统的终端设备,或者是该业务系统的测试环境所在的终端设备,或者是该终端设备的芯片。当执行主体为终端设备时,该终端设备例如可以是电脑、平板电脑、手机等具备数据处理能力的计算设备。该计算设备上可以部署有运行该业务系统测试方法的软件或程序代码,通过该软件或程序代码对该业务系统进行自动化测试。
图6为本申请实施例提供的一种业务系统测试方法的流程示意图。如图6所示,该方法可以包括:
S601、获取业务系统的测试报文,以及,测试报文对应的预期结果。
其中,该测试报文中包括自动化测试所需的测试案例,以及该测试案例中的测试字段。该测试报文用于将该测试案例输入至该业务系统的测试环境中,对该业务系统中的功能进行测试。该测试报文对应的预期结果可以是业务系统的维护人员根据实际需求确定的,该预期结果包括每个测试字段在经过业务系统的测试环境处理后,维护人员希望得到的测试结果。
该测试报文,以及,测试报文对应的预期结果可以是根据该业务系统的测试环境预设的输入格式和数据入口进入该测试环境的。例如可以将该测试报文、测试报文对应的预期结果、测试报文的测试路径生成测试案例码表,通过读取该测试案例码表,获取该业务系统的测试报文,以及,测试报文对应的预期结果。
在该实现方式下,该测试案例码表可以根据该业务场景的统一流程框架设置,即可以包括针对多个测试点的多个测试案例的测试报文,以及,这些测试报文对应的预期结果,从而覆盖该业务场景下的所有业务流程的测试点。当该业务系统更新或迭代后,仅需根据该业务系统的更新内容,对该测试案例码表中的测试案例进行相应的更新,即可快速完成更新后的业务系统的测试案例码表的构建。
S602、根据测试报文,确定待测试的目标业务场景。
一种可能的实现方式,根据该测试报文中的测试案例对应的业务场景,或者,测试点,确定待测试的目标业务场景。当根据测试点时,可以根据该测试点对应的业务场景,确定该目标业务场景。
另一种可能的实现方式,根据该测试报文对应的测试报文路径,确定该测试报文对应的待测试的目标业务场景。其中,该测试报文路径存储在该测试报文对应的测试案例码表中,在接收该测试报文时,同时获取该测试报文路径,按照该测试报文路径将该测试报文分配至该待测试的目标业务场景。
S603、确定目标业务场景下至少一个目标业务流程对应的测试工具。
其中,该测试工具为采用前述业务系统测试工具构建方法构建的。根据该测试报文中的测试案例对应的测试点,或者,该测试报文对应的测试报文路径,确定该测试报文对应的目标业务流程,根据该目标业务流程,获取该目标业务流程对应的测试工具。
S604、通过测试工具获取测试报文的测试结果。
通过该测试工具对该测试报文进行解析,获得该测试报文的测试案例,以及,测试案例对应的测试字段。通过该测试工具对该测试案例进行处理,获得各测试字段的测试结果,并根据该各测试字段的测试结果生成该测试报文的测试结果。
S605、根据测试结果,以及,预期结果,确定目标业务场景的测试结果。
将该测试结果和该测试报文对应的预期结果进行对比校验,若校验通过,则表征该目标业务场景的自动化测试通过;若校验不通过,则表征该目标业务场景的自动化测试不通过。例如,可以根据该测试结果和该测试报文对应的预期结果之间的差异比例确定,若超过预设比例阈值,则校验不通过,若不超过预设比例阈值,则校验通过。
本申请实施例提供的业务系统测试方法,通过采用如前述业务系统测试工具构建方法构建的测试工具,以及,测试报文,对业务系统中的目标业务场景进行自动化测试,并根据预期测试结果和测试结果的对比,确定该目标业务场景是否通过测试。由于该测试工具中包括可复用的公共测试组件,其自动化测试脚本的数量较少,在测试时只需要直接调用该公共测试组件即可,通过减少测试时所需匹配的测试脚本的数量,降低匹配时间,从而提升了测试效率。
图7为本申请实施例提供的一种业务系统测试工具构建装置的结构示意图。如图7所示,该装置可以包括:第一获取模块11,处理模块12,第二获取模块13,生成模块14。
第一获取模块11,用于获取该业务系统包括的业务场景,以及,该业务场景对应的至少一个业务流程。该业务流程包括至少一个业务流程模块。
处理模块12,用于确定该至少一个业务流程中是否存在目标业务流程模块,该目标业务流程模块执行的操作之间存在相同的操作。
第二获取模块13,用于若存在目标业务流程模块,则获取实现该目标业务流程模块的测试功能的测试组件,以及,实现该目标业务流程模块其他测试功能的初始测试脚本。
生成模块14,用于将该测试组件添加至该业务系统的公共测试组件库,并在该初始测试脚本中添加该测试组件的调用位置,得到该目标业务流程模块的测试工具
在一种可能的实现方式下,第一获取模块11,具体用于获取该业务系统中执行该业务流程生成的操作日志。从该操作日志中获取至少两个该业务流程各业务流程模块的操作行为。处理模块12,具体用于根据各业务流程模块的操作行为确定该至少一个业务流程中是否存在目标业务流程模块。
在该实现方式下,处理模块12,具体用于根据各业务流程模块的操作行为,确定是否存在操作同一数据库和/或数据表、且操作方式相同的多个业务模块。若存在,则将多个业务模块作为目标业务流程模块。
在另一种可能的实现方式下,包括:第一获取模块11,具体用于获取该至少一个业务流程中每个业务流程模块的测试点。处理模块12,具体用于根据每个业务流程模块的测试点,确定该至少一个业务流程中是否存在目标业务流程模块。
在上述任一种实现方式下,可选的,第二获取模块13,具体用于确定该目标业务流程模块中是否存在已生成的测试组件。若存在多个,则基于其中1个目标业务流程模块的测试功能的测试脚本生成测试组件,并删除该目标业务流程模块的测试功能的测试脚本。若不存在,则根据该目标业务流程所需的测试功能生成该测试组件。
其中,可选的,第二获取模块13,具体用于根据该目标业务流程所需的测试功能,从脚本库中获取至少一个对应测试功能的初始脚本。根据该初始脚本得到该测试组件。
本申请实施例提供的一种业务系统测试工具构建装置,可以执行上述方法实施例中部署了业务系统测试工具构建方法的终端设备的动作,其实现原理和技术效果类似,在此不再赘述。
图8为本申请实施例提供的一种业务系统测试装置的结构示意图。如图8所示,该装置可以包括:获取模块21,处理模块22。
获取模块21,用于获取业务系统的测试报文,以及,该测试报文对应的预期结果。
处理模块22,用于根据该测试报文,确定待测试的目标业务场景。确定该目标业务场景下至少一个目标业务流程对应的测试工具。该测试工具为采用业务系统测试工具构建中任一项方法构建的。通过该测试工具获取该测试报文的测试结果。根据该测试结果,以及,该预期结果,确定该目标业务场景的测试结果。
本申请实施例提供的一种业务系统测试装置,可以执行上述方法实施例中部署了业务系统测试方法的终端设备的动作,其实现原理和技术效果类似,在此不再赘述。
图9为本申请实施例提供的一种电子设备的结构示意图。其中,该电子设备用于执行前述所说的业务系统测试工具构建方法,或业务系统测试方法,例如可以是前述所说的终端设备。如图9所示,该电子设备900可以包括:至少一个处理器901、存储器902、通信接口903。
存储器902,用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。
存储器902可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器901用于执行存储器902存储的计算机执行指令,以实现前述方法实施例所描述的方法。其中,处理器901可能是一个CPU,或者是特定集成电路(ApplicationSpecific Integrated Circuit,简称为ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。
处理器901通过通信接口903可以与外部设备进行通信交互,外部设备例如可以是前述所说的维护人员的终端设备等。在具体实现上,如果通信接口903、存储器902以及处理器901独立实现,则通信接口903、存储器902以及处理器901可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称为EISA)总线等。总线可以分为地址总线、数据总线、控制总线等,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果通信接口903、存储器902和处理器901集成在一块芯片上实现,则通信接口903、存储器902和处理器901可以通过内部接口完成通信。
本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁盘或者光盘等各种可以存储程序代码的介质,具体的,该计算机可读存储介质中存储有程序指令,程序指令用于上述实施例中的方法。
本申请还提供了一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。计算设备的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得计算设备实施上述业务系统测试工具构建方法和/或业务系统测试方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (10)
1.一种业务系统测试工具构建方法,其特征在于,包括:
获取所述业务系统包括的业务场景,以及,所述业务场景对应的至少一个业务流程;所述业务流程包括至少一个业务流程模块;
确定所述至少一个业务流程中是否存在目标业务流程模块,所述目标业务流程模块执行的操作之间存在相同的操作;
若存在目标业务流程模块,则获取实现所述目标业务流程模块的测试功能的测试组件,以及,实现所述目标业务流程模块其他测试功能的初始测试脚本;
将所述测试组件添加至所述业务系统的公共测试组件库,并在所述初始测试脚本中添加所述测试组件的调用位置,得到所述目标业务流程模块的测试工具。
2.根据权利要求1所述的方法,其特征在于,所述确定所述至少一个业务流程中是否存在目标业务流程模块,包括:
获取所述业务系统中执行所述业务流程生成的操作日志;
从所述操作日志中获取至少两个所述业务流程各业务流程模块的操作行为;
根据各业务流程模块的操作行为确定所述至少一个业务流程中是否存在目标业务流程模块。
3.根据权利要求1所述的方法,其特征在于,所述确定所述至少一个业务流程中是否存在目标业务流程模块,包括:
获取所述至少一个业务流程中每个业务流程模块的测试点;
根据每个业务流程模块的测试点,确定所述至少一个业务流程中是否存在目标业务流程模块。
4.根据权利要求2所述的方法,其特征在于,所述根据各业务流程模块的操作行为确定所述至少一个业务流程中是否存在目标业务流程模块,包括:
根据各业务流程模块的操作行为,确定是否存在操作同一数据库和/或数据表、且操作方式相同的多个业务模块;
若存在,则将多个业务模块作为目标业务流程模块。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述获取实现所述目标业务流程模块的测试功能的测试组件,包括:
确定所述目标业务流程模块中是否存在已生成的测试组件;
若存在多个,则基于其中1个目标业务流程模块的测试功能的测试脚本生成测试组件,并删除所述目标业务流程模块的测试功能的测试脚本;
若不存在,则根据所述目标业务流程所需的测试功能生成所述测试组件。
6.根据权利要求5所述的方法,其特征在于,所述根据所述目标业务流程所需的测试功能生成所述测试组件,包括:
根据所述目标业务流程所需的测试功能,从脚本库中获取至少一个对应测试功能的初始脚本;
根据所述初始脚本得到所述测试组件。
7.一种业务系统测试方法,其特征在于,包括:
获取业务系统的测试报文,以及,所述测试报文对应的预期结果;
根据所述测试报文,确定待测试的目标业务场景;
确定所述目标业务场景下至少一个目标业务流程对应的测试工具;所述测试工具为采用权利要求1-5任一项中所述的方法构建;
通过所述测试工具获取所述测试报文的测试结果;
根据所述测试结果,以及,所述预期结果,确定所述目标业务场景的测试结果。
8.一种业务系统测试工具构建装置,其特征在于,包括:
第一获取模块,用于获取所述业务系统包括的业务场景,以及,所述业务场景对应的至少一个业务流程;所述业务流程包括至少一个业务流程模块;
处理模块,用于确定所述至少一个业务流程中是否存在目标业务流程模块,所述目标业务流程模块执行的操作之间存在相同的操作;
第二获取模块,用于若存在目标业务流程模块,则获取实现所述目标业务流程模块的测试功能的测试组件,以及,实现所述目标业务流程模块其他测试功能的初始测试脚本;
生成模块,用于将所述测试组件添加至所述业务系统的公共测试组件库,并在所述初始测试脚本中添加所述测试组件的调用位置,得到所述目标业务流程模块的测试工具。
9.一种电子设备,其特征在于,包括:处理器、通信接口,以及存储器;所述处理器分别与所述通信接口和所述存储器通信连接;
所述存储器存储计算机执行指令;
所述通信接口与外部设备进行通信交互;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311036129.3A CN117076303A (zh) | 2023-08-16 | 2023-08-16 | 业务系统测试工具构建方法及业务系统测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311036129.3A CN117076303A (zh) | 2023-08-16 | 2023-08-16 | 业务系统测试工具构建方法及业务系统测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117076303A true CN117076303A (zh) | 2023-11-17 |
Family
ID=88710908
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311036129.3A Pending CN117076303A (zh) | 2023-08-16 | 2023-08-16 | 业务系统测试工具构建方法及业务系统测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117076303A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118427108A (zh) * | 2024-07-04 | 2024-08-02 | 蒲惠智造科技股份有限公司 | 用于SaaS软件的操作技能测试方法及系统 |
-
2023
- 2023-08-16 CN CN202311036129.3A patent/CN117076303A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118427108A (zh) * | 2024-07-04 | 2024-08-02 | 蒲惠智造科技股份有限公司 | 用于SaaS软件的操作技能测试方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20080178047A1 (en) | Software Test System, Method, And Computer Readable Recording Medium Having Program Stored Thereon For Executing the Method | |
CN109597754B (zh) | 业务流程性接口测试方法、装置、计算机设备及存储介质 | |
CN107145437B (zh) | 一种java注解测试方法及装置 | |
CN112052172A (zh) | 第三方通道的快速测试方法、装置和电子设备 | |
CN117076303A (zh) | 业务系统测试工具构建方法及业务系统测试方法 | |
CN108170465A (zh) | 一种版本信息管理方法、电子设备及可读存储介质 | |
CN112579455B (zh) | 一种接口自动化测试方法、装置、电子设备及存储介质 | |
CN113886232A (zh) | 接口测试数据和测试脚本生成方法、终端设备及存储介质 | |
CN111124870A (zh) | 一种接口测试方法及装置 | |
CN110716866A (zh) | 代码质量扫描方法、装置、计算机设备及存储介质 | |
CN113255929A (zh) | 异常用户可解释原因的获取方法和装置 | |
CN117495544A (zh) | 一种基于沙箱的风控评估方法、系统、终端及存储介质 | |
CN117493188A (zh) | 接口测试方法及装置、电子设备及存储介质 | |
CN110134579B (zh) | 代码检查方法和装置 | |
CN112370773A (zh) | 用户积分数值对账测试方法及系统 | |
CN113805861B (zh) | 基于机器学习的代码生成方法、代码编辑系统及存储介质 | |
CN113704123A (zh) | 接口测试方法、装置、设备以及存储介质 | |
CN113515452A (zh) | 应用的自动测试方法、系统、电子设备及存储介质 | |
CN112148353A (zh) | 一种数据处理方法及装置 | |
CN112380118A (zh) | 单元测试方法、装置、介质及电子设备 | |
CN101251824B (zh) | 测试公共对象请求代理结构的方法和测试工具 | |
CN118152292A (zh) | 一种批量测试方法、装置、设备及介质 | |
CN117950671A (zh) | 代码生成方法、装置、电子设备及存储介质 | |
CN117931837A (zh) | 数据查询方法、装置、终端设备及计算机可读存储介质 | |
CN116414372A (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 |