一种基于金融系统的测试方法及装置与流程

文档序号:12550579阅读:137来源:国知局
一种基于金融系统的测试方法及装置与流程

本发明涉及计算机技术领域,尤其涉及一种基于金融系统的测试方法及装置。



背景技术:

自动化测试定义:软件测试是在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。自动化测试则是把以人为驱动的测试行为转化为机器执行的一种过程。

目前基于分层框架的金融支付系统前台系统和后台系统都是独立部署的两个系统,两者间通过规定的报文协议进行数据传输。前台系统回归测试依赖于整个后台系统,只有在后台系统的数据全部准备完成后才可以进行前台系统的测试。同时,由于业务上对于数据有依赖条件,回归测试案例执行完一次后必须要重置数据库数据才能重新执行。为了保证各个测试场景的案例能无次序执行,必须要为不同场景的测试案例分配不同的测试数据。随着回归测试案例集的增长,数据的准备将越来越庞大且复杂。

综上所述,现有技术在做回软件测试时,前台系统向后台系统请求数据时,后台系统反馈数据不及时,同时,也会给后台系统造成较大的压力。



技术实现要素:

本发明提供一种基于金融系统的测试方法及装置,用以提高软件测试时前台系统请求数据的速度及减轻后台系统压力。

第一方面,本发明实施例提供一种基于金融系统的测试方法,包括:

数据模拟层接收金融系统的前台系统的服务调用请求;

所述数据模拟层若根据所述服务调用请求确定所述数据模拟层存储有所述服务调用请求对应的响应内容,则从所述数据模拟层获取所述响应内容;

所述数据模拟层将所述响应内容反馈至所述前台系统。

可选地,所述方法还包括:所述数据模拟层若根据所述服务调用请求确定所述数据模拟层未存储所述服务调用请求对应的响应内容,则将所述服务调用请求转发至所述金融系统的后台系统;

所述数据模拟层接收所述后台系统反馈的与所述服务调用请求对应的响应内容,并反馈至所述前台系统。

可选地,所述数据模拟层接收所述后台系统反馈的与所述服务调用请求对应的响应内容之后,还包括:

所述数据模拟层将所述服务调用请求与所述响应内容进行关联并存储于所述服务调用请求对应的交易的日志记录表。

可选地,所述数据模拟层将获取的所述服务调用请求中的命令字与所述响应内容进行关联之前,还包括:

所述数据模拟层确定所述服务调用请求对应的交易类型属于待记录交易类型列表,所述待记录交易类型列表包含需要记录的交易类型。

可选地,所述数据模拟层若根据所述服务调用请求确定所述数据模拟层存储有所述服务调用请求对应的响应内容,包括:

所述数据模拟层确定接收的所述服务调用请求为报文验签且所述报文验签存在对应的交易的日志记录表,则获取所述交易的日志记录表;

所述数据模拟层获取所述服务调用请求中的命令字;

所述数据模拟层将所述命令字与所述交易的日志记录表进行比对,若确定所述交易的日志记录表中包含与所述命令字相同的命令字,则确定所述数据模拟层存储有所述服务调用请求对应的响应内容。

可选地,所述获取所述交易的日志记录表之后,还包括:将所述交易的日志记录表与所述服务调用请求对应的交易标号关联。

可选地,所述数据模拟层若根据所述服务调用请求确定所述数据模拟层存储有所述服务调用请求对应的响应内容,包括:

所述数据模拟层确定接收的所述服务调用请求不是报文验签且所述服务调用请求对应的交易标号存在关联的交易的日志记录表,所述数据模拟层获取所述服务调用请求中的命令字;

所述数据模拟层将所述命令字与所述交易的日志记录表进行比对,若确定所述交易的日志记录表中包含与所述命令字相同的命令字,则确定所述数据模拟层存储有所述服务调用请求对应的响应内容

可选地,确定所述数据模拟层存储有所述服务调用请求对应的响应内容之前,还包括:

所述数据模拟层确定所述服务调用请求中的命令字对应的请求内容与所述交易的日志记录表中记录的与所述命令字对应的请求内容相同。

第二方面,本发明实施例提供一种基于金融系统的测试装置,包括:

接收单元,用于接收金融系统的前台系统的服务调用请求;

获取单元,用于若根据所述服务调用请求确定所述测试装置存储有所述服务调用请求对应的响应内容,则从所述测试装置获取所述响应内容;

发送单元,用于将所述响应内容反馈至所述前台系统。

可选地,所述发送单元,还用于:若根据所述服务调用请求确定所述测试装置未存储所述服务调用请求对应的响应内容,则将所述服务调用请求转发至所述金融系统的后台系统;以及将所述接收单元接收到的所述后台系统反馈的响应内容反馈至所述前台系统;

所述接收单元,还用于接收所述后台系统反馈的与所述服务调用请求对应的响应内容。

可选地,所述测试装置还包括存储单元,用于:

接收所述后台系统反馈的与所述服务调用请求对应的响应内容之后,将所述服务调用请求与所述响应内容进行关联并存储于所述服务调用请求对应的交易的日志记录表。

可选地,所述存储单元,还用于将获取的所述服务调用请求中的命令字与所述响应内容进行关联之前,确定所述服务调用请求对应的交易类型属于待记录交易类型列表,所述待记录交易类型列表包含需要记录的交易类型。

可选地,所述测试装置还包括判断单元,用于:

确定接收的所述服务调用请求为报文验签且所述报文验签存在对应的交易的日志记录表,则获取所述交易的日志记录表;

获取所述服务调用请求中的命令字;

将所述命令字与所述交易的日志记录表进行比对,若确定所述交易的日志记录表中包含与所述命令字相同的命令字,则确定所述测试装置存储有所述服务调用请求对应的响应内容。

可选地,所述判断单元,还用于:

获取所述交易的日志记录表之后,将所述交易的日志记录表与所述服务调用请求对应的交易标号关联。

可选地,所述测试装置还包括判断单元,用于:

确定接收的所述服务调用请求不是报文验签且所述服务调用请求对应的交易标号存在关联的交易的日志记录表,获取所述服务调用请求中的命令字;

将所述命令字与所述交易的日志记录表进行比对,若确定所述交易的日志记录表中包含与所述命令字相同的命令字,则确定所述测试装置存储有所述服务调用请求对应的响应内容

可选地,所述判断单元,还用于:确定所述测试装置存储有所述服务调用请求对应的响应内容之前,确定所述服务调用请求中的命令字对应的请求内容与所述交易的日志记录表中记录的与所述命令字对应的请求内容相同。

本发明实施例,在前台系统和后台系统之间增加了一个数据模拟层,前台系统向数据模拟层发送服务调用请求,当数据模拟层根据服务调用请求确定数据模拟层存储有服务调用请求对应的响应内容,则直接从数据模拟层中获取响应内容并反馈至前台系统,由于数据模拟层预先存储了前台系统需要请求的数据,因此数据模拟层可直接向前台系统反馈响应内容,因此提高了前台系统获取数据的速度,并且减轻了后台系统的压力。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的基于金融系统的测试方法流程图;

图2为本发明实施例提供的日志记录表录制过程示意图;

图3为本发明实施例提供的基于金融系统的测试方法详细流程图;

图4为本发明实施例提供的基于金融系统的测试装置示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

下面结合说明书附图对本发明实施例作进一步详细描述。

如图1所示,本发明实施例提供的基于金融系统的测试方法,包括:

步骤101、数据模拟层接收金融系统的前台系统的服务调用请求;

步骤102、数据模拟层若根据服务调用请求确定数据模拟层存储有所述服务调用请求对应的响应内容,则从数据模拟层获取响应内容;

步骤103、数据模拟层将响应内容反馈至前台系统。

本发明实施例,在前台系统和后台系统之间增加了一个数据模拟层,前台系统向数据模拟层发送服务调用请求,当数据模拟层根据服务调用请求确定数据模拟层存储有服务调用请求对应的响应内容,则直接从数据模拟层中获取响应内容并反馈至前台系统,由于数据模拟层预先存储了前台系统需要请求的数据,因此数据模拟层可直接向前台系统反馈响应内容,因此提高了前台系统获取数据的速度,并且减轻了后台系统的压力。

上述步骤102中,可选地,所述数据模拟层若根据服务调用请求确定数据模拟层未存储服务调用请求对应的响应内容,则将服务调用请求转发至金融系统的后台系统;数据模拟层接收后台系统反馈的与服务调用请求对应的响应内容,并反馈至前台系统。

即,当数据模拟层本地未存储于服务调用请求对应的响应内容时,则将服务调用请求转发至金融系统的后台系统,由后台系统根据服务调用请求获取到相应的响应内容并反馈至数据模拟层,由数据模拟层再转发至前台系统。

其中,数据模拟层中存储有预先定义的需要录制的测试案例的日志记录表。

可选地,数据模拟层接收所述后台系统反馈的与服务调用请求对应的响应内容之后,数据模拟层将服务调用请求与响应内容进行关联并存储于所述服务调用请求对应的交易的日志记录表。

即,数据模拟层本身若没有存储前台系统请求的内容,则向后台系统请求获取,然后反馈给前台系统,并且自身也将获取到的响应内容存储在与服务调用请求对应的交易的日志记录表中。

可选地,所述数据模拟层将获取的所述服务调用请求中的命令字与所述响应内容进行关联之前,数据模拟层确定所述服务调用请求对应的交易类型属于待记录交易类型列表,所述待记录交易类型列表包含需要记录的交易类型。

即,本发明实施例中,数据模拟层只对部分比较重要的交易才记录在日志记录表中,例如,预先定义待记录交易类型列表为{卡信息查询,交易发起查新,交易查询},因此数据模拟层当确定服务调用请求对应的交易类型属于该待记录交易类型列表时,才会对后台系统反馈的响应内容与服务调用请求中的命令字关联并记录在日志记录表中。

上述步骤102中,具体地,数据模拟层根据下列方式判断数据模拟层是否存储有服务调用请求对应的响应内容:

步骤1、数据模拟层确定接收的服务调用请求是否为报文验签;若是,则转到步骤2,若否,则转到步骤6;

步骤2、若确定报文验签存在对应的交易的日志记录表,则获取所述交易的日志记录表;

其中,报文验签中包含待测试文件名称,可用于确定数据模拟层中是否存储于该报文验签对应的日志记录表,举例来说,数据模拟层存储有测试文件A对应的日志记录表a,测试文件B对应的日志记录表b,测试文件C对应的日志记录表c。

假若报文验证中包含测试文件名称B,则获取日志记录表b;假若报文验证中包含测试文件名称D,则无法获取到对应的日志记录表。

步骤3、将所述交易的日志记录表与所述服务调用请求对应的交易标号关联。

其中,交易标号用于表示一个服务调用请求对应的交易,因此将交易标号与日志记录表关联,可使得前台系统直接从关联的日志记录表中获取到相应的响应数据。

步骤4、数据模拟层获取服务调用请求中的命令字;

步骤5、数据模拟层将命令字与交易的日志记录表进行比对,若确定交易的日志记录表中包含与服务调用请求中的命令字相同的命令字,则确定数据模拟层存储有所述服务调用请求对应的响应内容。

日志记录表的存储形式为:每条记录包含命令字及命令字对应的请求内容和响应内容。

举例来说,命令字A,对应了请求内容a1,已经对应了响应内容a2,其中,请求内容a1来源于前台系统的服务调用请求,响应内容a2来源于后台系统的响应内容,每个命令字对应的请求内容和响应内容,是在日志录制日志记录表时存储的,并且,日志记录表是在第一次软件测试时前台系统请求获取数据时,由后台系统反馈响应内容时,由模拟数据层录制的。

可选地,确定数据模拟层存储有服务调用请求对应的响应内容之前,数据模拟层还需要确定服务调用请求中的命令字对应的请求内容与交易的日志记录表中记录的与命令字对应的请求内容相同。

以上面的例子为例来说明,日志记录表中存储有命令字A,对应了请求内容a1,已经对应了响应内容a2,假设当前前台系统的服务调用请求中包含命令字A,则需要确定服务调用请求中的请求内容与日志记录表中存储的请求内容a1相同。

步骤6、数据模拟层确定服务调用请求对应的交易标号存在关联的交易的日志记录表,数据模拟层获取所述服务调用请求中的命令字;

步骤7、数据模拟层将命令字与交易的日志记录表进行比对,若确定交易的日志记录表中包含与服务调用请求中的命令字相同的命令字,则确定数据模拟层存储有服务调用请求对应的响应内容。

可选地,确定数据模拟层存储有服务调用请求对应的响应内容之前,数据模拟层还需要确定服务调用请求中的命令字对应的请求内容与交易的日志记录表中记录的与命令字对应的请求内容相同。

本发明提出了在前台系统和后台系统进行报文传输时增加一个数据模拟层,该数据模拟层接收并识别前台系统的服务调用请求,并且维护了一套各种网关支付场景对应的服务调用的mock数据。所有前台系统的服务调用全部指向数据模拟层,数据模拟层对请求服务进行筛选过滤,识别出需要进行参数校验的服务,对请求参数与预期值进行一一比对,日志输出比对结果,并对符合预期的请求返回期望的mock数据;同时数据模拟层对不需要进行参数校验的服务,直接构造后台系统请求,获取服务结果,并按照要求返回给前台系统。本发明屏蔽了后台系统的复杂性,验证了服务调用参数是否符合预期值,解决了自动化回归测试中后台系统难以满足测试要求的难题。

下面结合附图来进行具体的说明,其中,图2为本发明实施例提供的日志记录表录制过程示意图,每个后台接口调用都根据服务调用请求中的命令字参数来确定调用的具体服务。数据模拟层对常规交易重点接口都进行了日志录制,如订单预处理接口,卡信息查询接口,交易发起接口,交易查询接口等。同时。数据模拟层也维护了一套不需要录制(后续仍都需要调用后台系统获取内容)的接口列表,该组列表包括缓存服务,加密机服务,公共参数同步服务等。对于需要录制的命令,系统调用专门用于日志录制的方法类,记录请求内容和响应内容到日志记录表中。

当前台系统调用后台接口时,数据模拟层根据前台系统的服务调用请求中的命令字来进行后台系统调用,后台系统根据命令字反馈响应结果,由数据模拟层确定当前接口是否需要录制(即对于订单预处理接口,卡信息查询接口,交易发起接口,交易查询接口才需要录制),当确定需要录制时,则将当前接口的请求数据和响应数据记录到日志记录表中,当确定不需要录制时则直接构造返回报文并反馈给前台系统,其中,返回报文中包含有后台系统的响应内容。

前台系统获取请求的响应后进行侯素逻辑处理,如继续请求或停止请求。

参考图3,为本发明实施例提供的基于金融系统的测试方法详细流程图,即通过图2所示的流程进行了数据模拟层的日志记录表的录制之后,后续重新对于测试案例进行数据请求时,则由于数据模拟层中存储了相应的请求对应的响应内容,则可以直接由数据模拟层进行相应响应内容的反馈。

参照图3,前台系统调用后台接口,数据模拟层判断前台系统的服务调用请求是否为报文验签,若是,则根据验签数据获取对应的日志记录表,并根据文件内容按顺序初始化日志记录内容,并于该笔交易的交易标号进行关联,进一步地,返回验签成功,并以此构造返回报文给前台系统,由前台系统进行后续逻辑处理。

当前台系统接收到包含报文验签成功的消息后,继续向数据模拟层发送服务调用请求,此时,该服务调用请求报文不再是报文验签,而是包含具体的命令字和交易标号,因此,数据模拟层根据交易标号找到对应的日志记录表,并取出对应的日志记录表中的命令字对应的请求和响应内容,然后将服务调用请求中的命令字对应的请求内容与日志记录表中的命令字的请求内容进行比较,当比对成功时,则返回响应内容,并以此构造返回报文至前台系统。

从而,基于上述过程,完成了由数据模拟层向前台系统反馈响应内容,从而提高了数据请求效率及节约了后台系统资源。

本发明新增的数据模拟服务层实现了解析前台系统请求报文,按照要求返回结果报文等功能,同时该数据模拟层也能直接发起请求调用后台系统。整个自动化测试分两步进行,第一步是进行正常交易场景的日志录制,经过该步骤会生成待模拟数据的日志记录表;第二步是回放交易场景,系统将第一步收集的日志记录表进行归集和配置预处理,通过商户请求报文上送的特殊字段识别出当前订单对应的交易是否需要进行数据模拟,对于需要数据模拟返回的订单则后续该订单交易的每次接口调用都进行模拟数据的比对和返回,同时日志记录各种比对的结果。

本发明实施例的优点为:无需修改前台系统和后台系统的任何代码,对被测试内容无任何侵入。本发明屏蔽了后台系统的复杂性,验证了服务调用参数是否符合预期值,为回归测试判定结果是否成功提供了参考值,有效的解决了自动化回归测试中后台系统难以满足测试要求的难题。

基于相同的技术构思,本发明实施例还提供一种基于金融系统的测试装置,如图4所示,包括:

接收单元401,用于接收金融系统的前台系统的服务调用请求;

获取单元402,用于若根据所述服务调用请求确定所述测试装置存储有所述服务调用请求对应的响应内容,则从所述测试装置获取所述响应内容;

发送单元403,用于将所述响应内容反馈至所述前台系统。

可选地,所述发送单元403,还用于:若根据所述服务调用请求确定所述测试装置未存储所述服务调用请求对应的响应内容,则将所述服务调用请求转发至所述金融系统的后台系统;以及将所述接收单元401接收到的所述后台系统反馈的响应内容反馈至所述前台系统;

所述接收单元401,还用于接收所述后台系统反馈的与所述服务调用请求对应的响应内容。

可选地,所述测试装置还包括存储单元404,用于:

接收所述后台系统反馈的与所述服务调用请求对应的响应内容之后,将所述服务调用请求与所述响应内容进行关联并存储于所述服务调用请求对应的交易的日志记录表。

可选地,所述存储单元404,还用于将获取的所述服务调用请求中的命令字与所述响应内容进行关联之前,确定所述服务调用请求对应的交易类型属于待记录交易类型列表,所述待记录交易类型列表包含需要记录的交易类型。

可选地,所述测试装置还包括判断单元405,用于:

确定接收的所述服务调用请求为报文验签且所述报文验签存在对应的交易的日志记录表,则获取所述交易的日志记录表;

获取所述服务调用请求中的命令字;

将所述命令字与所述交易的日志记录表进行比对,若确定所述交易的日志记录表中包含与所述命令字相同的命令字,则确定所述测试装置存储有所述服务调用请求对应的响应内容。

可选地,所述判断单元405,还用于:

获取所述交易的日志记录表之后,将所述交易的日志记录表与所述服务调用请求对应的交易标号关联。

可选地,所述测试装置还包括判断单元405,用于:

确定接收的所述服务调用请求不是报文验签且所述服务调用请求对应的交易标号存在关联的交易的日志记录表,获取所述服务调用请求中的命令字;

将所述命令字与所述交易的日志记录表进行比对,若确定所述交易的日志记录表中包含与所述命令字相同的命令字,则确定所述测试装置存储有所述服务调用请求对应的响应内容

可选地,所述判断单元405,还用于:确定所述测试装置存储有所述服务调用请求对应的响应内容之前,确定所述服务调用请求中的命令字对应的请求内容与所述交易的日志记录表中记录的与所述命令字对应的请求内容相同。

本发明实施例,在前台系统和后台系统之间增加了一个数据模拟层,前台系统向数据模拟层发送服务调用请求,当数据模拟层根据服务调用请求确定数据模拟层存储有服务调用请求对应的响应内容,则直接从数据模拟层中获取响应内容并反馈至前台系统,由于数据模拟层预先存储了前台系统需要请求的数据,因此数据模拟层可直接向前台系统反馈响应内容,因此提高了前台系统获取数据的速度,并且减轻了后台系统的压力。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1