CN111427796A - ***测试方法、装置及电子设备 - Google Patents

***测试方法、装置及电子设备 Download PDF

Info

Publication number
CN111427796A
CN111427796A CN202010282660.9A CN202010282660A CN111427796A CN 111427796 A CN111427796 A CN 111427796A CN 202010282660 A CN202010282660 A CN 202010282660A CN 111427796 A CN111427796 A CN 111427796A
Authority
CN
China
Prior art keywords
message
response message
response
request
request message
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
Application number
CN202010282660.9A
Other languages
English (en)
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.)
China Citic Bank Corp Ltd
Original Assignee
China Citic Bank Corp 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 Citic Bank Corp Ltd filed Critical China Citic Bank Corp Ltd
Priority to CN202010282660.9A priority Critical patent/CN111427796A/zh
Publication of CN111427796A publication Critical patent/CN111427796A/zh
Pending legal-status Critical Current

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/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • G06Q20/108Remote banking, e.g. home banking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/069Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • General Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种***测试方法、装置及电子设备,涉及测试技术领域。本发明中,挡板可以获取被测***发送的请求报文、以及被测***对应的配置参数,根据被测***对应的配置参数,从请求报文中提取关键数据信息,并根据请求报文、关键数据信息、以及预埋响应报文和预埋报文关联关系,确定请求报文对应的目标预埋响应报文;然后,可以根据上下文信息,替换目标预埋响应报文中的变量信息,生成目标响应报文,并返回给被测***,从而实现根据被测***发送的请求报文,动态生成响应报文返回给被测***,进而更好地模拟真实交易场景,有效提高测试准确性。

Description

***测试方法、装置及电子设备
技术领域
本发明涉及测试技术领域,具体而言,涉及一种***测试方法、装置及电子设备。
背景技术
在一些跨***的交易测试中,往往会由于硬件资源、测试周期有限等客观因素的限制,导致不能搭建完整的环境进行测试。因此,一般情况下仅搭建被测***,而被测***的前、后端关联***则利用软件程序作为挡板进行模拟。例如,银行开发有很多前端***,如网上银行***,这些前端***与银行的后台进行联机交易通信以实现相关的交易,所以在开发出前端***后,需要进行前端***和后台***间的接口测试以验证前端***对外部提供的接口的正确性和稳定性,进而确保实际中联机交易的实现。此时,可以利用挡板模拟真实的后台***,进行挡板与待测前端***间的接口测试。
现有技术中,挡板测试数据需要根据接口文档,提前约定好接口输入与输出的数据格式,不同的接口需要对应不同的数据格式。因此,一般会固定测试数据,后续测试不再花费时间生成新的测试数据,挡板测试返回的预期结果也需要根据测试场景和案例提前设置。
但是,真实的交易场景往往不是只针对单个接口的调用,而是多个***间多个接口的组合形成完整的交易链路,所以,上述现有技术中,挡板采用固定测试数据、固定预期结果应答的方式,无法较好地模拟真实交易场景,导致测试准确性不足。
发明内容
本发明提供一种***测试方法、装置及电子设备,可以较好地模拟真实交易场景,有效提升测试准确性。
第一方面,本发明实施例提供一种***测试方法,所述方法应用于挡板,所述方法包括:获取被测***发送的请求报文、以及所述被测***对应的配置参数;根据所述被测***对应的配置参数,从所述请求报文中提取关键数据信息;根据所述请求报文、所述关键数据信息、以及预埋响应报文和预埋报文关联关系,确定所述请求报文对应的目标预埋响应报文;根据上下文信息,替换所述目标预埋响应报文中的变量信息,生成目标响应报文,并返回给所述被测***。
可选地,所述获取所述被测***对应的配置参数,包括:根据所述请求报文,从预设的配置参数集中读取所述被测***对应的配置参数;其中,所述配置参数集中包含有至少一种被测***对应的配置参数。
可选地,所述根据所述请求报文、所述关键数据信息、以及预埋响应报文和预埋报文关联关系,确定所述请求报文对应的目标预埋响应报文之前,所述方法还包括:获取真实生产环境中的请求报文、响应报文、以及请求报文与响应报文之间的关联关系;预埋所述真实生产环境中的请求报文、响应报文、以及请求报文与响应报文之间的关联关系,得到预埋响应报文和预埋报文关联关系。
可选地,所述预埋所述真实生产环境中的请求报文、响应报文、以及请求报文与响应报文之间的关联关系,得到预埋响应报文和预埋报文关联关系,包括:将所述真实生产环境中的请求报文和响应报文,预埋在预设的基础报文表中;所述基础报文表中包含有预埋响应报文;将所述真实生产环境中的请求报文与响应报文之间的关联关系,预埋在预设的报文关联关系表中;所述报文关联关系表中包含有预埋报文关联关系。
可选地,所述根据所述请求报文、所述关键数据信息、以及预埋响应报文和预埋报文关联关系,确定所述请求报文对应的目标预埋响应报文,包括:确定所述请求报文的请求标识;根据所述请求标识和所述关键数据信息,查询所述报文关联关系表,获取目标预埋响应报文的响应标识;根据所述响应标识,查询所述基础报文表,获取目标预埋响应报文。
可选地,所述挡板中预设有所述被测***的不同测试场景一一对应的测试场景报文表;所述测试场景报文表存储有对应测试场景的报文关系、报文顺序以及报文变量信息。
可选地,所述获取真实生产环境中的请求报文、响应报文、以及请求报文与响应报文之间的关联关系,包括:通过旁路引流方式或从生产日志数据中获取真实生产环境中的请求报文和响应报文;根据同时出现在所述真实生产环境中的请求报文和响应报文中的至少一个相同标识,建立请求报文与响应报文之间的关联关系。
可选地,所述获取所述被测***对应的配置参数之前,所述方法还包括:对所述请求报文进行解析处理。
第二方面,本发明实施例提供一种***测试装置,所述装置应用于挡板,所述装置包括:获取模块,用于获取被测***发送的请求报文、以及所述被测***对应的配置参数;提取模块,用于根据所述被测***对应的配置参数,从所述请求报文中提取关键数据信息;确定模块,用于根据所述请求报文、所述关键数据信息、以及预埋响应报文和预埋报文关联关系,确定所述请求报文对应的目标预埋响应报文;生成模块,用于根据上下文信息,替换所述目标预埋响应报文中的变量信息,生成目标响应报文,并返回给所述被测***。
可选地,所述获取模块,具体用于根据所述请求报文,从预设的配置参数集中读取所述被测***对应的配置参数;其中,所述配置参数集中包含有至少一种被测***对应的配置参数。
可选地,所述装置还包括:预埋模块,用于在所述确定模块根据所述请求报文、所述关键数据信息、以及预埋响应报文和预埋报文关联关系,确定所述请求报文对应的目标预埋响应报文之前,获取真实生产环境中的请求报文、响应报文、以及请求报文与响应报文之间的关联关系;预埋所述真实生产环境中的请求报文、响应报文、以及请求报文与响应报文之间的关联关系,得到预埋响应报文和预埋报文关联关系。
可选地,所述预埋模块,具体用于将所述真实生产环境中的请求报文和响应报文,预埋在预设的基础报文表中;所述基础报文表中包含有预埋响应报文;将所述真实生产环境中的请求报文与响应报文之间的关联关系,预埋在预设的报文关联关系表中;所述报文关联关系表中包含有预埋报文关联关系。
可选地,所述确定模块,具体用于确定所述请求报文的请求标识;根据所述请求标识和所述关键数据信息,查询所述报文关联关系表,获取目标预埋响应报文的响应标识;根据所述响应标识,查询所述基础报文表,获取目标预埋响应报文。
可选地,所述挡板中预设有所述被测***的不同测试场景一一对应的测试场景报文表;所述测试场景报文表存储有对应测试场景的报文关系、报文顺序以及报文变量信息。
可选地,所述预埋模块,具体用于通过旁路引流方式或从生产日志数据中获取真实生产环境中的请求报文和响应报文;根据同时出现在所述真实生产环境中的请求报文和响应报文中的至少一个相同标识,建立请求报文与响应报文之间的关联关系。
可选地,所述装置还包括:解析模块,用于在所述获取模块获取所述被测***对应的配置参数之前,对所述请求报文进行解析处理。
第三方面,本发明实施例提供一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过所述总线通信,所述处理器执行所述机器可读指令,以执行如第一方面所述的方法。
第四方面,本发明实施例还提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如第一方面所述的方法。
本发明的有益效果是:
本发明实施例中,挡板可以获取被测***发送的请求报文、以及被测***对应的配置参数,根据被测***对应的配置参数,从请求报文中提取关键数据信息,并根据请求报文、关键数据信息、以及预埋响应报文和预埋报文关联关系,确定请求报文对应的目标预埋响应报文;然后,可以根据上下文信息,替换目标预埋响应报文中的变量信息,生成目标响应报文,并返回给被测***,从而实现根据被测***发送的请求报文,动态生成响应报文返回给被测***,进而更好地模拟真实交易场景,有效提高测试准确性。
另外,由于预埋响应报文和预埋报文关联关系均是通过从真实生产环境中捕获真实交易报文、以及请求报文和响应报文之间的关联关系而得到,从而还能够提高测试数据的完备性和有效性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的***测试方法的流程示意图;
图2示出了本发明实施例提供的***测试方法的另一流程示意图;
图3示出了本发明实施例提供的***测试方法的又一流程示意图;
图4示出了本发明实施例提供的***测试方法的又一流程示意图;
图5示出了本发明实施例提供的***测试方法的又一流程示意图;
图6示出了本发明实施例提供的***测试方法的又一流程示意图;
图7示出了本发明实施例提供的***测试装置的结构示意图;
图8示出了本发明实施例提供的***测试装置的另一结构示意图;
图9示出了本发明实施例提供的***测试装置的又一结构示意图;
图10示出了本发明实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。在本发明的描述中,还需要说明的是,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
本发明实施例提供一种可以应用于挡板的***测试方法,可以较好地模拟真实交易场景,有效提升测试准确性。该方法的执行主体可以是利用软件程序作为挡板,模拟被测***的前、后端关联***的计算机、服务器、一个或多个处理器等,本发明在此不作限定。
图1示出了本发明实施例提供的***测试方法的流程示意图。
如图1所示,该***测试方法,可以包括:
S101、获取被测***发送的请求报文、以及被测***对应的配置参数。
可选地,被测***可以根据生成实际通讯方式向挡板发送交易请求报文;例如,可以采用模拟发送工具向被测***发送请求报文,然后被测***收到请求报文并处理后,向挡板发送请求报文。其中,通讯方式可以包括:套接字(socket)长连接、短连接、消息队列(Message Queue,MQ)等。
挡板可以获取被测***发送的请求报文,并对请求报文进行解析处理,可以包括:报文格式转换、报文标签提取等。
其中,报文格式转换可以将被测***发送的请求报文解析成挡板需要的报文格式。例如,若被测***发送给挡板的请求报文为16进制的流式报文,则通过报文格式转换可以将其解析为可扩展标记语言(Extensible Markup Language,XML)格式的报文片段。
报文标签提取可以是指提取交易报文中的报文标签,例如,交易报文为请求报文或响应报文等。
以下述报文为例:
<?xml version="1.0"encoding="UTF-8"?>
<ROOT type="request">
...
/*流水号*/
<stdtermtrc>CNP2201909250896230602</stdtermtrc>
/*账号*/
<stdpyeacno>8110701013701224883</stdpyeacno>
/*时间戳*/
<std400swts>20190925145725</std400swts>
...
</ROOT>
通过报文解析处理,可以提取到该报文的标签为:type=“request”,则表示该报文为请求报文。
挡板在对请求报文完成解析处理后,还可以获取发送该请求报文的被测***对应的配置参数。配置参数可以用于指示下述步骤S102中需要从被测***发送的请求报文中提取的关键数据信息的类型,不同被测***对应的配置参数不同。例如,若某个被测***对应的配置参数为stdpyeacno,则表示下述步骤S102中需要从请求报文中提取stdpyeacno节点信息。
可选地,上述获取被测***对应的配置参数的步骤,具体可以包括:根据请求报文,从预设的配置参数集中读取被测***对应的配置参数。其中,配置参数集中包含有至少一种被测***对应的配置参数。
例如,预设的配置参数集可以是挡板中的一个报文配置管理模块,该报文配置管理模块中可以预设有不同被测***对应的配置参数,当某个被测***向挡板发送请求报文时,挡板可以选择该被测***对应的配置参数进行后续报文处理过程。
S102、根据被测***对应的配置参数,从请求报文中提取关键数据信息。
如上所述,步骤S101中获取的被测***对应的配置参数,可以用于指示需要从请求报文中提取的关键数据信息的类型。
例如,某个被测***对应的配置参数为stdpyeacno,则步骤S102中从请求报文中提取的stdpyeacno节点信息可以为stdpyeacno节点的值,如:可以是8110701013701224883,也即,关键数据信息即为stdpyeacno节点的值:8110701013701224883。
S103、根据请求报文、关键数据信息、以及预埋响应报文和预埋报文关联关系,确定请求报文对应的目标预埋响应报文。
图2示出了本发明实施例提供的***测试方法的另一流程示意图。
可选地,如图2所示,上述根据请求报文、关键数据信息、以及预埋响应报文和预埋报文关联关系,确定请求报文对应的目标预埋响应报文的步骤之前,该***测试方法还可以包括:
S201、获取真实生产环境中的请求报文、响应报文、以及请求报文与响应报文之间的关联关系。
S202、预埋真实生产环境中的请求报文、响应报文、以及请求报文与响应报文之间的关联关系,得到预埋响应报文和预埋报文关联关系。
以银行为例:
可以从银行的真实生产环境中,捕获真实交易报文,包括请求报文和响应报文,以及请求报文和响应报文之间的关联关系,然后,将捕获到真实交易报文、以及请求报文和响应报文之间的关联关系预埋在挡板中,得到前述预埋响应报文和预埋报文关联关系。当然,挡板还会存在预埋请求报文。
图3示出了本发明实施例提供的***测试方法的又一流程示意图。
可选地,如图3所示,上述获取真实生产环境中的请求报文、响应报文、以及请求报文与响应报文之间的关联关系的步骤,具体可以包括:
S301、通过旁路引流方式或从生产日志数据中获取真实生产环境中的请求报文和响应报文。
S302、根据同时出现在真实生产环境中的请求报文和响应报文中的至少一个相同标识,建立请求报文与响应报文之间的关联关系。
其中,同时出现在真实生产环境中的请求报文和响应报文中的至少一个相同标识,可以是指同时出现在请求报文和响应报文中的报文字段,例如,可以是:流水号、交易码、交易账号等。对于数量,本发明也不作限制,可以是一个、两个,也可以是更多个。
图4示出了本发明实施例提供的***测试方法的又一流程示意图。
可选地,如图4所示,上述预埋真实生产环境中的请求报文、响应报文、以及请求报文与响应报文之间的关联关系,得到预埋响应报文和预埋报文关联关系的步骤,具体可以包括:
S401、将真实生产环境中的请求报文和响应报文,预埋在预设的基础报文表中。
其中,基础报文表可以用于存放前述通过旁路引流方式或从生产日志中获取到的真实交易报文。按照***间交互方向,可以将基础报文表分为被测***发给后端***报文表T、以及后端***返回被测***报文表P。被测***发给后端***报文表T中存放的即为预埋请求报文,后端***返回被测***报文表P中存放的即为预埋响应报文。基础报文表定义具体如下:
Figure DA00024473137755919
Figure BDA0002447313770000111
Figure BDA0002447313770000121
在上述表T和表P中,ID字段为主键,varinfo字段是变量信息、constinfo字段是常量信息,reqbody字段是表T中的请求报文体,resbody字段是表P的响应报文体。其中,变量信息和常量信息的字段值均来源于真实交易报文,变量信息字段值每次测试执行时都会发生变化,例如,流水号、时间戳等;常量信息字段值不随测试执行而变化,例如,账号,***等。报文体也是来自真实交易报文,例如XML报文。
S402、将真实生产环境中的请求报文与响应报文之间的关联关系,预埋在预设的报文关联关系表中。
其中,报文关联关系表可以用于存储被测***与后端***请求报文和响应报文之间的关联关系,例如,可以为被测***与后端***报文关联关系表Q,具体定义可以如下:
被测***与后端***报文关联关系表Q
主键:ID
报文关系识别信息:relationlnfo
表T外键:T_ID
表P外键:P_ID
在上述表Q中,ID字段为主键;字段T_ID为表T的外键;字段P_ID为表P的外键;relationinfo是报文关系识别信息字段,该字段表示请求报文和响应报文关联关系。正如前述实施例中所述,请求报文与响应报文可以通过一个或者多个相同标识建立关联关系,如:同时出现在请求报文和响应报文中的流水号、交易码、交易账号等报文字段。
图5示出了本发明实施例提供的***测试方法的又一流程示意图。
可选地,如图5所示,上述根据请求报文、关键数据信息、以及预埋响应报文和预埋报文关联关系,确定请求报文对应的目标预埋响应报文的步骤,具体可以包括:
S501、确定请求报文的请求标识。
请求标识可以是指:请求报文的报文ID,如:T_ID。
S502、根据请求标识和关键数据信息,查询报文关联关系表,获取目标预埋响应报文的响应标识。
响应标识可以是指:响应报文(即预埋响应报文)的报文ID,如:P_ID。
例如,可以查询报前述表Q,根据关键数据信息,确定符合报文关系识别信息、且T_ID的值与请求报文的请求标识相同的表Q中的P_ID的值,从而得到响应标识。
S503、根据响应标识,查询基础报文表,获取目标预埋响应报文。
同样以步骤S502中所述的例子为例:在得到P_ID的值后,可以查询基础报文表-表P,获取P_ID的值与前述步骤S502中得到的P_ID值相同的表P中的响应报文体:resbody,从而获取到目标预埋响应报文。
在获取到目标预埋响应报文后,可以通过下述步骤S104确定最终需要返回给被测***的目标响应报文。
S104、根据上下文信息,替换目标预埋响应报文中的变量信息,生成目标响应报文,并返回给被测***。
其中,目标预埋响应报文中的变量信息是指被测***进行高仿真测试时,报文中实时变化的信息。
以下述报文为例:
<?xml version="1.0"encoding="UTF-8"?>
<ROOT type="response">
...
/*流水号*/
<stdtermtrc>CNP2201909250914230615</stdtermtrc>
/*账号*/
<stdpyeacno>8110701013701224883</stdpyeacno>
/*时间戳*/
<std400swts>20190925145801</std400swts>
...
</ROOT>
由type="response"可知,该报文为响应报文。该响应报文中的时间戳(std400swts)、动态变化的流水号(stdtermtrc)等信息即为变量信息,是随着上下文而动态变化的。
也即,根据上下文信息,替换目标预埋响应报文中的变量信息,生成目标响应报文,具体是指:根据上下文信息,将响应报文体中的流水号、时间戳等变量信息进行替换组成新的响应报文,即为目标响应报文。
由上所述,本发明实施例中,挡板可以获取被测***发送的请求报文、以及被测***对应的配置参数,根据被测***对应的配置参数,从请求报文中提取关键数据信息,并根据请求报文、关键数据信息、以及预埋响应报文和预埋报文关联关系,确定请求报文对应的目标预埋响应报文;然后,可以根据上下文信息,替换目标预埋响应报文中的变量信息,生成目标响应报文,并返回给被测***,从而实现根据被测***发送的请求报文,动态生成响应报文返回给被测***。由于被测***返回响应报文是动态响应,所以,可以更好地模拟真实交易场景,有效提高测试准确性。
另外,由于预埋响应报文和预埋报文关联关系均是通过从真实生产环境中捕获真实交易报文、以及请求报文和响应报文之间的关联关系而得到,从而能够提高测试数据的完备性和有效性。
可选地,本发明部分实施例中,挡板中可以预设有被测***的不同测试场景一一对应的测试场景报文表;测试场景报文表可以存储有对应测试场景的报文关系、报文顺序以及报文变量信息。
例如,测试场景报文表可以为下述表R:
测试场景报文表R
主键:ID
请求报文ID:T_ID
变量信息动态值:var_backfill
请求交互完成标识:b_completed
其中,ID字段为主键;T_ID是请求报文ID,是表T的外键,表示被测***请求报文对应的ID;表Q中有两个字段T_ID和P_ID,这两个字段分别是表T和表P的外键;var_backfill是变量信息动态值,是为了替换响应报文中的变量信息;b_completed是请求交互完成标识,标记本次交互是否成功完成。
如上所述,本发明实施例在实现挡板还原生产真实交易场景的同时,还可以将针对不同交易场景的挡板功能进行整合,通过测试场景报文表实现实现交易场景的自适配,避免多次反复人工介入配置及调试,从而节省***测试的成本投入,实现精准测试、敏捷测试。
下面以一种具体的实施方式,对本发明前述实施例中所述的***测试方法进行说明:
图6示出了本发明实施例提供的***测试方法的又一流程示意图。
如图6所示,本实施方式中,***测试方法可以包括:
S601、模拟发送工具发送请求报文至被测***。
S602、被测***发送请求报文T_ID=100至挡板,T_ID来自表R。
S603、挡板根据T_ID=100,从表Q中查询得到P_ID=200。
S604、挡板根据P_ID=200,从表P中查询得到响应报文体resbody字段值。
S605、挡板根据表R中的var_backfill,替换响应报文体resbody字段值中的变量字段,组成目标响应报文,并返回给被测***。
S606、更新表R中b_completed标识值为完成。
基于前述实施例所述的***测试方法,本发明实施例对应提供一种***测试装置,可以应用于挡板。图7示出了本发明实施例提供的***测试装置的结构示意图。
如图7所示,该***测试装置可以包括:获取模块10,用于获取被测***发送的请求报文、以及被测***对应的配置参数;提取模块20,用于根据被测***对应的配置参数,从请求报文中提取关键数据信息;确定模块30,用于根据请求报文、关键数据信息、以及预埋响应报文和预埋报文关联关系,确定请求报文对应的目标预埋响应报文;生成模块40,用于根据上下文信息,替换目标预埋响应报文中的变量信息,生成目标响应报文,并返回给被测***。
可选地,获取模块10具体可以用于根据请求报文,从预设的配置参数集中读取被测***对应的配置参数;其中,配置参数集中包含有至少一种被测***对应的配置参数。
图8示出了本发明实施例提供的***测试装置的另一结构示意图。
如图8所示,该***测试装置还可以包括:预埋模块50,用于在确定模块30根据请求报文、关键数据信息、以及预埋响应报文和预埋报文关联关系,确定请求报文对应的目标预埋响应报文之前,获取真实生产环境中的请求报文、响应报文、以及请求报文与响应报文之间的关联关系;预埋真实生产环境中的请求报文、响应报文、以及请求报文与响应报文之间的关联关系,得到预埋响应报文和预埋报文关联关系。
可选地,预埋模块50具体可以用于将真实生产环境中的请求报文和响应报文,预埋在预设的基础报文表中;基础报文表中包含有预埋响应报文;将真实生产环境中的请求报文与响应报文之间的关联关系,预埋在预设的报文关联关系表中;报文关联关系表中包含有预埋报文关联关系。
可选地,确定模块30具体可以用于确定请求报文的请求标识;根据请求标识和关键数据信息,查询报文关联关系表,获取目标预埋响应报文的响应标识;根据响应标识,查询基础报文表,获取目标预埋响应报文。
可选地,挡板中预设有被测***的不同测试场景一一对应的测试场景报文表;测试场景报文表存储有对应测试场景的报文关系、报文顺序以及报文变量信息。
可选地,预埋模块50具体可以用于通过旁路引流方式或从生产日志数据中获取真实生产环境中的请求报文和响应报文;根据同时出现在真实生产环境中的请求报文和响应报文中的至少一个相同标识,建立请求报文与响应报文之间的关联关系。
图9示出了本发明实施例提供的***测试装置的又一结构示意图。
如图9所示,该***测试装置还可以包括:解析模块60,用于在获取模块10获取被测***对应的配置参数之前,对请求报文进行解析处理。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中方法的对应过程,本发明中不再赘述。
本发明实施例还提供一种电子设备,该电子设备可以是计算机、服务器等,可以用于利用软件程序作为挡板,模拟被测***的前、后端关联***。
图10示出了本发明实施例提供的电子设备的结构示意图。
如图10所示,该电子设备可以包括:处理器100、存储介质200和总线(图中未标出),存储介质200存储有处理器100可执行的机器可读指令,当电子设备运行时,处理器100与存储介质200之间通过总线通信,处理器100执行机器可读指令,以执行如前述方法实施例中所述的***测试方法。具体实现方式和技术效果类似,在此不再赘述。
基于此,本发明实施例还提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器运行时执行如前述方法实施例中所述的***测试方法。具体实现方式和技术效果类似,在此同样不再赘述。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种***测试方法,其特征在于,所述方法应用于挡板,所述方法包括:
获取被测***发送的请求报文、以及所述被测***对应的配置参数;
根据所述被测***对应的配置参数,从所述请求报文中提取关键数据信息;
根据所述请求报文、所述关键数据信息、以及预埋响应报文和预埋报文关联关系,确定所述请求报文对应的目标预埋响应报文;
根据上下文信息,替换所述目标预埋响应报文中的变量信息,生成目标响应报文,并返回给所述被测***。
2.根据权利要求1所述的方法,其特征在于,所述获取所述被测***对应的配置参数,包括:
根据所述请求报文,从预设的配置参数集中读取所述被测***对应的配置参数;其中,所述配置参数集中包含有至少一种被测***对应的配置参数。
3.根据权利要求2所述的方法,其特征在于,所述根据所述请求报文、所述关键数据信息、以及预埋响应报文和预埋报文关联关系,确定所述请求报文对应的目标预埋响应报文之前,所述方法还包括:
获取真实生产环境中的请求报文、响应报文、以及请求报文与响应报文之间的关联关系;
预埋所述真实生产环境中的请求报文、响应报文、以及请求报文与响应报文之间的关联关系,得到预埋响应报文和预埋报文关联关系。
4.根据权利要求3所述的方法,其特征在于,所述预埋所述真实生产环境中的请求报文、响应报文、以及请求报文与响应报文之间的关联关系,得到预埋响应报文和预埋报文关联关系,包括:
将所述真实生产环境中的请求报文和响应报文,预埋在预设的基础报文表中;所述基础报文表中包含有预埋响应报文;
将所述真实生产环境中的请求报文与响应报文之间的关联关系,预埋在预设的报文关联关系表中;所述报文关联关系表中包含有预埋报文关联关系。
5.根据权利要求4所述的方法,其特征在于,所述根据所述请求报文、所述关键数据信息、以及预埋响应报文和预埋报文关联关系,确定所述请求报文对应的目标预埋响应报文,包括:
确定所述请求报文的请求标识;
根据所述请求标识和所述关键数据信息,查询所述报文关联关系表,获取目标预埋响应报文的响应标识;
根据所述响应标识,查询所述基础报文表,获取目标预埋响应报文。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述挡板中预设有所述被测***的不同测试场景一一对应的测试场景报文表;所述测试场景报文表存储有对应测试场景的报文关系、报文顺序以及报文变量信息。
7.根据权利要求3所述的方法,其特征在于,所述获取真实生产环境中的请求报文、响应报文、以及请求报文与响应报文之间的关联关系,包括:
通过旁路引流方式或从生产日志数据中获取真实生产环境中的请求报文和响应报文;
根据同时出现在所述真实生产环境中的请求报文和响应报文中的至少一个相同标识,建立请求报文与响应报文之间的关联关系。
8.根据权利要求1所述的方法,其特征在于,所述获取所述被测***对应的配置参数之前,所述方法还包括:
对所述请求报文进行解析处理。
9.一种***测试装置,其特征在于,所述装置应用于挡板,所述装置包括:
获取模块,用于获取被测***发送的请求报文、以及所述被测***对应的配置参数;
提取模块,用于根据所述被测***对应的配置参数,从所述请求报文中提取关键数据信息;
确定模块,用于根据所述请求报文、所述关键数据信息、以及预埋响应报文和预埋报文关联关系,确定所述请求报文对应的目标预埋响应报文;
生成模块,用于根据上下文信息,替换所述目标预埋响应报文中的变量信息,生成目标响应报文,并返回给所述被测***。
10.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当所述电子设备运行时,所述处理器与所述存储介质之间通过所述总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1-8任一项所述的方法。
CN202010282660.9A 2020-04-12 2020-04-12 ***测试方法、装置及电子设备 Pending CN111427796A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010282660.9A CN111427796A (zh) 2020-04-12 2020-04-12 ***测试方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010282660.9A CN111427796A (zh) 2020-04-12 2020-04-12 ***测试方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN111427796A true CN111427796A (zh) 2020-07-17

Family

ID=71551855

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010282660.9A Pending CN111427796A (zh) 2020-04-12 2020-04-12 ***测试方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN111427796A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112597015A (zh) * 2020-12-17 2021-04-02 中国建设银行股份有限公司 一种***测试方法、装置、计算机设备和存储介质
CN114095380A (zh) * 2021-11-18 2022-02-25 中国建设银行股份有限公司 一种报文生成方法、挡板***、设备及存储介质
CN115065647A (zh) * 2022-06-20 2022-09-16 中银金融科技有限公司 一种数据计算方法、装置及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106027330A (zh) * 2016-05-23 2016-10-12 中国银行股份有限公司 一种前端***报文测试方法及模拟挡板***
CN106802865A (zh) * 2017-01-17 2017-06-06 中国工商银行股份有限公司 用于软件测试的应答模拟装置及方法
CN107656874A (zh) * 2017-11-07 2018-02-02 中国银行股份有限公司 一种接口测试方法、装置、模拟挡板及***
US20180060220A1 (en) * 2016-08-23 2018-03-01 Linkedin Corporation Fixture plugin for product automation
CN108255725A (zh) * 2018-01-18 2018-07-06 银联商务股份有限公司 测试方法及装置
CN109446063A (zh) * 2018-09-18 2019-03-08 深圳壹账通智能科技有限公司 接口测试方法、装置、计算机设备和存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106027330A (zh) * 2016-05-23 2016-10-12 中国银行股份有限公司 一种前端***报文测试方法及模拟挡板***
US20180060220A1 (en) * 2016-08-23 2018-03-01 Linkedin Corporation Fixture plugin for product automation
CN106802865A (zh) * 2017-01-17 2017-06-06 中国工商银行股份有限公司 用于软件测试的应答模拟装置及方法
CN107656874A (zh) * 2017-11-07 2018-02-02 中国银行股份有限公司 一种接口测试方法、装置、模拟挡板及***
CN108255725A (zh) * 2018-01-18 2018-07-06 银联商务股份有限公司 测试方法及装置
CN109446063A (zh) * 2018-09-18 2019-03-08 深圳壹账通智能科技有限公司 接口测试方法、装置、计算机设备和存储介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112597015A (zh) * 2020-12-17 2021-04-02 中国建设银行股份有限公司 一种***测试方法、装置、计算机设备和存储介质
CN114095380A (zh) * 2021-11-18 2022-02-25 中国建设银行股份有限公司 一种报文生成方法、挡板***、设备及存储介质
CN114095380B (zh) * 2021-11-18 2024-04-19 中国建设银行股份有限公司 一种报文生成方法、挡板***、设备及存储介质
CN115065647A (zh) * 2022-06-20 2022-09-16 中银金融科技有限公司 一种数据计算方法、装置及电子设备
CN115065647B (zh) * 2022-06-20 2024-04-16 中银金融科技有限公司 一种数据计算方法、装置及电子设备

Similar Documents

Publication Publication Date Title
CN107656874B (zh) 一种接口测试方法、装置、模拟挡板及***
CN110287109B (zh) 协议接口的测试方法、装置、计算机设备及其存储介质
CN111427796A (zh) ***测试方法、装置及电子设备
CN110287069B (zh) Esb接口自动化测试方法、服务器及计算机可读存储介质
CN111177005A (zh) 业务应用的测试方法、装置、服务器和存储介质
CN114500690B (zh) 接口数据处理方法、装置、电子设备及存储介质
CN111061696B (zh) 一种交易报文日志的解析方法及装置
CN110764980A (zh) 日志处理方法和装置
CN109784738B (zh) 审批方法及审批装置
CN114168190A (zh) 接口文档生成方法、装置、计算机设备和存储介质
CN112579437A (zh) 一种程序运行过程符合性验证方法
CN110046086B (zh) 用于测试的期望数据生成方法及装置和电子设备
CN112882957B (zh) 一种测试任务有效性检查方法和装置
CN111124937B (zh) 基于插桩函数辅助提高生成测试用例效率的方法及***
CN112181822A (zh) 一种测试方法和应用程序的启动耗时测试方法
CN112685316A (zh) 代码执行路径的获取方法、装置、计算机设备及存储介质
CN116680291A (zh) 数据检核方法、装置、电子设备及存储介质
CN113050925B (zh) 区块链智能合约修复方法及装置
CN112148574B (zh) 一种性能数据采集方法、计算机设备及存储介质
CN113282496B (zh) 接口自动测试方法、装置、设备及存储介质
CN113360363B (zh) 微服务***的测试方法、装置、设备和计算机存储介质
CN1932760B (zh) 用于运行应用程序的***和方法
CN113919309A (zh) 基于Excel宏功能的字段比对方法、装置、设备及存储介质
CN113051178A (zh) 测试数据构造方法、装置、设备及介质
CN112307088A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200717