CN111367818A - 基于动态数据返回的系统组件测试方法及装置 - Google Patents

基于动态数据返回的系统组件测试方法及装置 Download PDF

Info

Publication number
CN111367818A
CN111367818A CN202010234683.2A CN202010234683A CN111367818A CN 111367818 A CN111367818 A CN 111367818A CN 202010234683 A CN202010234683 A CN 202010234683A CN 111367818 A CN111367818 A CN 111367818A
Authority
CN
China
Prior art keywords
transaction
dynamic
message
return
system component
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.)
Granted
Application number
CN202010234683.2A
Other languages
English (en)
Other versions
CN111367818B (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.)
CCB Finetech Co Ltd
Original Assignee
China Construction Bank Corp
CCB Finetech 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 China Construction Bank Corp, CCB Finetech Co Ltd filed Critical China Construction Bank Corp
Priority to CN202010234683.2A priority Critical patent/CN111367818B/zh
Publication of CN111367818A publication Critical patent/CN111367818A/zh
Application granted granted Critical
Publication of CN111367818B publication Critical patent/CN111367818B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/3684Test management for test design, e.g. generating new test cases
    • 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

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

基于动态数据返回的系统组件测试方法及装置
技术领域
本发明涉及软件测试领域,尤其涉及一种基于动态数据返回的系统组件测试方法及装置。
背景技术
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
随着金融科技的迅速发展,互联网技术的不断创新,银行IT系统在确保业务服务稳定的情况下,往往还需要采用一些技术手段来确保业务交易的安全性。软件系统集成测试是确保银行IT系统安全稳定的主要手段。通常,银行内部拥有成千上万个软件系统,且每个软件系统的上下游组件各异,在进行软件系统集成测试之前,不仅需要对交易全链路上所有组件进行系统集成,而且还需要对各组件进行数据迁移,以确保测试数据的一致性。这极大增加了软件系统集成测试的前期准备工作量,浪费测试人员的时间,且很难定位测试过程中出现的问题。
目前,现有软件系统集成测试方法,采用如下两种方式来测试各系统组件的性能:
方式一:修改系统组件的交易接口访问路径,使其指向该系统组件内部的某个目录,配置该目录下的交易返回报文,以测试该系统组件的交易接口服务性能;
方式二,申请一台接入服务器部署系统组件的下游环境,配置相关服务,修改该系统组件的交易接口访问路径,使其指向该接入服务器,以测试该组件的交易接口服务性能。
经分析,现有软件系统集成测试方法存在如下缺点:①方式一需要对系统组件的内部代码结构进行修改,修改过程中出现的问题,可能导致系统组件在生产环境出现生产事故;②方式二需要申请额外的硬件资源支持部署系统组件的下游环境,会增大硬件资源的开销,提高软件系统集成测试成本;③上述两种方式均采用静态数据返回方式返回交易响应报文,无法根据不同的交易请求报文进行动态配置,灵活性较差;④上述两种方式都没有统一平台来对各系统组件的测试进行一体化或系统化管理,软件系统集成测试管理难度大。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例中提供了一种基于动态数据返回的系统组件测试方法,用以解决现有软件系统集成测试方法,需要修改组件内部代码结构或申请额外硬件资源,存在安全性低、成本高且灵活性差的技术问题,该方法包括:获取对待测试系统组件进行测试的交易请求报文;根据交易请求报文,识别当前测试交易业务的交易码;根据交易码,调用对应的动态配置信息,生成交易请求报文对应的交易返回报文,其中,动态配置信息用于动态生成交易码对应的交易返回报文;根据交易请求报文对应的交易返回报文,对待测试系统组件进行测试。
本发明实施例中还提供了一种基于动态数据返回的系统组件测试装置,用以解决现有软件系统集成测试方法,需要修改组件内部代码结构或申请额外硬件资源,存在安全性低、成本高且灵活性差的技术问题,该装置包括:交易请求报文获取模块,用于获取对待测试系统组件进行测试的交易请求报文;交易码识别模块,用于根据交易请求报文,识别当前测试交易业务的交易码;交易返回报文生成模块,用于根据交易码,调用对应的动态配置信息,生成交易请求报文对应的交易返回报文,其中,动态配置信息用于动态生成交易码对应的交易返回报文;系统组件测试模块,用于根据交易请求报文对应的交易返回报文,对待测试系统组件进行测试。
本发明实施例中还提供了一种计算机设备,用以解决现有软件系统集成测试方法,需要修改组件内部代码结构或申请额外硬件资源,存在安全性低、成本高且灵活性差的技术问题,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述基于动态数据返回的系统组件测试方法。
本发明实施例中还提供了一种计算机可读存储介质,用以解决现有软件系统集成测试方法,需要修改组件内部代码结构或申请额外硬件资源,存在安全性低、成本高且灵活性差的技术问题,该计算机可读存储介质存储有执行上述基于动态数据返回的系统组件测试方法的计算机程序。
本发明实施例中,通过预先为不同的交易业务,提供动态生成交易返回报文的动态配置信息,并与相应交易业务的交易码关联,在获取到对待测试系统组件进行测试的交易请求报文后,根据交易请求报文,识别当前测试交易业务的交易码,进而根据交易码,调用对应的动态配置信息,动态生成交易请求报文对应的交易返回报文,以便根据动态生成的交易返回报文,对待测试系统组件进行测试。
通过本发明实施例,在对系统组件进行测试时,无需修改待测试系统组件的内部代码,提高了测试安全性;无需申请额外的服务器来部署下游环境系统,降低了测试成本;基于交易码对应的动态配置信息,根据不同的交易请求报文动态生成相应的交易返回报文,针对同一交易业务,能够实现配置一次即可满足多种测试场景的需求,提高了系统组件的测试效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中提供的一种基于动态数据返回的系统组件测试方法流程图;
图2为本发明实施例中提供的一种动态配置文件目录示意图;
图3为本发明实施例中提供的一种动态替换报文示意图;
图4为本发明实施例中提供的一种关联替换报文示意图;
图5为本发明实施例中提供的一种关联替换报文配置示意图;
图6为本发明实施例中提供的一种动态配置文件示意图;
图7为本发明实施例中提供的一种动态配置文件的配置流程;
图8为本发明实施例中提供的一种对系统组件测试的数据初始化示意图;
图9为本发明实施例中提供的一种对系统组件测试的数据处理系统示意图;
图10为本发明实施例中提供的一种基于动态数据返回的系统组件测试装置示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
在本说明书的描述中,所使用的“包含”、“包括”、“具有”、“含有”等,均为开放性的用语,即意指包含但不限于。参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”等的描述意指结合该实施例或示例描述的具体特征、结构或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本申请的实施,其中的步骤顺序不作限定,可根据需要作适当调整。
本发明实施例中提供了一种基于动态数据返回的系统组件测试方法,可以应用但不限于软件系统的集成测试,该集成测试可以是对各个软件系统的集成测试,也开始以是对一个软件系统中各个组件的集成测试。
图1为本发明实施例中提供的一种基于动态数据返回的系统组件测试方法流程图,如图1所示,该方法包括如下步骤:
S101,获取对待测试系统组件进行测试的交易请求报文。
需要说明的是,上述S101中的待测系统组件可以是一个软件系统,也可以是构成一个软件系统的组件;上述S101中待测试系统组件发送的交易请求报文是指对待测试系统组件进行接口功能测试的测试请求报文,发送不同的测试请求报文,能够实现对待测试系统组件不同接口功能的测试。对于银行交易业务系统或组件的测试,需要向各个系统或组件发送交易请求报文,进而根据各个系统或组件返回的交易响应报文,对各个系统或组件的接口功能进行测试。
一个实施例中,待测试系统组件可以是银行交易业务的各个后台系统组件(例如,渠道整合层组件、客户服务整合层组件、应用集成层组件和数据集成层组件等)。
对于银行交易业务系统,当用户通过APP应用或者互联网网站等进行银行交易业务操作时,其端到端之间的交易涉及多个后台系统组件,由于各个系统组件通常不同的通信方式交互,使得对系统组件的测试存在如下问题:①由于不同系统组件通常由不同部门不同的人员负责开发和测试,当需要不同系统组件之间的集成测试时,必须集中人力资源进行系统组件集成环境相关准备工作,且集成测试过程中涉及到组件上下游数据的一致性,导致一次系统组件的集成测试会消耗测试人员大量的时间,测试效率很低;②采用组件直连集成的方式执行端到端的交易测试时,由于交易涉及到多个组件,很难及时、快速的定位存在缺陷的组件;③由于各个系统组件内通常包含多个接口服务,在对系统组件的各交易接口服务进行测试时,必须等待该系统组件的下游组件对应的接口服务开发完毕后,才能够进行集成测试,影响系统组件的测试进度。
为了解决上述问题,本发明实施例中,采用模拟器模拟各系统组件的上下游环境,采用系统组件与模拟器结合的方式,对各个系统组件的交易接口服务进行测试。
S102,根据交易请求报文,识别当前测试交易业务的交易码。
需要说明的是,上述S102中的交易码是唯一标识不同交易业务的标识码,例如,银行业务系统中的取款业务、存款业务、转账业务对应不同的交易码。在获取到向待测试系统组件发送的交易请求报文后,可以根据交易请求报文识别出交易业务的交易码。
S103,根据交易码,调用对应的动态配置信息,生成交易请求报文对应的交易返回报文,其中,动态配置信息用于动态生成交易码对应的交易返回报文。
对于同一交易业务,在对待测试系统进行测试的时候,由于发送的测试数据(即交易请求报文)不同,待测试系统组件返回的交易数据(即交易返回报文)也不同,为了能够根据不同的交易请求报文动态生成不同的交易返回报文,本发明实施例中预先对不同交易码对应的交易业务进行分析,提取各个交易码对应交易业务的数据规则,生成不同交易码对应的动态配置信息,进而根据不同交易码的动态配置信息,动态生成交易码对应的交易返回报文。
需要注意的是,本发明实施例中动态生成交易返回报文的原理是通过对交易返回报文模块进行动态数据替换得到的。由于不同的交易业务,需要返回的交易响应报文不同,有的交易业务仅需要返回一个交易响应报文即可,有的交易业务需要返回多个交易响应报文,针对需要返回多个交易响应报文的交易业务,需要根据多个交易返回报文模板来生成多个交易响应报文。因而,一个实施例中,对于需要返回多个交易响应报文的交易业务,可以在该交易业务的动态配置信息中设置交易返回报文模板配置项,用于配置生成该交易业务的交易返回报文的各个交易返回报文模板。具体地,上述S103可以通过如下步骤来实现:根据交易码对应的交易业务是否需要生成不同的交易返回报文,调用一个或多个交易返回报文模板;对各个交易返回报文模板中的动态数据字段进行数据替换,生成各个交易返回报文模板对应的交易返回报文。
其中,根据交易码对应的交易业务是否需要生成不同的交易返回报文,调用一个或多个交易返回报文模板,可以包括如下步骤:如果交易码对应的交易业务需要生成不同的交易返回报文,则调用关联替换报文配置信息,其中,关联替换报文配置信息中包含:关联替换数据的多个交易返回报文模板;如果交易码对应的交易业务不需要生成不同的交易返回报文,则调用动态替换报文配置信息,其中,动态替换报文配置信息中包含:动态替换数据的一个交易返回模板。
在对各个交易返回报文模板中的动态数据字段进行数据替换,生成各个交易返回报文模板对应的交易返回报文的时候,可以通过如下步骤来实现:判断动态数据字段是否为明文数据替换;如果是,则调用字符替换配置信息,对交易返回报文模板中的动态数据字段进行数据替换,生成对应的交易返回报文;如果否,则调用字节流替换配置信息,对交易返回报文模板中的动态数据字段进行数据替换,生成对应的交易返回报文。
可选地,在对各个交易返回报文模板中的动态数据字段进行数据替换,生成各个交易返回报文模板对应的交易返回报文之前,还可以通过如下步骤来获取进行数据替换的数据:判断对动态数据字段进行数据替换的数据是否来自交易请求报文;如果是,则调用拆包插件,对交易请求报文进行拆包处理,得到对动态数据字段进行数据替换的数据;如果否,则读取交易码对应的参数数据文件,获取对动态数据字段进行数据替换的数据。
S104,根据交易请求报文对应的交易返回报文,对待测试系统组件进行测试。
需要说明的是,根据上述S101~S104提供的方案,可以开发一个模拟各个组件动态生成交易返回报文的模拟器,以模拟待测试系统组件的下游组件生成交易返回报文后,进而根据模拟生成的交易返回报文,对待测试系统组件的接口功能测试。可以看出,这种组件与模拟器结合的方式,在对各个系统组件进行测试时,无需修改待测试系统组件的内部代码,也无需申请额外的服务器来部署下游环境系统。另外,基于交易码对应的动态配置信息来生成交易返回报文,能够根据不同的交易请求报文返回不同的交易响应报文。
需要注意的是,本发明实施例中提供的基于动态数据返回的系统组件测试方法还可以包括如下步骤:加载各个交易码对应的动态配置文件,其中,每个交易码对应的动态配置文件中包含每个交易码对应的动态配置信息;根据各个交易码对应的动态配置信息,加载各个交易码的交易返回报文模板和参数文件。
可选地,本发明实施例中,采用XML格式的动态配置文件来存储各个交易码的动态配置信息。
由上可知,本发明实施例中提供的基于动态数据返回的系统组件测试方法,通过预先为不同的交易业务,提供动态生成交易返回报文的动态配置信息,并与相应交易业务的交易码关联,在获取到对待测试系统组件进行测试的交易请求报文后,根据交易请求报文,识别当前测试交易业务的交易码,进而根据交易码,调用对应的动态配置信息,动态生成交易请求报文对应的交易返回报文,以便根据动态生成的交易返回报文,对待测试系统组件进行测试。
通过本发明实施例中提供的基于动态数据返回的系统组件测试装置,能够通过动态配置的方式,根据对系统组件进行测试的交易请求报文动态生成交易返回报文,能够快速、准确、及时的对交易全链路集成测试中的各个系统组件进行测试,尽早发现系统组件存在的缺陷,提高系统组件的测试效率。
本发明实施例,通过对不同交易业务的交易返回报文的差异进行规则抽取,形成动态配置文件、动态替换报文模板、关联替换报文模板和参数文件,在获取到对待测试系统组件进行测试的交易请求报文后,能够动态生成相应的交易返回报文。下面对各个动态配置文件进行具体说明。
图2为本发明实施例中提供的一种动态配置文件目录示意图,如图2所示,本发明实施例中提供的动态配置文件包括:
①scene.xml:延时配置文件。该文件用于描述模拟器返回报文的延时配置。
②dyn.xml:动态配置文件。该文件采XML格,针对不同的交易业务定制化的动态规则形成动态交易配置文件。
③dynamic:动态响应报文存储目录,用于存放动态交易返回报文模板,不同交易业务的交易返回报文模板按照“交易码.xml”格式命名。
④static:静态响应报文存储目录,用于存放静态交易返回报文。当待测试系统组件的交易接口不需要返回动态数据时,将交易返回报文存储在该目录下,模拟器根据交易码直接将对应的响应报文以字符流的形式返回。
⑤file:动态替换报文、关联替换报文和参数文件的存储目录。分别说明如下:
A.动态替换报文用于描述交易返回报文模板中被替换的字段,对需要进行替换的内容用格式化参数(%n$s)进行替换,其中,格式化参数n从1开始,表示对应交易码配置文件中第n个动态替换规则。动态替换报文的格式如图3所示。
B.关联替换报文用于描述同一交易由于报文字段值的不同,从而需要返回不同的交易返回报文的场景。关联替换报文主要采用标识符、分隔符“----”,具体的响应报文模板组成。关联替换报文的格式如图4所示,图4中的“100”和“200”分别表示交易响应报文的标识符,通过动态配置文件dyn.xml中的关联规则配置的方式获取对应的标识符,动态配置文件dyn.xml的关联规则配置如图5所示。
C.参数文件用于选择交易返回报文各字段对应的取值。参数文件采用逗号分隔符的方式,列举对应字段的取值范围。
本发明实施例中的提供的动态配置文件用于配置各个交易返回报文模板中对应字段的动态数据替换规则。图6为本发明实施例中提供的一种动态配置文件示意图,如图6所示,针对不同的交易业务,通过“replace”节点定义数据替换规则,“id”标签对应交易业务的交易码。
本发明实施例中,根据不同组件接口对应交易返回报文的特性,抽象一组动态数据替换规则,并生成XML格式的动态配置文件,具体规则如下:
每支交易用“replace”节点进行定义替换规则,“id”属性标识交易码。
每个replace下包含多个“rep”节点用于说明每个替换规则。“rep”节点包括:
A.属性“strategy”:表示数据替换策略;
B.属性“storeName”:表示将策略存为属性值的中间结果,且在属性“strategy”的属性值为“store”时使用。
C.其他属性:具体策略所使用的参数。
D.每个“rep”节点包含对策略的装饰说明“deco”。
需要注意的是,动态规则可根据组件接口交易返回报文字段的需求,进行动态设计并添加配置策略。表1所示为本发明实施例中提供的动态数据替换策略。表1系统支持的动态数据替换策略
Figure BDA0002430583580000091
Figure BDA0002430583580000101
由于各个系统组件之间的技术架构、开发语言、通信协议、交易返回报文等存在较大差异,本发明实施例中提供的模拟器对组件之间的差异进行抽象、提取、封装等操作,形成不同交易业务对应动态配置文件,。由于同一支交易业务的测试,采用不同交易请求数据,需要返回的不同的交易响应数据,因而,本发明实施例中提供的模拟器还支持根据不同的交易请求报文,动态生成相应的交易返回报文。
图7为本发明实施例中提供的一种动态配置文件的配置流程,如图7所示,系统组件测试人员可以针对不同的交易业务,提取交易返回报文的动态数据替换规则,生成XML格式的动态配置文件。
图8为本发明实施例中提供的一种对系统组件测试的数据初始化示意图,如图8所示,将动态配置文件的所有信息以及关联替换报文模板加载到内存中,此时内存中存在如下映射关系:交易码与动态数据替换规则的映射关系;交易码与是否关联替换配置项的映射关系;交易码与响应报文模板的对应关系。在执行系统初始化操作后,可以通过图9所示的数据处理流程对系统组件进行测试。
本发明实施例中,基于多样性、兼容性、通用性、灵活性和可扩展性等多方面的考虑因素,提供了四种动态数据返回规则的设计与实现,使得本发明实施例提供的系统测试方法在灵活性、兼容性、适配性、多样性方面均取得了一定的优势,能够兼容上百个系统的组件继承测试,提高系统组件测试的效率,节约了人力资源与硬件资源。
(一)通用类动态规则:
通用类动态规则用于对返回报文模板中的某个字段进行单一操作,如变量自增、生成随机数、正则匹配等。配置代码如下:
<rep strategy="randon"begin="1"end="10000"len="4"/>
该规则解释如下:
在自然数1和9999之间生成随机数,结果左侧自动补零达到4位。如返回数据“0021”。
(二)组合类动态规则:
组合类动态规则“strategy”对应的属性值为“group”。该项配置可实现多条动态规则的自由组合,满足交易返回数据的多重封装。对应rep节点下的多条配置,按照从上到下的顺序依次执行。配置代码如下:
Figure BDA0002430583580000111
该规则解释如下:
首先执行<child strategy="date"formate="yyyyMMddHHmmssS"/>规则,生成以"yyyyMMddHHmmssS"格式的时间戳,然后执行<child strategy="fixStr"str="_"/>,在时间戳字符结尾添加”_”,最后执行<child strategy="increase"begin="1"len="7"fixLen="true"/>,返回”时间戳_123456”。
本发明实施例通过配置组合类动态规则,能够更灵活、便捷、多元化地组合系统通用类动态规则,实现对返回数据的多重封装。
(三)装饰类动态规则:
装饰类策略在动态配置文件“dyn.xml”中定义,由“deco”节点进行定义,必须包含在替换策略节点“rep”或替换策略子节点“child”下,无法单独存在。装饰类动态规则用于对从属的替换策略所生成的初始内容进行加工处理之后再进行返回。每个替换策略下可以包含多个装饰策略,替换策略得到初始内容后按配置的顺序依次执行装饰策略。表2示出了装饰类动态规则支持的数据替换策略。
每个“deco”节点包括:属性“strategy”:代表装饰类型。
表2装饰类动态规则支持的数据替换策略
Figure BDA0002430583580000121
需要注意的是,第一个装饰策略的输入为替换策略的初始结果;其他装饰策略的输入为上一个装饰策略的结果;最后一个装饰策略的结果即为所从属数据替换策略的最终结果。
配置代码如下:
Figure BDA0002430583580000132
该规则解释如下:
<rep strategy="xpath"path="TX/TX_HEADER/SYS_EVT_TRACE_ID">用于执行通用类动态规则,在XML报文路径TX/TX_HEADER/SYS_EVT_TRACE_ID下获取对应的字段属性值,然后执行<deco strategy="sub"begin="3"end="0"/>,对该属性值进行裁剪,从第三个字符开始截取至字符串结尾,最后执行<deco strategy="dcc"/>,对第二步骤生成的结果进行dcc安全加密并返回加密后的字符串。
通过装饰类动态规则,可以对数据结果进行多元化加工,完善动态返回报文需求。
(四)即插即定义规则:
当上述三类动态规则仍无法满足组件集成测试返回报文需求时,系统提供交易接口,以便测试人员通过开发插件来继承抽象类,满足组件自定义的特殊需求。表3示出了一种插件继承的抽象类。
表3插件继承的抽象类
Figure BDA0002430583580000131
通过即插即定义规则,可根据组件返回报文数据的需求自定义开发,使得返回的动态数据具有更强的兼容性、适配性、灵活性。
基于同一发明构思,本发明实施例中还提供了一种基于动态数据返回的系统组件测试装置,如下面的实施例所述。由于该装置实施例解决问题的原理与基于动态数据返回的系统组件测试方法相似,因此该装置实施例的实施可以参见方法的实施,重复之处不再赘述。
图10为本发明实施例中提供的一种基于动态数据返回的系统组件测试装置示意图,如图10所示,该装置包括:交易请求报文获取模块10、交易码识别模块20、交易返回报文生成模块30和系统组件测试模块40。
其中,交易请求报文获取模块10,用于获取对待测试系统组件进行测试的交易请求报文;交易码识别模块20,用于根据交易请求报文,识别当前测试交易业务的交易码;交易返回报文生成模块30,用于根据交易码,调用对应的动态配置信息,生成交易请求报文对应的交易返回报文,其中,动态配置信息用于动态生成交易码对应的交易返回报文;系统组件测试模块40,用于根据交易请求报文对应的交易返回报文,对待测试系统组件进行测试。
由上可知,本发明实施例中提供的基于动态数据返回的系统组件测试装置,通过预先为不同的交易业务,提供动态生成交易返回报文的动态配置信息,并与相应交易业务的交易码关联,在通过交易请求报文获取模块10获取到对待测试系统组件进行测试的交易请求报文后,通过交易码识别模块20根据交易请求报文,识别当前测试交易业务的交易码,进而通过交易返回报文生成模块30根据交易码,调用对应的动态配置信息,动态生成交易请求报文对应的交易返回报文,以便通过系统组件测试模块40根据动态生成的交易返回报文,对待测试系统组件进行测试。
通过本发明实施例中提供的基于动态数据返回的系统组件测试装置,能够通过动态配置的方式,根据对系统组件进行测试的交易请求报文动态生成交易返回报文,能够快速、准确、及时的对交易全链路集成测试中的各个系统组件进行测试,尽早发现系统组件存在的缺陷,提高系统组件的测试效率。
一个实施例中,上述交易返回报文生成模块30还用于根据交易码对应的交易业务是否需要生成不同的交易返回报文,调用一个或多个交易返回报文模板;以及对各个交易返回报文模板中的动态数据字段进行数据替换,生成各个交易返回报文模板对应的交易返回报文。
可选地,上述交易返回报文生成模块30还用于执行如下步骤:判断动态数据字段是否为明文数据替换;如果是,则调用字符替换配置信息,对交易返回报文模板中的动态数据字段进行数据替换,生成对应的交易返回报文;如果否,则调用字节流替换配置信息,对交易返回报文模板中的动态数据字段进行数据替换,生成对应的交易返回报文。
可选地,上述交易返回报文生成模块30还用于执行如下步骤:如果交易码对应的交易业务需要生成不同的交易返回报文,则调用关联替换报文配置信息,其中,关联替换报文配置信息中包含:关联替换数据的多个交易返回报文模板;如果交易码对应的交易业务不需要生成不同的交易返回报文,则调用动态替换报文配置信息,其中,动态替换报文配置信息中包含:动态替换数据的一个交易返回模板。
一个实施例中,本发明实施例中提供的系统组件测试装置还可以包括:动态数据替换模块50,用于执行如下步骤:判断对动态数据字段进行数据替换的数据是否来自交易请求报文;如果是,则调用拆包插件,对交易请求报文进行拆包处理,得到对动态数据字段进行数据替换的数据;如果否,则读取交易码对应的参数数据文件,获取对动态数据字段进行数据替换的数据。
一个实施例中,本发明实施例中提供的系统组件测试装置还可以包括:配置文件加载模块60,用于执行如下步骤:加载各个交易码对应的动态配置文件,其中,每个交易码对应的动态配置文件中包含每个交易码对应的动态配置信息;根据各个交易码对应的动态配置信息,加载各个交易码的交易返回报文模板和参数文件。
可选地,本发明实施例中提供的系统组件测试装置中,采用XML格式的动态配置文件存储不同交易码对应的动态配置信息。
基于同一发明构思,本发明实施例中还提供了一种计算机设备,用以解决现有软件系统集成测试方法,需要修改组件内部代码结构或申请额外硬件资源,存在安全性低、成本高且灵活性差的技术问题,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述基于动态数据返回的系统组件测试方法。
基于同一发明构思,本发明实施例中还提供了一种计算机可读存储介质,用以解决现有软件系统集成测试方法,需要修改组件内部代码结构或申请额外硬件资源,存在安全性低、成本高且灵活性差的技术问题,该计算机可读存储介质存储有执行上述基于动态数据返回的系统组件测试方法的计算机程序。
综上所述,本发明实施例中提供了一种基于动态数据返回的系统组件测试方法、装置、计算机设备及计算机可读存储介质,针对不同的交易业务,通过提取交易返回报文的动态数据替换规则,生成对应的动态配置文件,以便在获取到对系统组件测试的交易请求报文后,通过调用该动态配置文件动态生成相应的交易返回报文。
通过本发明实施例,在对系统组件进行测试时,无需修改待测试系统组件的内部代码,提高了测试安全性;无需申请额外的服务器来部署下游环境系统,降低了测试成本;基于交易码对应的动态配置信息,根据不同的交易请求报文动态生成相应的交易返回报文,针对同一交易业务,能够实现配置一次即可满足多种测试场景的需求,提高了系统组件的测试效率。
本申请采用模拟器模拟各组件上下游环境,以“组件+模拟器”的方式实现组件交易接口服务的测试。由于企业级组件之间的技术架构、开发语言、通信协议、交易返回报文等存在较大差异性,因此,模拟器需要对组件之间的差异进行抽象、提取、封装等操作。由于同一支交易服务不同的测试数据,所需要返回的交易数据不同,因此,模拟器还需要根据数据规则、动态的实现组件交易返回报文。
通过提取交易返回报文的动态规则,设计动态配置策略,采用XML格式的配置文件,实现组件系统交易返回报文的动态生成。其中动态规则包括:通用类动态规则、组合类动态规则、装饰类动态规则和即插即定义规则,通过这四种规则的设计与实现,使得本发明在灵活性、兼容性、适配性、多样性方面具有一定的优势。
通过设计动态替换报文以及关联替换报文的方式,实现了同一交易只需一次配置即可满足多种测试场景的需求。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于动态数据返回的系统组件测试方法,其特征在于,包括:
获取对待测试系统组件进行测试的交易请求报文;
根据所述交易请求报文,识别当前测试交易业务的交易码;
根据所述交易码,调用对应的动态配置信息,生成所述交易请求报文对应的交易返回报文,其中,所述动态配置信息用于动态生成所述交易码对应的交易返回报文;
根据所述交易请求报文对应的交易返回报文,对所述待测试系统组件进行测试。
2.如权利要求1所述的方法,其特征在于,根据所述交易码,调用对应的动态配置信息,生成所述交易请求报文对应的交易返回报文,包括:
根据所述交易码对应的交易业务是否需要生成不同的交易返回报文,调用一个或多个交易返回报文模板;
对各个交易返回报文模板中的动态数据字段进行数据替换,生成各个交易返回报文模板对应的交易返回报文。
3.如权利要求2所述的方法,其特征在于,对各个交易返回报文模板中的动态数据字段进行数据替换,生成各个交易返回报文模板对应的交易返回报文,包括:
判断动态数据字段是否为明文数据替换;
如果是,则调用字符替换配置信息,对交易返回报文模板中的动态数据字段进行数据替换,生成对应的交易返回报文;
如果否,则调用字节流替换配置信息,对交易返回报文模板中的动态数据字段进行数据替换,生成对应的交易返回报文。
4.如权利要求2所述的方法,其特征在于,根据所述交易码对应的交易业务是否需要生成不同的交易返回报文,调用一个或多个交易返回报文模板,包括:
如果所述交易码对应的交易业务需要生成不同的交易返回报文,则调用关联替换报文配置信息,其中,所述关联替换报文配置信息中包含:关联替换数据的多个交易返回报文模板;
如果所述交易码对应的交易业务不需要生成不同的交易返回报文,则调用动态替换报文配置信息,其中,所述动态替换报文配置信息中包含:动态替换数据的一个交易返回模板。
5.如权利要求2所述的方法,其特征在于,在对各个交易返回报文模板中的动态数据字段进行数据替换,生成各个交易返回报文模板对应的交易返回报文之前,所述方法还包括:
判断对动态数据字段进行数据替换的数据是否来自交易请求报文;
如果是,则调用拆包插件,对交易请求报文进行拆包处理,得到对动态数据字段进行数据替换的数据;
如果否,则读取所述交易码对应的参数数据文件,获取对动态数据字段进行数据替换的数据。
6.如权利要求1至5任何一项所述的方法,其特征在于,所述方法还包括:
加载各个交易码对应的动态配置文件,其中,每个交易码对应的动态配置文件中包含每个交易码对应的动态配置信息;
根据各个交易码对应的动态配置信息,加载各个交易码的交易返回报文模板和参数文件。
7.如权利要求6所述的方法,其特征在于,所述动态配置文件为XML格式的文件。
8.一种基于动态数据返回的系统组件测试装置,其特征在于,包括:
交易请求报文获取模块,用于获取对待测试系统组件进行测试的交易请求报文;
交易码识别模块,用于根据所述交易请求报文,识别当前测试交易业务的交易码;
交易返回报文生成模块,用于根据所述交易码,调用对应的动态配置信息,生成所述交易请求报文对应的交易返回报文,其中,所述动态配置信息用于动态生成所述交易码对应的交易返回报文;
系统组件测试模块,用于根据所述交易请求报文对应的交易返回报文,对所述待测试系统组件进行测试。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述基于动态数据返回的系统组件测试方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至7任一项所述基于动态数据返回的系统组件测试方法的计算机程序。
CN202010234683.2A 2020-03-30 2020-03-30 基于动态数据返回的系统组件测试方法及装置 Active CN111367818B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010234683.2A CN111367818B (zh) 2020-03-30 2020-03-30 基于动态数据返回的系统组件测试方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010234683.2A CN111367818B (zh) 2020-03-30 2020-03-30 基于动态数据返回的系统组件测试方法及装置

Publications (2)

Publication Number Publication Date
CN111367818A true CN111367818A (zh) 2020-07-03
CN111367818B CN111367818B (zh) 2023-05-02

Family

ID=71206981

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010234683.2A Active CN111367818B (zh) 2020-03-30 2020-03-30 基于动态数据返回的系统组件测试方法及装置

Country Status (1)

Country Link
CN (1) CN111367818B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112416767A (zh) * 2020-11-20 2021-02-26 建信金融科技有限责任公司 一种分布式系统测试方法、装置和设备
CN112799944A (zh) * 2021-01-29 2021-05-14 中国工商银行股份有限公司 系统性能测试方法及系统
CN112988598A (zh) * 2021-04-27 2021-06-18 中国工商银行股份有限公司 接口自动化测试的方法及装置
CN113345174A (zh) * 2021-05-31 2021-09-03 中国工商银行股份有限公司 一种柜员现金循环机与终端平台的交互模拟方法及装置
CN113836015A (zh) * 2021-09-23 2021-12-24 中国农业银行股份有限公司 一种数据处理方法及装置
CN114124766A (zh) * 2021-11-19 2022-03-01 度小满科技(北京)有限公司 基于模拟数据的测试方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150261655A1 (en) * 2014-03-14 2015-09-17 Ca,Inc, Entropy weighted message matching for opaque service virtualization
CN105279090A (zh) * 2015-11-17 2016-01-27 中国建设银行股份有限公司 应用于金融领域的测试脚本生成方法和装置
CN106027330A (zh) * 2016-05-23 2016-10-12 中国银行股份有限公司 一种前端系统报文测试方法及模拟挡板系统
CN110413507A (zh) * 2019-06-21 2019-11-05 平安科技(深圳)有限公司 系统测试方法、装置、计算机设备和存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150261655A1 (en) * 2014-03-14 2015-09-17 Ca,Inc, Entropy weighted message matching for opaque service virtualization
CN105279090A (zh) * 2015-11-17 2016-01-27 中国建设银行股份有限公司 应用于金融领域的测试脚本生成方法和装置
CN106027330A (zh) * 2016-05-23 2016-10-12 中国银行股份有限公司 一种前端系统报文测试方法及模拟挡板系统
CN110413507A (zh) * 2019-06-21 2019-11-05 平安科技(深圳)有限公司 系统测试方法、装置、计算机设备和存储介质

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112416767A (zh) * 2020-11-20 2021-02-26 建信金融科技有限责任公司 一种分布式系统测试方法、装置和设备
CN112799944A (zh) * 2021-01-29 2021-05-14 中国工商银行股份有限公司 系统性能测试方法及系统
CN112988598A (zh) * 2021-04-27 2021-06-18 中国工商银行股份有限公司 接口自动化测试的方法及装置
CN112988598B (zh) * 2021-04-27 2024-03-19 中国工商银行股份有限公司 接口自动化测试的方法及装置
CN113345174A (zh) * 2021-05-31 2021-09-03 中国工商银行股份有限公司 一种柜员现金循环机与终端平台的交互模拟方法及装置
CN113345174B (zh) * 2021-05-31 2023-04-18 中国工商银行股份有限公司 一种柜员现金循环机与终端平台的交互模拟方法及装置
CN113836015A (zh) * 2021-09-23 2021-12-24 中国农业银行股份有限公司 一种数据处理方法及装置
CN114124766A (zh) * 2021-11-19 2022-03-01 度小满科技(北京)有限公司 基于模拟数据的测试方法及装置
CN114124766B (zh) * 2021-11-19 2024-04-05 度小满科技(北京)有限公司 基于模拟数据的测试方法及装置

Also Published As

Publication number Publication date
CN111367818B (zh) 2023-05-02

Similar Documents

Publication Publication Date Title
CN111367818B (zh) 基于动态数据返回的系统组件测试方法及装置
CA2783451C (en) Method and system of adapting a data model to a user interface component
US6415435B1 (en) Method and apparatus for determining compatibility of parent classes in an object oriented environment using versioning
US20080270974A1 (en) Enterprise JavaBeans Metadata Model
CN104156313B (zh) 一种Web服务测试用例自动生成方法
EP1100005A2 (en) Version-adaptive serialization and deserialization of program objects
US20080115116A1 (en) Method and apparatus for dynamically binding service component implementations for specific unit test cases
US20100229150A1 (en) Software test bed generation
US7926024B2 (en) Method and apparatus for managing complex processes
CN112860260B (zh) 一种在高校场景下基于web的跨平台应用构建工具及方法
CN111078555B (zh) 一种测试文件的生成方法、系统、服务器和存储介质
CN101236494A (zh) 一种基于覆盖密度的信息系统测试组合生成方法
US20060122958A1 (en) Matching client interfaces with service interfaces
US7712073B1 (en) Software development artifact creation tool
US20170177335A1 (en) System and method of reconstructing complex custom objects
CN113326026B (zh) 一种微服务业务流程接口的生成方法与终端
US9244706B2 (en) Command line shell command generation based on schema
CN111104122A (zh) 一种xml业务逻辑映射到java业务逻辑的方法
CN109614084A (zh) web程序及其快速开发框架、开发方法与相关设备
CN109388406A (zh) 转换java代码的方法及装置、存储介质、电子装置
CN114490318A (zh) 一种基于字节码增强实现弱隔离的环境治理系统及方法
CN114662022A (zh) 一种应用隔离方法及装置
CN114281307A (zh) 一种低代码多环境同步发布平台
US10469319B2 (en) Certification tool gap analyzer
CN116755684B (zh) OAS Schema的生成方法、装置、设备及介质

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20220927

Address after: 12 / F, 15 / F, 99 Yincheng Road, Pudong New Area pilot Free Trade Zone, Shanghai, 200120

Applicant after: Jianxin Financial Science and Technology Co.,Ltd.

Address before: 25 Financial Street, Xicheng District, Beijing 100033

Applicant before: CHINA CONSTRUCTION BANK Corp.

Applicant before: Jianxin Financial Science and Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant