本发明涉及网络通信技术领域,尤其涉及一种交易测试方法及装置。
背景技术:
随着银行卡的普及和推广,银行卡交易量快速增长,而且出现了越来越多的跨行、跨地区交易,各种新的支付场景和支付需求应运而生。作为发起支付交易的受理机构,必须在交易报文包括多个域,域标识交易的相关信息,包括交易账号、交易金额、交易时间、交易地点及特殊的场景信息。当已有的报文不满足需求时,需要对受理机构系统进行升级。作为收到支付交易的发卡机构,为了识别新交易、控制风险,也需要升级系统。此外,人民银行也会不定期地发布交易升级要求,督促受理机构和发卡机构升级系统,满足监管要求。
通过交易测试方法能够获知被测成员机构系统的业务处理能力,然而,现有的金融交易测试系统中,在系统程序中直接写入交易类型对应的请求报文的各个域及域的取值。在测试时,首先根据域及域的取值确定交易类型,当交易类型与域的取值一致时,返回该交易类型对应的应答报文;当交易类型与域的取值不一致时,返回交易失败。因此,一旦报文升级或者出现新的业务,需要重新编写测试系统中交易类型的逻辑程序,即重新定义交易类型请求报文中的域及域的取值,通过编译后投产上线。
综上所述,现有的金融交易测试系统不能通过灵活地扩展功能,必须升级版本后才能够处理新交易,导致金融交易测试的效率较低。
技术实现要素:
本发明提供一种交易测试方法及装置,用以解决现有技术中金融交易测试系统不能通过灵活地扩展功能,必须升级版本后才能够处理新交易,导致金融交易测试的效率较低的问题。
本发明实施例提供一种交易测试方法,包括:
确定接收到的测试请求报文的属性,所述属性包括所述测试请求报文中的各个域以及每个域的值;
将所述测试报文的属性与预设的至少一个交易类型模板进行匹配;
若匹配成功,则将匹配成功的交易类型模板确定为测试模板,确定所述测试模板对应的测试应答报文,将所述测试应答报文作为测试结果;其中,一个交易类型模板对应一个交易类型,所述交易类型模板根据对应的交易类型所预设的各个域及每个域的取值规则确定;
若匹配失败,则将测试结果确定为交易失败。
较佳地,所述交易类型模板包括请求报文模板和应答报文模板,所述将所述测试请求报文的属性与预设的至少一个交易类型模板进行匹配,将匹配成功的交易类型模板确定为测试模板,包括:
将所述测试请求报文包括的各个域与预设的多个交易类型模板中请求报文模板包括的各个域进行一次匹配,以及将测试请求报文包括的每个域的值与多个交易类型模板中请求报文模板包括的每个域的取值规则进行二次匹配;
将一次匹配且二次匹配成功的交易类型模板作为测试模板。
较佳地,所述确定所述测试模板对应的测试应答报文,包括:
确定所述测试模板包括的应答报文模板,根据所述测试模板包括的应答报文模板确定所述测试应答报文。
较佳地,所述方法还包括:
统计所有交易类型包括的报文域集合以及取值规则集合;
根据预设时间确定待升级交易类型模板;
根据所述报文域集合以及取值规则集合,配置待升级交易类型模板的各个域和/或域的取值规则。
较佳地,所述确定获取到的测试请求报文的属性之前,还包括:
接收测试需求,确定所述测试需求的变量值;
根据所述测试需求的变量值及预设的测试案例筛选规则,确定测试案例,所述测试案例包括至少一个交易类型模板,所述测试案例用于发起测试。
本发明实施例还提供一种交易测试装置,包括:
确定单元:用于确定接收到的测试请求报文的属性,所述属性包括所述测试请求报文中的各个域以及每个域的值;
匹配单元:用于将所述测试报文的属性与预设的至少一个交易类型模板进行匹配;
结果单元:用于若匹配成功,则将匹配成功的交易类型模板确定为测试模板,确定所述测试模板对应的测试应答报文,将所述测试应答报文作为测试结果;其中,一个交易类型模板对应一个交易类型,所述交易类型模板根据对应的交易类型所预设的各个域及每个域的取值规则确定;若匹配失败,则将测试结果确定为交易失败。
较佳地,所述交易类型模板包括请求报文模板和应答报文模板,所述匹配单元,具体用于:
将所述测试请求报文包括的各个域与预设的多个交易类型模板中请求报文模板包括的各个域进行一次匹配,以及将测试请求报文包括的每个域的值与多个交易类型模板中请求报文模板包括的每个域的取值规则进行二次匹配;
将一次匹配且二次匹配成功的交易类型模板作为测试模板。
较佳地,所述结果单元,具体用于:
确定所述测试模板包括的应答报文模板,根据所述测试模板包括的应答报文模板确定所述测试应答报文。
较佳地,所述装置还包括升级单元,具体用于:
统计所有交易类型包括的报文域集合以及取值规则集合;
根据预设时间确定待升级交易类型模板;
根据所述报文域集合以及取值规则集合,配置待升级交易类型模板的各个域和/或域的取值规则。
较佳地,所述装置还包括案例单元,用于:
接收测试需求,确定所述测试需求的变量值;
根据所述测试需求的变量值及预设的测试案例筛选规则,确定测试案例,所述测试案例包括至少一个交易类型模板,所述测试案例用于发起测试。
本发明实施例提供一种交易测试方法及装置,确定接收到的测试请求报文的属性,所述属性包括所述测试请求报文中的各个域以及每个域的值;将测试报文的属性与预设的至少一个交易类型模板进行匹配;若匹配成功,则将匹配成功的交易类型模板确定为测试模板,确定所述测试模板对应的测试应答报文,将所述测试应答报文作为测试结果;若匹配失败,则将测试结果确定为交易失败。本发明实施例提供的交易测试方法及装置,交易类型模板根据对应的交易类型所预设的各个域及每个域的取值规则确定,为金融交易测试系统提供灵活的扩展功能,提高了金融交易测试的效率较。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种交易测试方法流程示意图;
图2为本发明实施例提供的一种交易测试系统客户端界面图;
图3为本发明实施例提供的另一种交易测试系统客户端界面图;
图4为本发明实施例提供的一种交易测试装置结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例提供的测试环境包括发卡机构、受理机构和跨行转接中心。其中,发卡机构为银行卡的所属银行,受理机构为用户提交银行卡交易的银行,跨行转接中心提供金融交易联调认证测试,可以模拟发卡机构或受理机构,从而提供联调测试,得到被测成员机构(受理机构或发卡机构)系统的业务处理能力或升级后的系统性能进行测试。例如,当持有A行卡的用户在B行的操作机上进行跨行操作时,由B行通过跨行转接中心处理A行卡提交的业务。其中,A行即为所述发卡方,B行即为所述受理方。
本发明实施例中的受理机构和发卡机构的交易报文符合中国银联发布的《中国银联银行卡交换系统技术规范》,以下简称为规范。随着支付产业不断发展,银联会不定期更新规范,以满足新的支付场景的需求。
本发明实施例提供一种交易测试方法,如图1所示,为本发明实施例提供的一种交易测试方法流程示意图,包括:
步骤101:确定接收到的测试请求报文的属性,所述属性包括所述测试请求报文中的各个域以及每个域的值。
步骤102:将所述测试报文的属性与预设的至少一个交易类型模板进行匹配;若匹配成功,则将匹配成功的交易类型模板确定为测试模板,确定所述测试模板对应的测试应答报文,将所述测试应答报文作为测试结果;若匹配失败,则将测试结果确定为交易失败。
其中,一个交易类型模板对应一个交易类型,所述交易类型模板根据对应的交易类型所预设的各个域及每个域的取值规则确定。
根据《中国银联银行卡交换系统技术规范》,交易报文大部分由ISO 8583定义,报文总共用到了128个域。对于每种交易类型,会对128个域中的部分域作相应的取值要求。例如,对于余额查询交易,如表1所示,规范则定义了F0=0200,F3=30X000,F25=00/02/65等。其中,域F0表示交易类型的标识,该域只能取值固定值0200,域F3表示处理密码,03X000中的X表示可变化的值,其他位为固定值,例如该域的值可以为030000、031000、032000等。
表1
为了实现测试系统的可扩展性,本发明实施例首先对交易报文域进行抽象,使得报文域的定义与交易类型独立。由于规范用到了128个域,每个域都有各自的属性,则对128个域中每个域的属性进行统计。
由于每个交易类型对各个域的取值有不同的规定,然后统计所有交易类型包括的报文域集合以及取值规则集合,例如表1余额查询交易中的F2、F7、F11等域,符号“M”表示对于受理方必需出现,符号“→”发卡方必需原样返回。因此,可以归纳出两个取值规则:“必须出现”和“原样返回”。统计每个交易类型的取值规则,归纳出包括44类取值规则的集合,包括“必需出现”、“原样返回”、“必须不出现”、“必须与请求报文一致”、“必须与应答报文一致”、“当交易成功时必须返回”等。
此外,对于每个取值规则,定义标识符,并通过函数实现相应的逻辑。例如采用标识符“$appear()”表示取值规则“必须出现”,标识符“$absence()”表示取值规则“必须不出现”,$preReq(BODY_4)表示“必须与请求报文的F4相同”。
根据上述统计归纳,配置得到多个交易类型模板,一个交易类型模板对应一个交易类型,交易类型模板包括请求报文模板和应答报文模板,根据对应的交易类型所预设的各个域及每个域的取值规则确定。
进一步地,根据预设时间确定待升级交易类型模板,根据报文域集合以及取值规则集合,配置待升级交易类型模板的各个域以及域的取值规则,通过扩展配置即可实现交易类型升级或新增交易类型测试等场景的测试要求,无需升级系统重新对程序进行逻辑编程,快速支持升级后的新交易,减少了测试系统版本升级需求和系统的维护成本,具有较高的扩展性,提高了测试效率。
例如,预设时间可以为增加新的交易类型模板时,则根据包括128个域的报文域集合以及定义的44个取值规则的标识符,为新增交易类型128个域配置相应的取值规则,即可实现新增交易类型模板的功能测试;再如,预设时间可以为已有交易类型模板升级时,则根据包括128个域的报文域集合以及定义的44个取值规则的标识符,为待升级交易类型模板的新增域配置相应的取值规则,即可实现待升级交易类型的功能测试。
例如,按照目前的技术规范,只定义了100个报文域的用法,在新的技术标准增加了6个域时,仅需要通过配置这6个域及域的取值规则即可。假设按照当前的技术规范,只定义了取现交易、查询交易、消费交易三种交易类型的报文域规则,当新增加了贷记业务的交易类型时,也可以通过配置贷记业务的128个域中必要的域配置取值规则,从而实现该业务的逻辑;假设Y域在交易类型M中的取值规则是必须出现,但是新的规范更新定义Y域在交易类型M中的取值规则是必须不出现,则将原来的取值规则标识符“$appear()”更新为“$absence()”即可,具有较高的扩展性和配置灵活性,提高了测试效率
例如,新增了一个交易类型为X,该交易类型X要求报文域F0=0100,F3=001000,F4必须出现,F25=00。应答报文F0=0110,F3与请求报文一致,F25与请求报文一致,F54=040D0000000000000000000000。针对测试系统,需要配置新的交易类型模板X,首先配置请求报文模板F0=0100,F3=001000,F4=${appear()},F25=00;然后配置应答报文模板F0=0110,F3=${preReq(BODY_3)},F25=${preReq(BODY_25)},F54=040D000000000000 0000000000。
上述设置成功以后,测试系统根据接收到测试报文对模板进行匹配。针对受理机构的测试,受理机构在测试登录测试系统发起测试,然后测试系统接收到测试请求报文,确定接收到的测试请求报文的属性,包括所述测试请求报文中的各个域以及每个域的值。
进一步地,将测试请求报文包括的各个域与预设的多个交易类型模板中请求报文模板包括的各个域进行一次匹配,以及将测试请求报文包括的每个域的值与多个交易类型模板中请求报文模板包括的每个域的取值规则进行二次匹配;将一次匹配且二次匹配成功的交易类型模板作为测试模板,然后确定测试模板包括的应答报文模板,将测试模板包括的应答报文模板作为测试应答报文。
例如,测试系统接收到测试请求报文包括域及域的取值:F0=0100,F3=001000,F4有值,F25=00,通过与多个交易类型模板中进行匹配,最终与交易类型模板X请求报文模板中的域以及域的取值规则F0=0100,F3=001000,F4=${appear()},F25=00匹配,则将交易类型模板X应答报文模板F0=0110,F3=${preReq(BODY_3)},F25=${preReq(BODY_25)},F54=040D0000000000000000000000确定测试应答报文,得到F0=0110,F3=001000,F25=00,F54=040D0000000000000000000000,并作为测试结果反馈至受理机构。若匹配失败,则将交易失败作为测试结果并反馈至受理机构。
进一步地,本发明实施例为测试系统提供自动化测试,具体地,首先接收测试需求,确定测试需求的变量值;然后根据测试需求的变量值及预设的测试案例筛选规则,确定测试案例。其中,测试案例包括至少一个交易类型模板,测试案例用于发起测试。
具体地,通过测试系统提供的接口录入发卡机构或受理机构的测试需求后,测试系统将测试需求参数化,将需求转换为变量的取值。例如,受理机构需要测试余额查询交易,将测试需求录入到测试系统中后,将测试需求参数化为:MI01=1。根据需求参数化后变量的取值,以及预设的测试案例集筛选条件,自动筛选测试案例。其中,测试案例集筛选条件为测试系统存储的变量值和测试案例及其关联测试案例的对应关系。例如,对于余额查询测试案例,系统配置的筛选条件为:MI01=1OR tc00=1,则当MT01=1时,就会筛选该案例,其中,1代表需要测试,0代表不需要测试。
需要说明的是,本发明实施例中交易测试方法还可以应用于发卡机构的交易测试,具体交易测试过程与受理机构类似,在此不做赘述。
进一步地,测试系统将筛选出来的案例显示在测系统客户端的WEB(World Wide Web,互联网),受理机构或发卡机构登录该系统后,就可以浏览到测试案例。同时,本发明实施例的测试系统提供了方便的客户单交互界面。如图2所示,为本发明实施例提供的一种交易测试系统客户端界面图。对于测试发卡机构,只需要点击“发起”按钮,就可以发起测试案例。对于测试受理机构,首先发起测试,然后再点击“检查”按钮,就可以检查案例是否通过。
进一步地,测试交易发起后,系统会根据测试案例中的交易类型模板的配置,自动诊断交易是否测试通过。图3所示,为本发明实施例提供的另一种交易测试系统客户端界面图。如果交易不通过,测试系统会提示错误原因,供受理机构或发卡机构排查交易过程中存在的问题。此外,在测试完成后,测试系统可以按照预设的格式,出具测试报告。
本发明实施例的交易测试系统提供自动化测试功能,银联成员机构可以登录测试系统客户端自助发起测试,根据测试系统诊断信息排查问题,提高了测试自动化程度及测试效率,具有较好的推广前景。
本发明实施例提供一种交易测试方法及装置,确定接收到的测试请求报文的属性,所述属性包括所述测试请求报文中的各个域以及每个域的值;将测试报文的属性与预设的至少一个交易类型模板进行匹配;若匹配成功,则将匹配成功的交易类型模板确定为测试模板,确定所述测试模板对应的测试应答报文,将所述测试应答报文作为测试结果;若匹配失败,则将测试结果确定为交易失败。本发明实施例提供的交易测试方法及装置,交易类型模板根据对应的交易类型所预设的各个域及每个域的取值规则确定,通过扩展配置即可实现交易类型升级或新增交易类型测试等场景的测试要求,无需升级系统重新对程序进行逻辑编程,快速支持升级后的新交易,减少了测试系统版本升级需求和系统的维护成本,为金融交易测试系统提供灵活的扩展功能,提高了金融交易测试的效率较。
基于同样的发明构思,本发明实施例还提供一种交易测试装置。如图4所示,为本发明实施例提供的一种交易测试装置结构示意图,包括:
确定单元401:用于确定接收到的测试请求报文的属性,所述属性包括所述测试请求报文中的各个域以及每个域的值;
匹配单元402:用于将所述测试报文的属性与预设的至少一个交易类型模板进行匹配;
结果单元403:用于若匹配成功,则将匹配成功的交易类型模板确定为测试模板,确定所述测试模板对应的测试应答报文,将所述测试应答报文作为测试结果;其中,一个交易类型模板对应一个交易类型,所述交易类型模板根据对应的交易类型所预设的各个域及每个域的取值规则确定;若匹配失败,则将测试结果确定为交易失败。
较佳地,所述交易类型模板包括请求报文模板和应答报文模板,所述匹配单元402,具体用于:
将所述测试请求报文包括的各个域与预设的多个交易类型模板中请求报文模板包括的各个域进行一次匹配,以及将测试请求报文包括的每个域的值与多个交易类型模板中请求报文模板包括的每个域的取值规则进行二次匹配;
将一次匹配且二次匹配成功的交易类型模板作为测试模板。
较佳地,所述结果单元403,具体用于:
确定所述测试模板包括的应答报文模板,根据所述测试模板包括的应答报文模板确定所述测试应答报文。
较佳地,所述装置还包括升级单元404,具体用于:
统计所有交易类型包括的报文域集合以及取值规则集合;
根据预设时间确定待升级交易类型模板;
根据所述报文域集合以及取值规则集合,配置待升级交易类型模板的各个域和/或域的取值规则。
较佳地,所述装置还包括案例单元405,用于:
接收测试需求,确定所述测试需求的变量值;
根据所述测试需求的变量值及预设的测试案例筛选规则,确定测试案例,所述测试案例包括至少一个交易类型模板,所述测试案例用于发起测试。
本发明实施例提供一种交易测试装置,确定接收到的测试请求报文的属性,所述属性包括所述测试请求报文中的各个域以及每个域的值;将测试报文的属性与预设的至少一个交易类型模板进行匹配;若匹配成功,则将匹配成功的交易类型模板确定为测试模板,确定所述测试模板对应的测试应答报文,将所述测试应答报文作为测试结果;若匹配失败,则将测试结果确定为交易失败。本发明实施例提供的交易测试装置,交易类型模板根据对应的交易类型所预设的各个域及每个域的取值规则确定,为金融交易测试系统提供灵活的扩展功能,提高了金融交易测试的效率较。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的系统。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令系统的制造品,该指令系统实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。