CN112799713A - 一种通用可配置测试桩平台 - Google Patents
一种通用可配置测试桩平台 Download PDFInfo
- Publication number
- CN112799713A CN112799713A CN202011632016.6A CN202011632016A CN112799713A CN 112799713 A CN112799713 A CN 112799713A CN 202011632016 A CN202011632016 A CN 202011632016A CN 112799713 A CN112799713 A CN 112799713A
- Authority
- CN
- China
- Prior art keywords
- parameter
- project
- matching
- rule
- test pile
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种通用可配置测试桩平台。它包括数据接收模块,用以接收被测系统发出的往调交易报文;前端展示与配置服务模块用以进行项目配置,并在项目维度动态管理后端系统及对应的JAR包,JAR包内具有项目分类规则、入参匹配规则和出参规则代码;入参解析模块用以基于入参匹配规则对往调交易报文进行解析;出参模块用以匹配不同的出参规则输出出参信息。本发明由java整合web前端及后台相关开放框架及工具库,支持多协议可伸缩轻量级开发,解耦银行交易系统,在框架结构设计上严格分层,保证结构清晰层次分明,代码可读性可维护性强。并提供可视化配置界面,可由测试人员轻松完成项目及出入参各项配置,大大提高测试效率。
Description
技术领域
本发明涉及测试桩平台技术领域,具体涉及一种通用可配置测试桩平台。
背景技术
随着银行业务持续增长,新业务、新需求不断增加,版本开发迭代频繁,交付周期持续缩短,交付质量要求越来越高。
目前银行各版本的测试工作依旧采用手工测试的方式,传统手工测试的方式受项目成本及交付周期影响,具有项目回归测试范围小,回归测试效率低,持续多次重复回归测试等问题。
为了解决上述问题,需要引入测试自动化能力,保障在频繁迭代交付的过程中,持续守护已投产上线的项目质量,不因新业务的开展而影响老业务的正常运营。考虑到中间服务/接口层的自动化无论从测试效果还是成本上都是性价比较高的方式,也是当前互联网公司的主要自动化测试方式。
当前市场中有多种类型的接口测试桩解决方案,如Easymock、Moco、mockserver等等,这些产品要么比较适合单元测试,要么无法支持银行自定义协议,要么没有可交互前端系统,加上外部依赖较多,和银行交易系统集成时需要额外的学习使用时间,无法很好适配银行当前对可交互、多协议、高性能测试桩平台的需求。有些大中银行也有自建的测试桩方案,但这些方案与银行交易系统业务逻辑耦合较深,其测试桩返参数据基本以实际交易脱敏化报文为主,造成每一个新业务接口的模拟返参,都需要测试桩专门维护人员进行配置,这样一来随着业务发展越来越多,测试桩系统复杂度越来越高,可维护性越来越差,给整体接口测试带来很大的风险和成本投入。
鉴于银行交易系统的业务场景越来越多,各业务系统提供的接口呈现不断增长趋势,为了降低测试桩系统开发与维护成本,提升测试效率,本发明提供一种通用可配置测试桩系统,提供可视化配置界面,多协议可伸缩轻量级开发,而且测试人员即可轻松完成项目及出入参各项配置,具备可轻松交互、多协议定制、高并发性能、解耦银行交易系统等优点。
发明内容
本发明的目的是针对现有技术存在的不足,提供一种通用可配置测试桩平台。
为实现上述目的,本发明提供了一种通用可配置测试桩平台,包括:
数据接收模块,用以在被测系统往调服务需要访问测试桩平台时,接收被测系统发出的往调交易报文;
前端展示与配置服务模块,用以进行项目配置,并在项目维度动态管理后端系统及对应的JAR包,所述JAR包内具有项目分类规则、入参匹配规则和出参规则代码,从而实现项目级的测试桩分类,并根据不同的项目对应不同的测试桩协议入口,以便测试桩数据的分开管理,前端采用thymeleaf/js模板引擎,提供spring标准方言和一个集成SpringMVC的可选模块,可以快速实现表单绑定和属性编辑器功能,以便于对测试桩的系统、版本、协议以及路由规则进行快速配置;
入参解析模块,用以装载配置过程中事先添加的JAR包,并基于入参匹配规则以对接收的往调交易报文进行解析,从而获取入参关键值;
出参模块,用以装载配置过程中事先添加的JAR包,并初始化路由标识中给定的类,进而根据不同的入参关键值匹配不同的出参规则,从而输出相应的出参信息。
进一步的,所述被测系统通过事先配置好的rsf-consumer.xml文件进行匹配,该xml文件中指明了测试桩平台的ip地址和服务端口,以将往调交易报文发送至目标测试桩平台。
进一步的,所述项目配置包括项目所涉及系统相关配置、后端被调系统协议相关配置和协议下路由规则相关配置,且其包括以下步骤:
1)项目管理:系统管理员新建项目,并分配项目对应的管理员账户,各个项目管理员数据隔离,互不可见;
2)下游依赖系统管理:通过系统管理集中维护本项目涉及的所有预模拟的下游系统;
3)RSF契约包管理:下游系统接口若为RSF协议,则需要通过“jar包管理”集中维护;
4)添加下游接口版本;
5)在特定版本下添加协议:所述协议包括RSF、HTTP和TCP;
6)设置接口路由:路由地址参考下游服务提供地址,用于被测对象实际调用;
7)设置接口入参匹配规则与出参规则,所述入参匹配规则与出参规则一一对应,用于实现不同入参,返回不同的出参,测试单个接口不同返回场景。
进一步的,所述入参匹配规则包括如下方式:
1)单条件字符匹配
入参字段值解析为字符串时,匹配条件有等于、包含、不包含、正则匹配;
入参字段值解析为数字是,匹配条件有等于,大于,小于,大于等于,小于等于,不等于;
2)组合条件匹配
多个单条件组合是支持与、或关系,条件个数没有限制;
3)括号优先级
正常组合解析顺序为从左到右,含有“()”时会优先解析“()”内的表达式,再从左到右进行解析。
进一步的,所述出参规则包括以下方式:
1)从入参关键值直接获取字段值;
2)入参字段值简单逻辑处理后设定;
3)硬编码设定;
4)内置方法动态生成,包括获取当前日期、指定长度的随机数值、指定长度随机字符串、指定上下限的随机数值,字符串的截取和/或拼接。
有益效果:本发明由java整合web前端及后台相关开放框架及工具库,支持多协议可伸缩轻量级开发,解耦银行交易系统,在框架结构设计上严格分层,保证结构清晰层次分明,代码可读性可维护性强。并提供可视化配置界面,可由测试人员轻松完成项目及出入参各项配置,大大提高测试效率,并具有以下优点:
可轻松交互:项目、系统、版本、协议、出入参规则五个层级的可视化配置界面,层次分明,简洁易懂;
多协议定制:根据约定的接口可以轻松衍生开发多种协议,支持当前主流通用协议及银行定制化协议;
高并发性能:从web前端到后台数据库,均采用业界优秀的通用框架,可支持大并发量;
解耦银行交易:所有出入参均在前台界面自由录入,无需引入脱敏化原始交易报文入参数据,因此无银行业务相关硬编码。
附图说明
图1是本发明实施例的通用可配置测试桩平台的结构示意图;
图2是后端被调系统协议相关配置的界面图;
图3是后端被调系统协议相关配置的界面图;
图4是协议下路由规则相关配置界面图;
图5是RSF与HTTP信息根据IP、端口、路由标识信息动态注册的地址的示意图。
具体实施方式
下面结合附图和具体实施例,进一步阐明本发明,本实施例在以本发明技术方案为前提下进行实施,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围。
如图1所示,本发明实施例提供了一种通用可配置测试桩平台,包括数据接收模块1、前端展示与配置服务模块2、入参解析模块3和出参模块4。
其中,数据接收模块1用以在被测系统往调服务需要访问测试桩平台时,接收被测系统发出的往调交易报文。具体的,被测系统通过事先配置好的rsf-consumer.xml文件进行匹配,该xml文件中指明了测试桩平台的ip地址和服务端口,以将往调交易报文发送至目标测试桩平台。
前端展示与配置服务模块2用以进行项目配置,并在项目维度动态管理后端系统及对应的JAR包,JAR包内具有项目分类规则、入参匹配规则和出参规则代码,从而实现项目级的测试桩分类,并根据不同的项目对应不同的测试桩协议入口,以便测试桩数据的分开管理,前端采用thymeleaf/js模板引擎,提供spring标准方言和一个集成SpringMVC的可选模块,可以快速实现表单绑定和属性编辑器功能,以便于对测试桩的系统、版本、协议以及路由规则进行快速配置。
入参解析模块3用以装载配置过程中事先添加的JAR包,并基于入参匹配规则以对接收的往调交易报文进行解析,从而获取入参关键值;
出参模块4用以装载配置过程中事先添加的JAR包,并初始化路由标识中给定的类,进而根据不同的入参关键值匹配不同的出参规则,从而输出相应的出参信息。
项目配置包括项目所涉及系统相关配置、后端被调系统协议相关配置和协议下路由规则相关配置,项目即被测系统,其后端调用的系统不尽相同。该测试桩平台可以在项目维度动态管理后端系统及对应的JAR包,包括添加、删除、更新等操作。为兼容不同版本的后端系统,该平台支持为后端系统设置不同的版本。图2和图3是后端被调系统协议相关配置的界面图,每个系统支持多种协议,该平台当前支持RSF、HTTP、TCP等三种常见协议。每种协议均支持添加、删除、启动、停止等操作。图4是协议下路由规则相关配置界面图,这里,路由是一个通用的说法:对RSF协议,路由就是契约名,往调服务通过契约名匹配对应的规则;对HTTP协议,路由就是URI,往调服务通过URI来匹配对应的规则;对TCP协议,路由为空,往调服务直接通过入参解析来匹配规则。路由规则,主要包括入参匹配规则、出参规则、响应时延、异步响应状态等设置,支持添加、删除、修改等操作。
当被测系统往调服务需要访问测试桩平台时,会通过事先配置好的rsf-consumer.xml文件进行匹配,该xml文件中指明了测试桩平台的ip地址和服务端口。
项目配置具体包括以下步骤:
1)项目管理:系统管理员新建项目,并分配项目对应的管理员账户,各个项目管理员数据隔离,互不可见。
2)下游依赖系统管理:通过系统管理集中维护本项目涉及的所有预模拟的下游系统。
3)RSF契约包管理:下游系统接口若为RSF协议,则需要通过“jar包管理”集中维护。HTTP、TCP协议无须此步骤。
4)添加下游接口版本。:比如2.3.6。
5)在特定版本下添加协议:协议包括RSF、HTTP和TCP。
6)设置接口路由:路由名称为路由别名,便于管理;路由地址参考下游服务提供地址,用于被测对象实际调用。
7)设置接口入参匹配规则与出参规则,所述入参匹配规则与出参规则一一对应,用于实现不同入参,返回不同的出参,测试单个接口不同返回场景。
入参匹配规则包括如下方式:
1)单条件字符匹配
入参字段值解析为字符串时,匹配条件有等于、包含、不包含、正则匹配。
入参字段值解析为数字是,匹配条件有等于,大于,小于,大于等于,小于等于,不等于。
2)组合条件匹配
多个单条件组合是支持与、或关系,条件个数没有限制。
3)括号优先级
正常组合解析顺序为从左到右,含有“()”时会优先解析“()”内的表达式,再从左到右进行解析。
上游系统请求测试桩时,测试桩通过前置切面方法将请求入参与“匹配规则”进行匹配,若有规则匹配中则根据对应“出参规则”组织响应。若匹配到多个规则,则根据规则定义时间先后顺序,匹配最新规则;如没有匹配到任何已定义的规则,则返回默认出参。
出参规则包括以下方式:
1)从入参关键值直接获取字段值。
例如:output.test=input.test,将出参中”test”值设置为入参中“test”字段值。
2)入参字段值简单逻辑处理后设定。
例如:output.test=input.test1+input.test2,将出参中”test”值设置为入参中“test1”字段与“test2”字段的值(字符串)相加。
3)硬编码设定。例如:output.test=set.123,将出参中”test”值设置为“123”。
4)内置方法动态生成。内置方法包括获取当前日期(不同格式)、指定长度的随机数值、指定长度随机字符串、指定上下限的随机数值,字符串的截取/拼接等。
“出参规则”就是利用上面几种方式对出参字段值进行定义,根据入参“匹配规则”来唯一确定测试桩响应报文。默认出参可以理解为一种特殊的“出参规则”,其不可定义入参“匹配规则”,用于既定的入参“匹配规则”均不匹配时确定返回报文,其设置方式与正常的“出参规则”一致。
通过以上方式,本平台支持如下四种隔离:项目隔离、版本隔离、下游系统隔离、协议隔离。
1)项目隔离
不同的项目间,配置数据互不可见,接口请求互不影响,独立配置版本、下游系统、协议、接口出人参规则等信息。不同项目,后管页面账户数据隔离,不同账户数据互不可见。
2)下游系统隔离
不同下游系统隔离是指不同的下游系统间接口请求互不影响,独立配置协议、接口出入参规则等信息。
3)版本隔离
同下游依赖系统不同版本隔离是指不同的版本间接口请求互不影响,独立配置下游系统、协议、接口出入参规则等信息。
4)协议隔离
同系统不同协议隔离是指不同的协议间接口请求互不影响,独立配置协议、接口出入参规则等信息。
根据上述的隔离机制,在后管完成配置时,就已经动态分配IP地址与端口信息。RSF与HTTP信息根据IP、端口、路由标识信息动态注册地址,并在对应地址启动服务。地址生成规则为:协议固定前缀+IP地址:端口+路由标识。以HTTP为例,图5中地址为:http://[IP地址:端口]/epps-pag/apiGateway/merchantOrder/queryMerchantOrder.do
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,其它未具体描述的部分,属于现有技术或公知常识。在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (5)
1.一种通用可配置测试桩平台,其特征在于,包括:
数据接收模块,用以在被测系统往调服务需要访问测试桩平台时,接收被测系统发出的往调交易报文;
前端展示与配置服务模块,用以进行项目配置,并在项目维度动态管理后端系统及对应的JAR包,所述JAR包内具有项目分类规则、入参匹配规则和出参规则代码,从而实现项目级的测试桩分类,并根据不同的项目对应不同的测试桩协议入口,以便测试桩数据的分开管理,前端采用thymeleaf/js模板引擎,提供spring标准方言和一个集成SpringMVC的可选模块,可以快速实现表单绑定和属性编辑器功能,以便于对测试桩的系统、版本、协议以及路由规则进行快速配置;
入参解析模块,用以装载配置过程中事先添加的JAR包,并基于入参匹配规则以对接收的往调交易报文进行解析,从而获取入参关键值;
出参模块,用以装载配置过程中事先添加的JAR包,并初始化路由标识中给定的类,进而根据不同的入参关键值匹配不同的出参规则,从而输出相应的出参信息。
2.根据权利要求1所述的通用可配置测试桩平台,其特征在于,所述被测系统通过事先配置好的rsf-consumer.xml文件进行匹配,该xml文件中指明了测试桩平台的ip地址和服务端口,以将往调交易报文发送至目标测试桩平台。
3.根据权利要求1所述的通用可配置测试桩平台,其特征在于,所述项目配置包括项目所涉及系统相关配置、后端被调系统协议相关配置和协议下路由规则相关配置,且其包括以下步骤:
1)项目管理:系统管理员新建项目,并分配项目对应的管理员账户,各个项目管理员数据隔离,互不可见;
2)下游依赖系统管理:通过系统管理集中维护本项目涉及的所有预模拟的下游系统;
3)RSF契约包管理:下游系统接口若为RSF协议,则需要通过“jar包管理”集中维护;
4)添加下游接口版本;
5)在特定版本下添加协议:所述协议包括RSF、HTTP和TCP;
6)设置接口路由:路由地址参考下游服务提供地址,用于被测对象实际调用;
7)设置接口入参匹配规则与出参规则,所述入参匹配规则与出参规则一一对应,用于实现不同入参,返回不同的出参,测试单个接口不同返回场景。
4.根据权利要求1所述的通用可配置测试桩平台,其特征在于,所述入参匹配规则包括如下方式:
1)单条件字符匹配
入参字段值解析为字符串时,匹配条件有等于、包含、不包含、正则匹配;
入参字段值解析为数字是,匹配条件有等于,大于,小于,大于等于,小于等于,不等于;
2)组合条件匹配
多个单条件组合是支持与、或关系,条件个数没有限制;
3)括号优先级
正常组合解析顺序为从左到右,含有“()”时会优先解析“()”内的表达式,再从左到右进行解析。
5.根据权利要求1所述的通用可配置测试桩平台,其特征在于,所述出参规则包括以下方式:
1)从入参关键值直接获取字段值;
2)入参字段值简单逻辑处理后设定;
3)硬编码设定;
4)内置方法动态生成,包括获取当前日期、指定长度的随机数值、指定长度随机字符串、指定上下限的随机数值,字符串的截取和/或拼接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011632016.6A CN112799713B (zh) | 2020-12-31 | 2020-12-31 | 一种通用可配置测试桩平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011632016.6A CN112799713B (zh) | 2020-12-31 | 2020-12-31 | 一种通用可配置测试桩平台 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112799713A true CN112799713A (zh) | 2021-05-14 |
CN112799713B CN112799713B (zh) | 2022-06-28 |
Family
ID=75808341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011632016.6A Active CN112799713B (zh) | 2020-12-31 | 2020-12-31 | 一种通用可配置测试桩平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112799713B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113836031A (zh) * | 2021-09-29 | 2021-12-24 | 长江存储科技有限责任公司 | 用于嵌入式系统测试的系统、方法、设备以及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104618182A (zh) * | 2015-01-21 | 2015-05-13 | 中国移动通信集团广东有限公司 | 一种支持多种移动业务协议的模拟测试系统 |
CN104683386A (zh) * | 2013-11-26 | 2015-06-03 | 腾讯科技(深圳)有限公司 | 可定制响应的桩服务实现方法及装置 |
CN110727475A (zh) * | 2019-10-12 | 2020-01-24 | 四川新网银行股份有限公司 | 基于配置化智能服务调用方法 |
-
2020
- 2020-12-31 CN CN202011632016.6A patent/CN112799713B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104683386A (zh) * | 2013-11-26 | 2015-06-03 | 腾讯科技(深圳)有限公司 | 可定制响应的桩服务实现方法及装置 |
CN104618182A (zh) * | 2015-01-21 | 2015-05-13 | 中国移动通信集团广东有限公司 | 一种支持多种移动业务协议的模拟测试系统 |
CN110727475A (zh) * | 2019-10-12 | 2020-01-24 | 四川新网银行股份有限公司 | 基于配置化智能服务调用方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113836031A (zh) * | 2021-09-29 | 2021-12-24 | 长江存储科技有限责任公司 | 用于嵌入式系统测试的系统、方法、设备以及介质 |
CN113836031B (zh) * | 2021-09-29 | 2024-05-10 | 长江存储科技有限责任公司 | 用于嵌入式系统测试的系统、方法、设备以及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112799713B (zh) | 2022-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7428597B2 (en) | Content-based routing system and method | |
US20090070162A1 (en) | System, Method And Graphical User Interface For Workflow Generation, Deployment And/Or Execution | |
CN108509392B (zh) | 多机构对账方法、系统、计算机设备和存储介质 | |
CN106021111A (zh) | 接口测试方法及系统 | |
WO2002103491A2 (en) | Integrating enterprise support systems | |
CN110119292A (zh) | 系统运行参数查询方法、匹配方法、装置及节点设备 | |
US9262241B2 (en) | Computer system, computer-implemented method and computer program product for sequencing incoming messages for processing at an application | |
CN112799713B (zh) | 一种通用可配置测试桩平台 | |
CN113157598A (zh) | 接口测试方法和模拟挡板 | |
US11687387B2 (en) | Information management system router | |
CN112688802B (zh) | 一种基于api网关的高效能交换中间件 | |
CN113157904A (zh) | 基于dfa算法的敏感词过滤方法及系统 | |
CN110209578A (zh) | 一种信息在线测试平台 | |
CN115858352A (zh) | 云挡板测试系统调用系统及方法 | |
CN115048359A (zh) | 一种多类型接入数据源的通用数据处理架构设计方法 | |
Brahneborg et al. | A lightweight architecture analysis of a monolithic messaging gateway | |
CN114493570A (zh) | 基于集团内部专线的跨境汇款处理方法及装置 | |
CN111104161B (zh) | 一种数据库sql脚本的自动审批执行方法 | |
CN112819605A (zh) | 资金结算业务测试方法、装置及计算机可读介质 | |
CN112967035A (zh) | 跨数据库进行业务系统追账/测评方法及系统 | |
CN113377801A (zh) | 数据检验方法、装置、电子设备及计算机存储介质 | |
CN111078668A (zh) | 数据生成方法、装置、电子设备和存储介质 | |
CN116578655B (zh) | 一种数据传输系统及其控制方法 | |
CN117812040A (zh) | 变更计划的验证方法与验证系统 | |
CN116627677A (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 |