CN111221739A - 业务测试方法、装置和系统 - Google Patents
业务测试方法、装置和系统 Download PDFInfo
- Publication number
- CN111221739A CN111221739A CN202010026983.1A CN202010026983A CN111221739A CN 111221739 A CN111221739 A CN 111221739A CN 202010026983 A CN202010026983 A CN 202010026983A CN 111221739 A CN111221739 A CN 111221739A
- Authority
- CN
- China
- Prior art keywords
- service
- test
- template
- message
- 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.)
- Granted
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 436
- 238000000034 method Methods 0.000 claims abstract description 54
- 238000004458 analytical method Methods 0.000 claims abstract description 33
- 230000008569 process Effects 0.000 claims abstract description 33
- 238000012545 processing Methods 0.000 claims description 76
- 230000003993 interaction Effects 0.000 claims description 45
- 230000004044 response Effects 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 8
- 238000011161 development Methods 0.000 abstract description 11
- 238000006243 chemical reaction Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 15
- 230000006978 adaptation Effects 0.000 description 11
- 230000008676 import Effects 0.000 description 9
- 238000012795 verification Methods 0.000 description 9
- 230000002452 interceptive effect Effects 0.000 description 8
- 239000002184 metal Substances 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 238000011990 functional testing Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000007639 printing Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 244000035744 Hura crepitans Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013100 final test Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
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/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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
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是根据本发明一个实施例的业务测试方法的主要流程的示意图;
图2是根据本发明实施例的生成业务测试模板的主要流程的示意图;
图3是根据本发明另一个实施例的业务测试方法的主要流程的示意图;
图4是根据本发明实施例的为业务测试模板生成报文的主要流程的示意图;
图5是根据本发明实施例的通过报文与服务组件交互的主要流程的示意图;
图6是根据本发明实施例的交互界面的结构示意图;
图7是根据本发明实施例的业务测试方法的主要流程的示意图;
图8是根据本发明实施例的业务测试装置的主要模块的示意图;
图9是根据本发明实施例的业务测试系统的主要装置的示意图;
图10是根据本发明实施例的业务测试系统的主要装置的示意图;
图11是本发明实施例可以应用于其中的示例性系统架构图;
图12是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
目前,将商业银行的金融产品向第三方平台推广是目前互联网环境下C端(C端是指商业银行创新与推广的客户端)突围的重中之重。随着出海项目(出海项目是指由商业银行输出到第三方平台,且由第三方平台选择合适的接入模式进行推广的产品)需求的日趋增长,大量的出海项目依赖于第三方平台功能的搭建。此种场景下,对于开发出的出海项目等,仅当第三方完成预定功能开发后,才能真正开展业务测试。但通常第三方平台的开发与测试流程不受商业银行的约束,从而造成出海项目/金融产品上线时无法充分完成业务测试。
软件开发工具包(Software Development Kit,SDK),一般是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合,比如商业银行为第三方平台提供的能够与商业银行的交易系统对接的开发工具的集合,以供第三方平台开发及使用。
业务测试模板是指可用于终端的,能够模拟第三方基于软件开发工具包开发出的客户端/插件等。
测试用数据是指模拟业务的数据如注册账户信息、交易数据等。
外部服务组件是指商业银行开放平台,即商业银行提供的用于与第三方合作的平台。
报文(message)是网络中交换与传输的数据单元,即站点一次性要发送的数据块。报文包含了将要发送的完整的数据信息,其长短很不一致,长度不限且可变。
图1是根据本发明实施例的一种业务测试方法。如图1所示,该业务测试方法可包括如下步骤:
S101:接收并解析软件开发工具包;
S102:根据解析的结果,为软件开发工具包生成业务测试模板;
S103:确定与业务测试模板相关的测试用数据;
S104:为业务测试模板生成业务测试报文,通过业务测试报文与外部服务组件交互,处理测试用数据,以实现业务测试。
即,通过以向第三方提供的SDK为蓝本,生成业务测试模板,根据生成的业务测试模板的栏位模拟第三方进行测试用数据的确定,为业务测试模板生成业务测试报文,通过业务测试报文与服务组件交互处理测试用数据;因此,本发明实施例提供的方案无需等待第三方平台开发功能即可进行测试,使业务测试能够及时完成,而不受第三方平台开发的约束。另外,由于业务测试模板是基于软件开发工具包形成的,而在测试的过程中业务测试模板与外部服务组件进行交互,使整个测试能够真实的反映业务处理场景,因此,本发明实施例提供的方案能够使业务测试在不受第三方平台约束的前提下,能够有效地提高测试的准确性。
另外,本发明实施例提供的业务测试方法与SDK本身无耦合,可自由扩展,还可进行压力测试和非功能测试。
与现有的通过设置挡板来模拟接入方发起交易后的响应(其虽然能解决SDK本身的缺陷,无法发现中后端系统的缺陷。)相比,本发明实施例提供的方案是为业务测试模板生成业务测试报文,通过业务测试报文与外部服务组件交互,实现可灵活配置的端到端的测试。
在本发明一个实施例中,上述业务测试方法,进一步包括:存储有多个参数配置集合,每一个参数配置集合中包括基本信息以及与基本信息相匹配的多个字段参数,其中,基本信息指示类型、语言以及包名中的任意一个或多个;相应地,
解析软件开发工具包的一个具体实施方式可包括:获取软件开发工具包的基本信息;在存储的多个参数配置集合中,查找与基本信息相匹配的目标参数配置集合;基于目标参数配置集合中的多个字段参数,抽取出接口字段。
针对外部服务组件为商业银行开放平台来说,商业银行为了提供给第三方多种不同的产品以完成与商业银行开放平台的交易,商业银行通常提供两类不同的SDK,分别为通用SDK和专用SDK。其中,通用SDK为第三方接入的基础开发包,定义了第三方接入的通用服务和参数。专用SDK为开放平台发布的某一特定产品的软件开发包,通常包含了该产品服务的全部接口。因此,本发明实施例涉及的SDK解析,包括通用SDK解析和专用SDK解析,通用SDK解析一般用于解析获取公共接口域,如通过解析通用SDK,获取某商业银行的通用报文格式和内容;而服务专用SDK则根据第三方的不同需求,虽呈现出基于页面模式SDK和接口模式SDK的两种不同模式,但均可通过解析服务专用SDK,从而获取具有相应功能的接口文件。此外,通用SDK还包含一系列测试参数配置信息,如沙盒地址、证书路径、公钥私钥信息、域名证书路径、建立连接超时时间、读取相应超时时间等。而这些测试参数也可以存储在统一测试参数配置库中。即上述每一个参数配置集合存放有SDK相应的配置参数。
由于目前90%的SDK均采用JAVA模式进行开发,本发明实施例以基于JAVA解析SDK为例说明解析SDK的实现具体实现。通过完成元数据配置(该元数据配置是描述SDK相关信息的数据,或者说中介数据。为后续SDK解析提供基础信息。一个元数据配置对应一个参数配置集合,即根据获取到SDK的名称,为该SDK查找与名称相匹配的目标参数配置集合,通过目标参数配置集合中的字段参数,抽取出接口字段),利用目标参数配置集合可完成SDK类型、语言、包名、对于系统内部逻辑有影响的字段名(例如错误码、错误描述、交易状态、交易码、流水号等)等参数的配置,并保存在数据库。另外,上述元数据配置还可通过人工完成。也就是说,通过读取数据库中存储的SDK基本信息,然后JAVA反射获取SDK中的类名、方法名、和接口字段,完成SDK的解析。比如某账户服务的SDK提供了开户、身份核查、短信验证等多个不同交易,获取SDK的名称以及通过包扫描和JAVA反射即可完成全部交易的接口字段获取,即通过目标参数配置集合中的字段参数,即可产生交易测试模板生成所需的必要数据/接口字段。
在本发明一个实施例中,上述为软件开发工具包生成业务测试模板的具体实施方式可包括:抽取出配置有字段参数的接口字段对应的业务模块信息;根据预设的数据字典和预设的模板类型,为业务模块信息生成对应的业务测试模板。该业务模块是指完成一项业务所需的操作、参数、栏位等的集合。数据字典是指商业银行采用的一种全行的规范,对每个行内使用的名词,定义其中文、英文、数据项编号、数据长度等格式。该预设的模板类型为用户根据自己习惯或者根据需求选定的,其可包括:xml格式、json格式、excel格式、txt格式、HTML格式、H5界面格式等。
在本发明一个实施例中,上述业务测试方法进一步包括:接收用户配置的业务处理流程,业务处理流程指示多个选定的业务模块;相应地,为业务模块信息生成对应的业务测试模板的具体实施方式包括:为每一个选定的业务模块所对应的业务模块信息生成对应的业务测试模板。该用户配置的业务处理流程可以为用户选择各个业务模块之间的连接关系,如用户通过有向箭头连接账号注册业务模块与信息验证业务模块,以使业务处理流程指示从注册业务到信息验证业务。一个SDK通常可包含很多的业务模块,根据第三方的需求可对其中一个或多个业务模块进行开发,该选定的业务模块是指被用户选择的用于业务处理的模块。其具体的选择和配置过程都是由用户根据需求实现的。因此,本发明实施例提供的方案基于用户配置的业务流程,可以实现多种不同形式的业务测试模板自由生成。
通过上述过程,将SDK中的业务测试内容、形成的报文格式与测试案例解耦,SDK的修改,无需重复配置,仅需重复测试即可;因此,本发明实施例提供的方案扩展性强。
本发明实施例提供的整个方案只需要导入SDK以及填写测试参数等基本信息即可完成测试,业务测试模板的生成,报文生成、组装、发送均自动完成,大大提高测试效率,而且无需人工干预,自动性强。
在本发明一个实施例中,上述业务测试方法,进一步包括:接收用户输入的业务测试模板所依托终端的配置信息;相应地,为软件开发工具包生成业务测试模板的具体实施方式可包括:为软件开发工具包生成与配置信息相匹配的业务测试模板。该过程实现了为业务测试进行终端适配,该获取配置信息的具体实施方式可包括对终端安装的操作系统适配、终端解析、终端用户使用权限适配和终端页面格式调整,从而生成适用于不同终端、不同操作系统的业务测试模板交付文件。操作系统适配需要基于不同的操作系统(如Linux操作系统、windows操作系统或苹果操作系统等),对测试模板进行适配;终端解析则可以根据不同终端(如基于PC或基于手机端等)进行适配;终端用户使用权限适配,则可通过获取终端摄像头权限、录音权限、文件存储等权限进而适配;终端页面格式调整则基于不同窗口格式大小、字体格式大小等进行调整。该适配的具体过程即根据获取到的终端的配置信息,调整业务测试模板中与终端相关的适配信息。
综上可知,生成业务测试模板步骤的主要流程可如图2所示,包括如下步骤:
S201:SDK解析;
在该SDK解析步骤中主要包括:通用SDK解析、专用SDK解析以及测试参数配置,其中,通用SDK解析主要是对公共的接口/接口域进行解析,专用SDK解析是对业务专有的接口、栏位等进行解析,该解析的过程主要是为接口的字段、栏位等配置相应的测试参数,以保证不同业务处理模块所对应的接口、属性信息如栏位信息等的完整性。该解析过程在上面已经详细阐述,在此不再赘述。
S202:模板生成;
在该步骤模板生成过程中,是为每一个业务处理模块生成对应的业务测试模板,其具体可为,根据用户选择的模板类型为上述步骤S201SDK解析后的文件,匹配模板类型,并获取步骤S201解析出的SDK中每一个业务处理模块包含的信息,根据数据字典,对通过将SDK中每一个业务处理模块包含的信息进行模板要素解析,实现对业务处理模块中的模块要素管理,该模板要素管理主要是为了能满足服务组件的要求/能够被服务组件所识别,将模板要素转换为能够被服务组件所识别的表达方式。以交付出每一个业务处理模块对应的匹配出的模板类型所对应的业务测试模板。即该步骤包括有模板类型匹配、确定SDK解析出的信息以及模板要素管理,以得到匹配出的模板类型所对应的业务测试模板。模板类型匹配与确定SDK解析出的信息之间没有严格的先后顺序。
S203:终端适配;
该步骤S203可包括:操作系统适配、终端解析(该终端的基本信息如手机、平板、PC等的基本信息,以确定出该终端的类型)、终端用户使用权限获取(获取摄像头使用权限、照片图库权限、记事本权限等的获取)以及终端页面调整(根据终端的尺寸,调整展示的页面大小)。其中,操作系统适配、终端解析、终端用户使用权限获取以及终端页面调整之间没有严格的先后顺序。图2仅示例性的给出了一个实现方式。
S204:流程串接。
该步骤的存在主要是由用户是否设定有业务处理流程决定,通过判断是否配置有交易流程串接,如果是,则对配置的该交易流程串接进行解析,对交易前后的业务测试模板进行管理,如业务测试模板1处理后的数据输出给业务测试模板2等,并可将这些业务测试交易流程存储交易流程管理配置库,以供后续直接调用。
为了能够实现业务测试模板与服务组件交互,并被服务组件所识别,需为业务测试模板生成能够被服务组件所识别的报文。
在本发明一个实施例中,如图3所示,在确定与业务测试模板相关的测试用数据之后,上述业务测试服务可进一步包括:
S301:根据预设的数据字典,为业务测试模板匹配对应的数据项;
该步骤的具体实现方式可为,基于上面生成的业务测试模板所包含的模板要素信息,结合企业级数据字典(即数据字典),匹配数据项英文字段,获取数据项的全局信息(含数据项编号、数据项中文名称、数据项属性、栏位长度和数据项说明等);一般来说一个商用银行有一个自己专门的数据字典,以将模板要素信息转换为规范格式。即该步骤的数据项格式转换,是基于数据字典将业务测试模板中的接口转换成符合规范的格式(如将数据项英文名称转换为驼峰格式等)。
S302:校验与数据项相对应的测试用数据是否满足需求,如果是,则执行S303;否则,执行S304;
该步骤的校验主要是对数据项进行校验,根据数据项基本要素(如栏位属性、字段长度、字段格式等),校验业务测试模板中的测试要素信息。
S303:将测试用数据组装到相对应的数据项,并基于数据项组装业务测试报文,执行S305;
S304:提示测试存在问题,并结束当前流程;
S305:将业务测试报文发送给外部服务组件;
S306:接收外部服务组件返回的针对业务测试报文的处理结果。
在本发明一个实施例中,上述方法进一步包括:确定外部服务组件所需的通用要素;将通用要素组装到相对应的数据项。
在本发明一个实施例中,业务处理流程进一步指示多个选定的业务模块之间的连接关系;相应地,确定与业务测试模板相关的测试用数据的具体实施方式包括:针对多个选定的业务模块中的每一个选定的业务模块,执行:判断选定的业务模块是否属于业务处理流程中的起始业务模块,如果是,则接收用户为选定的业务模块设置的测试用数据;否则,将业务处理流程中的选定的业务模块所对应的上一选定的业务模块所对应的处理结果确定为选定的业务模块的测试用数据。
另外,在本发明一个实施例中,上述方法还可进一步包括:报文组装,该报文组装由通用域报文组装和报文体组装两部分组成。其中,通用域报文组装主要是将通用接口域组装形成符合商业银行规定格式的通用域报文,比如某商业银行通用域包含多实体标识(如境内实体、中德实体、香港实体等)、交易种类(如正交易、冲正交易等)、交易机构、全局事件跟踪号(即交易流水号,可通过产生该流水的机器分类编号、机器生成的随机数及交易日期和时间等要素组成)等各通用要素,则需要为测试业务模板组装这些内容,以满足需求。报文体组装,则是根据前面业务测试模板生成步骤中是否存在用户配置的业务处理流程如交易流程串接,如果存在,则根据用户配置的交易流程串接,从而组装成交易串接报文。该交易串接报文,主要是根据交易处理流程,将服务组件为当前业务测试模板对应的报文产生的处理结果作为当前业务测试模板对应的下一业务测试模板对应的报文的数据输入,将服务组件为当前业务测试模板对应的报文产生的处理结果,录入到当前业务测试模板对应的下一业务测试模板对应的报文内。
在本发明一个实施例中,上述业务测试方法可进一步包括:报文格式转换。该报文格式转换主要是为了能够使业务测试模板对应的报文能够被服务组件所识别。即该报文格式转换负责将形成的报文转换成符合SDK规定的报文格式。首先,需要对报文格式进行解析,比如某商业银行的SDK规定的报文格式仅支持xml格式和json格式两种,则需通过格式转换服务实现报文转换;其次,需要对部分特殊字符格式(如金额、用户录入的日期时间等)进行转换;最终生成符合规范的报文,供后续使用。
综上可知,在上述业务测试模板生成步骤之后,可进一步包括为业务测试模板生成对应的报文。如图4所示,该为业务测试模板生成报文的步骤可包括:
S401:数据字典解析;
该步骤通过商业银行配置的企业级数据字典,为业务测试模板中的数据项匹配对应的数据;为了保证数据项符合规范,还需要校验数据项,该校验数据项主要是对数据项的字段长度、字段格式等进行校验,从而完成对业务测试模板中数据项格式的转换。
S402:报文格式转换;
该报文格式转换负责将形成的报文转换成符合SDK规定的报文格式。该步骤主要包括格式解析、格式转换、特殊字符格式化,从而最终为每一个业务测试模板对应的报文。该格式解析主要是解析出前面测试模板生成步骤中获取到的SDK中所包括的格式,格式转换则是将业务测试模板转换为解析出的格式的报文,该转换过程是通过预设的格式转换器完成的,该格式转换器可以包括xml格式转换器、json格式转换器以及其他格式转换器。特殊字符格式化主要是对特殊字字符如金额、日期、时间等转换为服务组件可以识别的格式。
S403:报文组装。
该报文组装是对上述步骤S402报文格式转换生成的报文进行组装,主要包括通用域报文组装和报文体报文组装,并通过判断是否设置有交易流程,来判断是否完成报文,如果是,则确定报文完成,否则,对交易前后报文件组装,该交易前后报文件组装的具体过程主要是将服务组件处理交易流程中的当前报文,产生的当前处理结果,输入到当前报文对应的下一报文,以将下一报文输出给服务组件,以对该下一报文进行处理。因此,上述报文组装实现了将前置交易报文及后续交易报文内容进行解析、组装,形成基于测试模板类型的测试模板要素。比如,某商业银行为第三方提供的开户交易,分为已有账户检查、身份核查、客户信息录入及银行卡开立等多个步骤,通过解析交易流程,生成基于测试模板格式对应的各交易服务业务测试报文必需要素。其中针对各交易流程内部的非必需要素(如客户信息录入时需要的卡片信息,可由前置交易的卡预检服务提供),无需额外展现。
另外,针对测试人员以不同模板填写测试用数据/产生业务测试模板,均通过解析SDK参数完成通用域和报文域的拼装,以及根据SDK的规范完成报文的格式转换,报文栏位的检核和格式处理,完全屏蔽测试人员的对SDK技术细节的了解,从而将关注转移到业务测试要素上来,测试人员并不需要技术上的处理。
综上可知,结合上述业务测试模板生成步骤以及报文生成步骤,可根据SDK提供的交易接口、接口栏位自动生成业务测试模板以及业务报文,且业务测试模板和业务报文支持XML、H5、HTML、JSON等不同的格式。且在SDK新增、修改可自动完成模板修改,无需人工干预。另外,还可根据SDK提供的交易接口中的定义出的栏位,自动匹配行内的数据字典,产生符合规范的报文格式,并根据业务人员填写的栏位内容进行组合,自动产生流水号等信息,生成最终的报文,以与外部的服务组件进行交互。
在进行业务测试过程中,除了业务测试模板生成、报文生成之外,通过报文与服务组件交互步骤也是完成业务测试关键。该通过报文与服务组件交互步骤主要是根据客户设定的参数,对上述报文生成步骤生成的报文进行发送和接收。
该通过报文与服务组件交互的流程具体过程如图5所示,可包括如下步骤:
S501:参数解析;
该步骤参数解析主要是对报文中的数据项包含的一些涉及报文发送和接收所需的参数,该步骤的参数解析主要从两个维度解析报文发送的模式,分别为发送参数解析和交易流程参数解析。发送参数主要包括发送报文的频率、间隔时间、工作周期等参数,主要用于测试后端服务的非功能特性。例如,某商业银行提供给第三方的线上消费服务,实际消费场景高峰时段为12:00-15:00,18:00-21:00,最高TPS为200。此时,由业务人员调查得知该现实业务场景后,设置测试参数为12:00-15:00,18:00-21:00自动发起测试,根据每10分钟出现一次最高的200TPS对后端服务(服务组件)进行压力测试。交易流程参数解析负责解析用户设定的交易流程,根据前置交易的返回报文,自动为后续交易的特定栏位进行赋值,或通过用户断点完成特定栏位的获取。例如,某商业银行为第三方提供的开户交易,分为绑定卡预检,客户信息录入和短信验证三个步骤,其中客户信息录入需要绑定卡预检步骤返回的卡片信息,而短信验证需要用户输入的短信验证码,这两部分信息可通过参数解析步骤自动获取,也可在断点处由测试人员填写完成。因此,该步骤还包括判断是否包括交易流程,如果是,则判断是否包含需要用户中断,如果是,则获取用户发出的中断指令,并获取中断时用户输入的数据;否则,解析前序交易响应(该前序交易响应即交易流程中,服务组件为当前交易报文所对应的上一报文产生的处理结果);如果不包括交易流程,则直接通过获取测试人员填写的参数。
S502:报文发送;
该步骤主要是根据参数解析出的参数,将上述报文生成步骤生成的报文发送给服务组件。该步骤具体包括建立连接、报文加密、TOKEN获取以及报文发送四个步骤。该建立连接主要根据SDK中的配置完成与商业银行网关建立连接,初始化参数;报文加密通过商业银行提供的公钥对发送报文进行加密;TOKEN获取完成首次对商业银行网关的访问并获取TOKEN,当TOEKN失效时,自动尝试重新获取;最后根据SDK中的约定,完成报文发送,如HTTP请求等。
S503:报文接收。
该步骤主要是,接收外部服务组件发送的响应报文;根据软件开发工具包的信息,从响应报文中提取处理结果;记录并为用户提供处理结果;根据记录的处理结果,生成测试报告。
其具体实现过程还可包括:接收来自商业银行网关的响应报文,按照SDK中的配置,自动提取技术信息,如错误码,错误信息;自动完成响应报文的拆解,通过与商业银行数据字典的匹配,组成业务要素,返回给用户交互模块同时记录缓存或数据库。对于一轮完成的测试,根据缓存或数据库中的测试记录,产生测试报告,交付给与用户交互的交互界面。
另外,在本发明一个实施例中,上述业务测试方法可进一步包括:为用户提供交互界面,如图6所示,该为用户提供的交互界面可由用户界面601、模板库602、报文展示603组成。其主要为用户提供测试向导、模板库以及报文展示。因此,该交互界面一方面负责与用户进行交互,另一方面,负责为用户传递服务组件产生的报文、报文与服务组件交互产生的数据,第三方面,负责存储用户设置的参数、业务测试模板生成步骤所生成的业务测试模板及最终的测试结果。
值得说明的是,上述测试向导可包括接收用户登陆信息、SDK导入、接收交易流程配置以及接收测试参数配置。其中,接收的用户登陆信息可包括初始化用户配置、接收用户模板选择以及接收用户登陆信息;交易流程配置可接收用户配置的交易流程以及根据用户配置的交易流程进行对应的报文映射。接收测试参数配置具体可为接收用户录入/填写的参数,还可接收服务组件为前序业务测试模板产生的处理结果/处理数据,还可以接收上述报文生成步骤生成的报文。也就是说,用户界面以用户一次测试的生命周期进行划分,包含用户登录服务、SDK导入服务、交易流程配置服务和测试参数设置服务。其中用户登录服务包括用户登录、初始化用户配置(保存用户信息,生成用户参数)以及模板选择。可根据不同终端以HTML或H5页面进行展示并完成与用户的初次交互。SDK导入服务则为测试人员提供SDK工具包导入的接口,可以实现单次SDK包导入或批量SDK包导入,在完成SDK导入后,交付给模板生成模块完成SDK的解析并在交互界面予以展示。对于需要进行交易流程配置的测试,测试人员在完成SDK导入和解析后,可进行交易流程配置,选择需要设置流程化测试的交易,完成输入输出接口的连接,即可完成交易流程配置,交付给模板生成模块进行后续处理。随后,用户进行测试参数的设置,完成对测试周期、测试频率、测试间隔等基本参数的设置,参数分为全局参数和交易参数两类,分别以整个SDK和单只交易为影响域。最后,借助业务测试报文录入服务,测试人员完成测试要素的填写,交由报文发送与接收模块后开始测试。
上述模板库可接收用户定义的模板/模板模型、并将该模板/模板模型导入到模板库中进行存储。该模板库存储了用户可选择的所有测试模板,如HTML、EXCEL、H5等不同的模板形式,并提供模板导入功能。模板导入服务提供新增模板的界面,用户可对某种模板进行自定义操作,也可导入新模板。一旦完成模板自定义,就成为该用户参数的一部分,将允许测试人员每次使用时进行选择。
上述报文展示可包括测试结果展示、测试数据预测以及测试数据导出,其中,测试结果展示可包括对服务组件的响应结果、为响应结果形成测试报告、生成测试报表以及其他。测试数据导出可包括测试结果的报表下载、测试结果的报表打印以及测试结果的格式转换。也就是说,该报文展示主要接收来自服务组件的测试数据并进行多维度的处理和展示。该报文展示同样按照一次测试的生命周期进行划分。首先,测试结果展示将当次测试的结果直接进行界面展示。当测试人员认为该次测试有效时,可选择生成测试报告或建立报表。随后,借助测试数据预测,可以预测该交易在不同测试参数(不同时间、不同并发数等)下的执行情况,用以减少测试次数和分析生产影响。最后,测试数据导出提供了报表下载、报表打印并可以进行多种不同形式文档的转换服务。可以为测试人员出具格式化的测试报告。
另外,通过上述用户交互界面,本发明实施例提供多种测试模式,针对交易发送的频次、时间、并发数、响应时间等参数支持灵活调整。同时,根据实际生产场景由测试人员进行调整后进行测试,可进行多种类型的测试如白盒测试、黑盒测试、功能测试、非功能测试等,这些测试可根据用户的配置进行。因此,使用者或业务人员可以选择熟悉的展现形式如H5、EXCEL、网页等多种形式在多种不同的终端上进行测试,仅需填写栏位、测试参数等内容即可,降低了本发明实施例提供的业务测试方法的使用门槛。
值得说明的是,针对流程化交易,可以通过可视化进行的模块拖动、组合。自动串接交易的输入输出,模拟真实场景与真实流程。如银行卡开户的多个步骤,可以通过可视化进行的模块拖动、组合。自动串接交易的输入输出,模拟真实场景与真实流程。
综合上面的各个步骤可知,本发明实施例实现业务测试的具体应用场景可如图7所示,用户通过终端(手机、平板、PC端等)导入SDK,并通过用户交互界面配置测试参数如栏位属性、交易发送的频次、时间、并发数、响应时间等,如果存在交易流程,则通过图形化的拖动、组合等方式构建交易流程,模拟真实场景的交易串接。并根据用户选择的模板格式,生成相应格式的业务测试模板,并通过用户为该业务测试模板录入测试用数据,生成业务测试报文,通过商业银行网关与商业银行相关服务组件进行报文交互,进行业务测试,并将测试的结果以各种形式反馈给用户所使用的终端。即测试人员通过用户交互界面完成业务测试模板格式/类型的选择、报文填写等功能,完成测试后将测试结果进行展示;模板生成模块负责解析SDK,产生测试人员选择的模板格式并进行模板交付;报文生成模块主要负责测试人员根据测试模板填写完成测试要素后,完成报文组装和格式转换交付给报文发送模块;而报文发送和接收模块主要负责完成报文发送和报文解析,对响应报文中业务要素的提取并交付给用户交互模块。
值得说明的是,对于首次测试时,必须完成各种测试参数的配置,配置的结果保存后,下次仅需填写测试数据和修改测试参数即可。如果现有SDK发生变化,或者有新的SDK需要测试,仅需重新导入即可。业务测试报文将以SDK规定的方式发送给商业银行的网关,用户无需关心后端处理逻辑。完全模拟了商业银行的合作方(第三方)接入后的真实业务场景。
值得说明的是,本发明实施例提供的方案参数化配置可以模拟生产上的各类场景进行压力测试和非功能测试,解决现有非功能测试无法覆盖端到端的问题。
另外,上述业务测试方法中,上述业务测试方法应用于终端/服务器,外部服务组件可为商业银行后端服务组件,该商业银行后端服务组件通过银行网关与终端/服务器进行交互,以完成业务测试。当上述业务测试方法应用于服务器时,与用户交互的交互界面则通过终端展示(即服务器接收用户通过终端发送的配置参数、上传的SDK等)。
如图8所示,本发明实施例提供一种业务测试装置800,该业务测试装置800包括:交互模块801、模板生成模块802以及测试模块803,其中,
交互模块801,用于接收软件开发工具包;
模板生成模块802,用于解析交互模块801接收到的软件开发工具包,根据解析的结果,为软件开发工具包生成业务测试模板;
测试模块803,用于确定与模板生成模块802生成的业务测试模板相关的测试用数据;为业务测试模板生成对应的业务测试报文,通过业务测试报文与外部服务组件交互,处理测试用数据,以实现业务测试。
在本发明一个实施例中,上述业务测试装置800进一步包括:存储模块(图中未示出)。
存储模块,用于存储有多个参数配置集合,每一个所述参数配置集合中包括基本信息以及与基本信息相匹配的多个字段参数,其中,所述基本信息指示类型、语言以及包名中的任意一个或多个;
模板生成模块802,进一步用于获取软件开发工具包的名称和接口字段;在存储的多个参数配置集合中,查找与名称和所述接口字段相匹配的目标参数配置集合;利用目标参数配置集合中的多个字段参数配置接口字段。
在本发明一个实施例中,模板生成模块802,进一步用于抽取出配置有字段参数的接口字段对应的业务模块信息;根据预设的第一数据字典和预设的模板类型,为业务模块信息生成对应的业务测试模板。
在本发明一个实施例中,交互模块801,进一步用于接收用户配置的业务处理流程,所述业务处理流程指示多个选定的业务模块;
模板生成模块802,进一步用于为每一个选定的业务模块所对应的业务模块信息生成对应的业务测试模板。
在本发明一个实施例中,上述业务测试装置进一步包括:,测试模块803包括报文生成子模块以及报文发送与接收子模块(图中未示出),其中,
报文生成子模块,用于根据预设的数据字典,为业务测试模板匹配对应的数据项;校验与数据项相对应的测试用数据是否满足需求,如果是,则将测试用数据组装到相对应的数据项,并基于数据项组装业务测试报文;
报文发送与接收子模块,用于将业务测试报文发送给外部服务组件;接收外部服务组件返回的针对业务测试报文的处理结果。
在本发明一个实施例中,报文生成子模块,进一步用于确定外部服务组件所需的通用要素;将通用要素组装到相对应的数据项。
在本发明一个实施例中,交互模块801,进一步用于获取业务测试模板所依托终端的配置信息;
模板生成模块802,进一步用于为软件开发工具包生成与配置信息相匹配的业务测试模板。
在本发明一个实施例中,报文生成子模块,进一步用于针对多个选定的业务模块中的每一个选定的业务模块,执行:判断选定的业务模块是否属于所述业务处理流程中的起始业务模块,如果是,则通过交互模块801接收用户为选定的业务模块设置的测试用数据;否则,将业务处理流程中的选定的业务模块所对应的上一选定的业务模块所对应的处理结果确定为选定的业务模块的测试用数据。
在本发明一个实施例中,报文发送与接收子模块,进一步用于接收外部服务组件发送的响应报文;根据软件开发工具包的信息,从响应报文中提取处理结果;记录并为用户提供所述处理结果;根据记录的所述处理结果,生成测试报告。
如图9所示,本发明实施例提供一种业务测试系统900,该业务测试系统900包括:上述业务测试装置901以及服务组件902。
本发明实施例提供的业务测试系统可应用于实现商业银行与第三方之间交互的交易业务测试。实现商业银行与第三方之间交互的交易业务测试的业务测试系统1000的整体架构,如图10所示。从图10中可以看出,业务测试系统1000包括:业务测试装置1001、银行网关1002以及商业银行后端服务组件1003,其中,
业务测试装置1001包括:交互模块10011、模板生成模块10012、报文生成模块10013以及报文发送与接收模块10014,其中,
交互模块10011,用于为用户提供交互界面,并通过该交互界面与用户进行交互;
交互模块10011,进一步用于还可接收用户输入的模板类型/模板格式、测试参数等,通过模板库对这些进行存储;
交互模块10011,进一步用于提供报文展示服务,以展示接收到的测试结果;
模板生成模块10012,用于提供SDK解析服务、模板生成服务、终端适配服务、交易流程串接服务以及测试参数存储服务,并将交互模块10011接收到的用户输入的测试参数组装到解析出的业务流程模块中;
其中,SDK解析服务用于执行上述图2给出的步骤S201;模板生成服务用于执行上述图2给出的步骤S202;终端适配服务用于执行上述图2给出的步骤S203;交易流程串接服务用于执行上述图2给出的步骤S204;测试参数存储服务用于存储从交互模块10011接收到的用户输入的测试参数;
报文生成模块10013,用于提供数据字典解析服务、报文组装服务、报文格式转换服务以及报文缓存,以将模板生成模块10012产生的业务测试模板转换为报文,其中,
数据字典解析服务用于执行上述图4给出的步骤S401;报文组装服务用于执行上述图4给出的步骤S403;报文格式转换服务用于执行上述图4给出的步骤S402;报文缓存用于缓存报文格式转换服务生成的报文;
该报文生成模块10013可从模板库中获取SDK的报文格式,以使该报文生成模块10013生成该报文格式的报文;
该报文发送与接收模块10014用于提供参数解析服务、报文发送服务以及报文接收服务,并将接收到的商业银行后端的服务组件产生的测试结果报文发送给交互模块10011,以通过交互模块10011中的报文展示服务,其中,
参数解析服务用于执行上述图5给出的步骤S501;报文发送服务用于执行上述图5给出的步骤S502;报文接收服务用于执行上述图5给出的步骤S503。
即:交互模块主要负责与用户的交互,提供界面由测试人员完成模板选择、报文填写等功能,完成测试后将测试结果进行展示;模板生成模块负责解析SDK,产生测试人员选择的模板格式并进行模板交付;报文生成模块主要负责测试人员根据测试模板填写完成测试要素后,完成报文组装和格式转换交付给报文发送与接收模块10014;而报文发送与接收模块10014主要负责完成报文发送和报文解析,对响应报文中业务要素的提取并交付给用户交互模块,以进行展示。
其中,报文生成模块10013与报文发送与接收模块10014可封装到上述的测试模块中。
图11示出了可以应用本发明实施例的业务测试方法或业务测试装置的示例性系统架构1100。
如图11所示,系统架构1100可以包括终端设备1101、1102、1103,网络1104和服务器1105。网络1104可以设置有网关用以在终端设备1101、1102、1103和服务器1105之间提供通信链路的介质。网络1104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备1101、1102、1103通过网络1104与服务器1105交互,以接收或发送消息等。终端设备1101、1102、1103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备1101、1102、1103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器1105可以是提供各种服务的服务器,例如对用户利用终端设备1101、1102、1103所发送的业务测试报文提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的业务测试报文等数据进行分析等处理,并将处理结果(例如处理结果报文--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的业务测试方法一般由终端设备1101、1102、1103执行,相应地,业务测试装置一般设置于终端设备1101、1102、1103中。
应该理解,图11中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图12,其示出了适于用来实现本发明实施例的终端设备的计算机系统1200的结构示意图。图12示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图12所示,计算机系统1200包括中央处理单元(CPU)1201,其可以根据存储在只读存储器(ROM)1202中的程序或者从存储部分1208加载到随机访问存储器(RAM)1203中的程序而执行各种适当的动作和处理。在RAM 1203中,还存储有系统1200操作所需的各种程序和数据。CPU 1201、ROM 1202以及RAM 1203通过总线1204彼此相连。输入/输出(I/O)接口1205也连接至总线1204。
以下部件连接至I/O接口1205:包括键盘、鼠标等的输入部分1206;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1207;包括硬盘等的存储部分1208;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1209。通信部分1209经由诸如因特网的网络执行通信处理。驱动器1210也根据需要连接至I/O接口1205。可拆卸介质1211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1210上,以便于从其上读出的计算机程序根据需要被安装入存储部分1208。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1209从网络上被下载和安装,和/或从可拆卸介质1211被安装。在该计算机程序被中央处理单元(CPU)1201执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括交互模块、模板生成模块和测试模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,模块单元还可以被描述为“接收软件开发工具包的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:接收并解析软件开发工具包;根据解析的结果,为软件开发工具包生成业务测试模板;确定与业务测试模板相关的测试用数据;为业务测试模板生成业务测试报文,通过业务测试报文与外部服务组件交互,处理测试用数据,以实现业务测试。
根据本发明实施例的技术方案,通过解析软件开发工具包,根据解析的结果,为软件开发工具包生成业务测试模板,为业务测试模板生成业务测试报文,通过业务测试报文与外部服务组件交互,处理测试用数据,实现业务测试,因此,本发明实施例提供的方案无需等待第三方平台开发功能即可进行测试,使业务测试能够及时完成,而不受第三方平台开发的约束。另外,由于业务测试模板是基于软件开发工具包形成的,而在测试的过程中业务测试模板与外部服务组件进行交互,使整个测试能够真实的反映业务处理场景,因此,本发明实施例提供的方案能够使业务测试在不受第三方平台约束的前提下,能够有效地提高测试的准确性。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (13)
1.一种业务测试方法,其特征在于,包括:
接收并解析软件开发工具包;
根据解析的结果,为所述软件开发工具包生成业务测试模板;
确定与所述业务测试模板相关的测试用数据;
为所述业务测试模板生成业务测试报文,通过所述业务测试报文与外部服务组件交互,处理所述测试用数据,以实现业务测试。
2.根据权利要求1所述的业务测试方法,其特征在于,
进一步包括:存储有多个参数配置集合,每一个所述参数配置集合中包括基本信息以及与基本信息相匹配的多个字段参数,其中,所述基本信息指示类型、语言以及包名中的任意一个或多个;
所述解析软件开发工具包,包括:
获取软件开发工具包的基本信息;
在存储的所述多个参数配置集合中,查找与所述基本信息相匹配的目标参数配置集合;
基于所述目标参数配置集合中的所述多个字段参数,抽取出所述接口字段。
3.根据权利要求2所述的业务测试方法,其特征在于,所述为所述软件开发工具包生成业务测试模板,包括:
解析接口字段对应的业务模块信息;
根据预设的数据字典和预设的模板类型,为所述业务模块信息生成对应的业务测试模板。
4.根据权利要求2或3所述业务测试方法,其特征在于,
进一步包括:接收用户配置的业务处理流程,所述业务处理流程指示多个选定的业务模块;
为所述业务模块信息生成对应的业务测试模板,包括:
为每一个选定的业务模块所对应的业务模块信息生成对应的业务测试模板。
5.根据权利要求4所述的业务测试方法,其特征在于,
为所述业务测试模板生成业务测试报文,包括:
根据预设的数据字典,为所述业务测试模板匹配对应的数据项;
校验与所述数据项相对应的测试用数据是否满足需求,如果是,则将所述测试用数据组装到相对应的数据项,并基于所述数据项组装业务测试报文;
通过所述业务测试报文与外部服务组件交互,处理所述测试用数据,包括:
将所述业务测试报文发送给外部服务组件;
接收所述外部服务组件返回的针对所述业务测试报文的处理结果。
6.根据权利要求5所述的业务测试方法,其特征在于,进一步包括:
确定所述外部服务组件所需的通用要素;
将所述通用要素组装到相对应的数据项。
7.根据权利要求1至3,5,6任一所述业务测试方法,其特征在于,
进一步包括:获取所述业务测试模板所依托终端的配置信息;
为所述软件开发工具包生成业务测试模板,包括:
为所述软件开发工具包生成与所述配置信息相匹配的业务测试模板。
8.根据权利要求4所述业务测试方法,其特征在于,
所述业务处理流程进一步指示所述多个选定的业务模块之间的连接关系;
所述确定与所述业务测试模板相关的测试用数据,包括:
针对所述多个选定的业务模块中的每一个所述选定的业务模块,执行:
判断所述选定的业务模块是否属于所述业务处理流程中的起始业务模块,如果是,则接收用户为所述选定的业务模块设置的测试用数据;否则,将所述业务处理流程中的所述选定的业务模块所对应的上一选定的业务模块所对应的处理结果确定为所述选定的业务模块的测试用数据。
9.根据权利要求1至3,5,6,8任一所述业务测试方法,其特征在于,进一步包括:
接收所述外部服务组件发送的响应报文;
根据所述软件开发工具包的信息,从所述响应报文中提取处理结果;
记录并为用户提供所述处理结果;
根据记录的所述处理结果,生成测试报告。
10.一种业务测试装置,其特征在于,包括:交互模块、模板生成模块以及测试模块,其中,
所述交互模块,用于接收软件开发工具包;
所述模板生成模块,用于解析所述交互模块接收到的所述软件开发工具包,根据解析的结果,为所述软件开发工具包生成业务测试模板;
所述测试模块,用于确定与所述业务测试模板相关的测试用数据;为所述业务测试模板生成对应的业务测试报文,通过所述业务测试报文与外部服务组件交互,处理所述测试用数据,以实现业务测试。
11.一种业务测试系统,其特征在于,包括:权利要求10所述的业务测试装置以及服务组件。
12.一种业务测试电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-10中任一所述的方法。
13.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-10中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010026983.1A CN111221739B (zh) | 2020-01-10 | 2020-01-10 | 业务测试方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010026983.1A CN111221739B (zh) | 2020-01-10 | 2020-01-10 | 业务测试方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111221739A true CN111221739A (zh) | 2020-06-02 |
CN111221739B CN111221739B (zh) | 2024-09-03 |
Family
ID=70810345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010026983.1A Active CN111221739B (zh) | 2020-01-10 | 2020-01-10 | 业务测试方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111221739B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111968441A (zh) * | 2020-08-25 | 2020-11-20 | 福州大学 | 一种虚拟颅脑辅助认知系统及方法 |
CN112035355A (zh) * | 2020-08-28 | 2020-12-04 | 中国平安财产保险股份有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN112148621A (zh) * | 2020-10-14 | 2020-12-29 | 中国农业银行股份有限公司 | 一种测试方法、装置及电子设备 |
CN112214412A (zh) * | 2020-10-23 | 2021-01-12 | 郑州阿帕斯数云信息科技有限公司 | 一种测试报告的生成方法和装置 |
CN112433722A (zh) * | 2020-11-27 | 2021-03-02 | 深圳前海微众银行股份有限公司 | 模块化系统代码开发方法、装置、设备及系统 |
CN112737875A (zh) * | 2020-12-24 | 2021-04-30 | 中国银联股份有限公司 | 一种测试报文生成的方法及装置 |
CN112948236A (zh) * | 2021-01-28 | 2021-06-11 | 杉德银卡通信息服务有限公司 | 用于白盒测试的断点配置方法、系统和装置 |
CN113361733A (zh) * | 2021-06-03 | 2021-09-07 | 建信金融科技有限责任公司 | 预约业务的处理方法和装置 |
CN113485902A (zh) * | 2021-07-08 | 2021-10-08 | 中国建设银行股份有限公司 | 测试业务平台的方法、装置、设备和计算机可读介质 |
CN113590465A (zh) * | 2021-06-28 | 2021-11-02 | 四川新网银行股份有限公司 | 一种基于SDK自动生成mock服务的方法 |
CN114095380A (zh) * | 2021-11-18 | 2022-02-25 | 中国建设银行股份有限公司 | 一种报文生成方法、挡板系统、设备及存储介质 |
CN115794639A (zh) * | 2022-12-05 | 2023-03-14 | 北京领雁科技股份有限公司 | 基于流程的可视化测试及可视化仿真模拟测试系统和方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101299862A (zh) * | 2008-06-11 | 2008-11-05 | 中国电信股份有限公司 | 一种电信业务生成环境系统 |
CN105701009A (zh) * | 2015-12-30 | 2016-06-22 | 中国银联股份有限公司 | 移动终端中的安全性应用测试方法 |
CN106897206A (zh) * | 2015-12-18 | 2017-06-27 | 阿里巴巴集团控股有限公司 | 一种业务测试方法及装置 |
CN107357728A (zh) * | 2017-07-07 | 2017-11-17 | 广东中星电子有限公司 | 测试软件的方法和电子设备 |
CN109542786A (zh) * | 2018-11-20 | 2019-03-29 | 北京千丁互联科技有限公司 | 可视化测试方法及装置 |
CN110287069A (zh) * | 2019-05-21 | 2019-09-27 | 平安银行股份有限公司 | Esb接口自动化测试方法、服务器及计算机可读存储介质 |
CN110347604A (zh) * | 2019-07-11 | 2019-10-18 | 中国工商银行股份有限公司 | 编程接口测试方法及设备、电子设备和可读存储介质 |
CN110414242A (zh) * | 2019-08-02 | 2019-11-05 | 中国工商银行股份有限公司 | 用于检测业务逻辑漏洞的方法、装置、设备及介质 |
-
2020
- 2020-01-10 CN CN202010026983.1A patent/CN111221739B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101299862A (zh) * | 2008-06-11 | 2008-11-05 | 中国电信股份有限公司 | 一种电信业务生成环境系统 |
CN106897206A (zh) * | 2015-12-18 | 2017-06-27 | 阿里巴巴集团控股有限公司 | 一种业务测试方法及装置 |
CN105701009A (zh) * | 2015-12-30 | 2016-06-22 | 中国银联股份有限公司 | 移动终端中的安全性应用测试方法 |
CN107357728A (zh) * | 2017-07-07 | 2017-11-17 | 广东中星电子有限公司 | 测试软件的方法和电子设备 |
CN109542786A (zh) * | 2018-11-20 | 2019-03-29 | 北京千丁互联科技有限公司 | 可视化测试方法及装置 |
CN110287069A (zh) * | 2019-05-21 | 2019-09-27 | 平安银行股份有限公司 | Esb接口自动化测试方法、服务器及计算机可读存储介质 |
CN110347604A (zh) * | 2019-07-11 | 2019-10-18 | 中国工商银行股份有限公司 | 编程接口测试方法及设备、电子设备和可读存储介质 |
CN110414242A (zh) * | 2019-08-02 | 2019-11-05 | 中国工商银行股份有限公司 | 用于检测业务逻辑漏洞的方法、装置、设备及介质 |
Non-Patent Citations (1)
Title |
---|
廖根健: "《面向测试能力提升的环境仿真构建研究与实践》", 《中国金融电脑》, 7 December 2018 (2018-12-07), pages 58 - 61 * |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111968441A (zh) * | 2020-08-25 | 2020-11-20 | 福州大学 | 一种虚拟颅脑辅助认知系统及方法 |
CN112035355A (zh) * | 2020-08-28 | 2020-12-04 | 中国平安财产保险股份有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN112148621A (zh) * | 2020-10-14 | 2020-12-29 | 中国农业银行股份有限公司 | 一种测试方法、装置及电子设备 |
CN112214412A (zh) * | 2020-10-23 | 2021-01-12 | 郑州阿帕斯数云信息科技有限公司 | 一种测试报告的生成方法和装置 |
CN112433722A (zh) * | 2020-11-27 | 2021-03-02 | 深圳前海微众银行股份有限公司 | 模块化系统代码开发方法、装置、设备及系统 |
CN112737875A (zh) * | 2020-12-24 | 2021-04-30 | 中国银联股份有限公司 | 一种测试报文生成的方法及装置 |
CN112737875B (zh) * | 2020-12-24 | 2022-03-18 | 中国银联股份有限公司 | 一种测试报文生成的方法及装置 |
CN112948236A (zh) * | 2021-01-28 | 2021-06-11 | 杉德银卡通信息服务有限公司 | 用于白盒测试的断点配置方法、系统和装置 |
CN113361733B (zh) * | 2021-06-03 | 2023-04-07 | 建信金融科技有限责任公司 | 预约业务的处理方法和装置 |
CN113361733A (zh) * | 2021-06-03 | 2021-09-07 | 建信金融科技有限责任公司 | 预约业务的处理方法和装置 |
CN113590465A (zh) * | 2021-06-28 | 2021-11-02 | 四川新网银行股份有限公司 | 一种基于SDK自动生成mock服务的方法 |
CN113590465B (zh) * | 2021-06-28 | 2023-06-06 | 四川新网银行股份有限公司 | 一种基于SDK自动生成mock服务的方法 |
CN113485902A (zh) * | 2021-07-08 | 2021-10-08 | 中国建设银行股份有限公司 | 测试业务平台的方法、装置、设备和计算机可读介质 |
CN113485902B (zh) * | 2021-07-08 | 2024-05-28 | 中国建设银行股份有限公司 | 测试业务平台的方法、装置、设备和计算机可读介质 |
CN114095380A (zh) * | 2021-11-18 | 2022-02-25 | 中国建设银行股份有限公司 | 一种报文生成方法、挡板系统、设备及存储介质 |
CN114095380B (zh) * | 2021-11-18 | 2024-04-19 | 中国建设银行股份有限公司 | 一种报文生成方法、挡板系统、设备及存储介质 |
CN115794639A (zh) * | 2022-12-05 | 2023-03-14 | 北京领雁科技股份有限公司 | 基于流程的可视化测试及可视化仿真模拟测试系统和方法 |
CN115794639B (zh) * | 2022-12-05 | 2023-09-26 | 北京领雁科技股份有限公司 | 基于流程的可视化测试及可视化仿真模拟测试系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111221739B (zh) | 2024-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111221739B (zh) | 业务测试方法、装置和系统 | |
US10705942B1 (en) | Simulated testing of API | |
US10847136B2 (en) | System and method for mapping a customer journey to a category | |
US20150128103A1 (en) | System and method for automating application programming interface integration | |
AU2018357874B2 (en) | Integrating cloud applications into a cloud service broker platform using an automated, universal connector package | |
CN110798445B (zh) | 公共网关接口测试方法、装置、计算机设备及存储介质 | |
AU2014400621B2 (en) | System and method for providing contextual analytics data | |
JP2014527651A (ja) | 対人的対話からのテキストコンテンツを用いて、対人関係影響情報を判定するためのシステム及び方法 | |
US20130204834A1 (en) | Decision Tree Creation and Execution in an Interactive Voice Response System | |
US20210349955A1 (en) | Systems and methods for real estate data collection, normalization, and visualization | |
KR102226463B1 (ko) | 프로세스자동화프로그램과 연동되는 ui/ux솔루션제공서버, 이를 포함하는 프로세스자동화시스템, 이를 이용한 프로세스자동화방법, 및 이를 실행하기 위한 컴퓨터 프로그램 | |
CN108984202A (zh) | 一种电子资源分享方法、装置和存储介质 | |
CN111191200B (zh) | 一种三方联动鉴权页面展示方法、装置和电子设备 | |
US20200082822A1 (en) | System and method for mapping a customer journey to a category | |
CN114816361A (zh) | 拼搭工程生成方法、装置、设备、介质和程序产品 | |
CN109739655A (zh) | 一种gRPC请求的参数设置方法及装置 | |
US11729161B1 (en) | Pre-built, pre-tested, and standardized connectors for end-to-end connection | |
CN114997977B (zh) | 一种数据处理方法、装置、电子设备及计算机可读介质 | |
CN113485902B (zh) | 测试业务平台的方法、装置、设备和计算机可读介质 | |
CN115391343A (zh) | 账单数据处理方法、装置、电子设备和存储介质 | |
CN115422202A (zh) | 业务模型的生成方法、业务数据查询方法、装置及设备 | |
CN112579428B (zh) | 接口测试的方法、装置、电子设备和存储介质 | |
CN114153440A (zh) | 数据的处理方法和装置、存储介质、电子装置 | |
CN113886216A (zh) | 接口测试和工具配置方法、装置、电子设备和存储介质 | |
CN114371866A (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220920 Address after: 25 Financial Street, Xicheng District, Beijing 100033 Applicant after: CHINA CONSTRUCTION BANK Corp. Address before: 25 Financial Street, Xicheng District, Beijing 100033 Applicant before: CHINA CONSTRUCTION BANK Corp. Applicant before: Jianxin Financial Science and Technology Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |