1.本技术涉及程序测试领域,特别涉及一种交易核对测试方法及装置、电子设备、存储介质。
背景技术:2.为了能提高交易核对即对账的效率以及准确性等,所以当前需求企业都开始采用应用系统进行自动对账。而为了保证应用系统对账的准确性,则需要进行测试。
3.现今的针对对账的测试方法,主要通过接收进行交易核对的请求方和服务方的系统发送的对账文件,并在人工校验数据正确后,手动调用系统的批量对账程序进行对账。最后根据生成的对账结果文件,验证双方交易是否匹配,以及验证生成的报表文件是否正确。
4.但是这种方式需要依托上游系统的系统发送的对账文件,与上游系统的耦合度较高,需要在上游系统下发对账文件后,才能进行测试,并且加上通过人工进行结果的匹配验证,因此现有的方式效率相对较低。
技术实现要素:5.基于上述现有技术的不足,本技术提供了一种交易核对测试方法及装置、电子设备、存储介质,以解决现有的交易核对测试的方法的效率相对较低的问题。
6.为了实现上述目的,本技术提供了以下技术方案:
7.本技术第一方面提供了一种交易核对测试方法,包括:
8.基于预先定义的接口文件,生成请求方和服务方的对账文件;
9.将对账场景重置为未跑批状态;
10.调用预先编译的批量对账程序,以基于所述对账文件进行对账;
11.获取批量对账后的对账结果信息以及生成的报表文件;
12.通过将所述对账结果信息以及所述报表文件,分别与真实对账结果对比,生成测试报告。
13.可选地,在上述的交易核对测试方法中,所述调用预先编译的批量对账程序,以基于所述对账文件进行对账之后,还包括:
14.实时监测所述批量对账程序是否执行结束;
15.若监测到所述批量对账程序执行结束,则判断是否生成对账结果信息以及报表文件;
16.若判断出已生成所述对账结果信息以及所述报表文件,则执行所述获取批量对账后的对账结果信息以及生成的报表文件。
17.可选地,在上述的交易核对测试方法中,所述基于预先定义的接口文件,生成请求方和服务方的对账文件,包括:
18.基于预先定义的接口文件,生成对账文件模板;其中,所述接口文件预先根据所述请求方与所述服务方的对账约定进行定义得到;
19.基于所述接口文件,往所述对账文件模板中写入多笔交易数据,得到请求方和服务方的对账文件。
20.可选地,在上述的交易核对测试方法中,所述通过将所述对账结果信息以及所述报表文件,分别与真实对账结果对比,生成测试报告,包括:
21.分别从所述对账结果信息以及所述报表文件中解析出目标字段中的目标信息;
22.将各个所述目标信息与所述真实对账结果中对应的信息进行对比,得到对比结果;
23.利用所述对比结果生成测试报告。
24.本技术第二方面提供了一种交易核对测试装置,包括:
25.文件生成单元,用于基于预先定义的接口文件,生成请求方和服务方的对账文件;
26.重置单元,用于将对账场景重置为未跑批状态;
27.调用单元,用于调用预先编译的批量对账程序,以基于所述对账文件进行对账;
28.获取单元,用于获取批量对账后的对账结果信息以及生成的报表文件;
29.报告生成单元,用于通过将所述对账结果信息以及所述报表文件,分别与真实对账结果对比,生成测试报告。
30.可选地,在上述的交易核对测试装置中,还包括:
31.监测单元,用于实时监测所述批量对账程序是否执行结束;
32.判断单元,用于若监测到所述批量对账程序执行结束,则判断是否生成对账结果信息以及报表文件;
33.其中,若判断出已生成所述对账结果信息以及所述报表文件,则所述获取单元执行所述获取批量对账后的对账结果信息以及生成的报表文件。
34.可选地,在上述的交易核对测试装置中,所述文件生成单元,包括:
35.模板生成单元,用于基于预先定义的接口文件,生成对账文件模板;其中,所述接口文件预先根据所述请求方与所述服务方的对账约定进行定义得到;
36.填充单元,用于基于所述接口文件,往所述对账文件模板中写入多笔交易数据,得到请求方和服务方的对账文件。
37.可选地,在上述的交易核对测试装置中,所述报告生成单元,包括:
38.解析单元,用于分别从所述对账结果信息以及所述报表文件中解析出目标字段中的目标信息;
39.对比单元,用于将各个所述目标信息与所述真实对账结果中对应的信息进行对比,得到对比结果;
40.生成子单元,用于利用所述对比结果生成测试报告。
41.本技术第三方面提供了一种电子设备,包括:
42.存储器和处理器;
43.其中,所述存储器用于存储程序;
44.所述处理器用于执行所述程序,所述程序被执行时,具体用于实现如上述任意一项所述的交易核对测试方法。
45.本技术第四方面提供了一种计算机存储介质,用于存储计算机程序,所述计算机程序被执行时,用于实现如上述任意一项所述的交易核对测试方法。
46.本技术提供的一种交易核对测试方法,基于预先定义的接口文件,生成请求方和服务方的对账文件,从而模拟上游系统生成对账文件,不需要上游系统下发对账文件,实现与上游系统的解耦。然后,将对账场景重置为未跑批状态,并调用预先编译的批量对账程序,以基于对账文件进行对账,最后获取批量对账后的对账结果信息以及生成的报表文件,并通过将对账结果信息以及报表文件,分别与真实对账结果对比,生成测试报告。从而不需要人工调用批量对账程序,也实现了核对结果的自动对比以及测试报告的自动生成,有效提高了交易核对测试的效率。
附图说明
47.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
48.图1为本技术实施例提供的一种交易核对测试系统的架构示意图;
49.图2为本技术实施例提供的一种交易核对测试方法的流程图;
50.图3为本技术实施例提供的一种生成对账文件的方法的流程图;
51.图4为本技术实施例提供的一种生成测试报告的方法的流程图;
52.图5为本技术另一实施例提供的另一种交易核对测试方法的流程图;
53.图6为本技术另一实施例提供的一种交易核对测试装置的结构示意图;
54.图7为本技术另一实施例提供的一种文件生成单元的结构示意图;
55.图8为本技术另一实施例提供的一种报告生成单元的结构示意图;
56.图9为本技术另一实施例提供的一种电子设备的结构示意图。
具体实施方式
57.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
58.本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
59.需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
60.需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
61.本技术提供了一种交易核对测试方法,以解决现有的交易核对测试的方法的效率相对较低的问题。
62.可选地,为了实现本技术提供的交易核对测试方法,本技术实施例提供了一种交
易核对测试系统。
63.可选地,本技术实施例提供的交易核对测试系统可以是基于自动化测试框架robotframework实现。
64.其中,robotframework是基于python编写的自动化测试框架,采用关键字驱动的方式,使用表格来组织测试过程和测试数据,具备良好的可扩展性。本身提供了测试用例的组织、运行、测试报告的生成等基础功能,所以通过自动化测试框架实现robotframework,更加地便利。当然这只是其中一种选择,也可以采用其他的工具实现。
65.并且,本技术实施例提供的交易核对测试系统还可以使用测试支持库sshlibrary远程操作linux系统,以及使用databaselibrary库对数据库进行操作。
66.如图1所示,本技术实施例提供的一种交易核对测试系统,具体包括:
67.数据层、通讯层以及分析层。
68.其中,数据层主要用于数据录入和批前准确。
69.数据录入过程可以通过robotframework连接后台服务器,自动生成对账文件。具体,根据交易核对系统约定的对帐文件中定义的接口,往对账文件中写入交易数据,模拟上游系统的对账文件,从而实现与上游系统的解耦。
70.批前准备可以是通过robotframework连接数据库,根据预先设置的跑批的前提条件,即根据执行批量对账程序的前提条件,在每次执行批量对账程序前,都先重置对账场景为未跑批情况,以及进行批量对账层程序运行的一些前提工作,如测试环境的切换等,从而可以保障自动化案例的循环执行。
71.通信层主要用于调用预先编译后的批量对账程序进行对账。其中,批量对账程序可以为shell脚本。
72.可选地,可以通过robotframework连接后台服务器,然后调用编写的shell脚本,从而自动调用批量对账程序完成对账。
73.分析层主要结果解析和对比,以及用于生成测试报告。
74.结果解析和对比过程中,通过分配批量对账程序执行后的对账结果信息以及生成的报表文件,解析需要比对的字段。然后将解析出来的字段和实际结果进行比对,达到自动比对的效果。
75.生成测试报告时,主要根据程序运行的情况,自动生成测试报告。
76.测试人员可通过测试报告,方便快捷的分析测试结果,对于测试失败案例,测试人员可直观的查看实际结果和期望结果的比较,从而分析问题所在,快速定位问题。
77.基于上述提供的交易核对测试系统,本技术另一实施例提供了一种交易核对测试方法,如图2所示,包括以下步骤:
78.s201、基于预先定义的接口文件,生成请求方和服务方的对账文件。
79.其中,预先定义的接口文件是预先基于请求方和服务方的对账约定定义的文件。其中,结果文件中可以包括有数据的格式、类型等信息。
80.请求方和服务方指的是参与交易核对的双方。
81.可选地,在本技术另一实施例中,步骤s201的一种具体实施方式,如图3所示,包括:
82.s301、基于预先定义的接口文件,生成对账文件模板。
83.其中,接口文件预先根据请求方与所述服务方的对账约定进行定义得到。
84.具体,根据预先定义的接口文件中对对照文件的要求,生成未存储有交易数据的文件模板,然后执行步骤s302。
85.s302、基于接口文件,往对账文件模板中写入多笔交易数据,得到请求方和服务方的对账文件。
86.具体的,基于接口文件中对于交易数据的要求,生成多笔交易数据,并将生成的多笔交易数据填充至对照文件模板中,得到对照文件。
87.需要说明的是,在生成交易数据时,需要模拟生成请求方的交易数据,以及相应的服务方的交易数据。
88.s202、将对账场景重置为未跑批状态。
89.需要说明的是,由于测试并不只是进行一次,所以为了保证之前的测试不影响本次测试的结果,所以需要对对照场景的各个参数进行重置,将其重置为未跑批的状态,即重置回未执行多批量对账程序时的状态。
90.s203、调用预先编译的批量对账程序,以基于对账文件进行对账。
91.可选地,预先编译的匹配对照程序可以是shell脚本。
92.具体的,调用预先编译好的批量对账程序,并执行该批量对账程序。批量对账程序在执行时,对账文件中的交易数据进行对比,并将输出对比的结果信息,即对账结果信息。
93.s204、获取批量对账后的对账结果信息以及生成的报表文件。
94.需要说明的是,在批量对账程序执行时,对对账文件进行批量对账,此时会相应的产生对账结果信息,即交易数据是否匹配成功等,并且根据对账的情况,生成报表文件,具体可以包括匹配率等参数,具体可以根据需要进行设置。
95.s205、通过将对账结果信息以及报表文件,分别与真实对账结果对比,生成测试报告。
96.需要说明的是,执行批量对账文件得到的结果并不一定准确,所以可以与真实对账结果进行对比,并基于对比的结果生成测试报告,并反馈给测试人员。
97.可选地,在本技术另一实施例中,步骤s205的一种具体实施方式,如图4所示,包括以下步骤:
98.s401、分别从对账结果信息以及报表文件中解析出目标字段中的目标信息。
99.其中,目标字段指的是预先指定的字段。目标信息指的是目标字段中的信息。
100.具体的,对账结果信息以及报表文件进行解析,并从解析后的对账结果信息和报表文件中提取出目标字段中的目标信息。
101.s402、将各个目标信息与真实对账结果中对应的信息进行对比,得到对比结果。
102.分别针对每个目标信息,将真实对账结果中与目标信息所在的目标字段具有关联的信息与目标信息进行对比,确定两者是否一致,得到对比结果。
103.s403、利用对比结果生成测试报告。
104.本技术实施例提供的一种交易核对测试方法,基于预先定义的接口文件,生成请求方和服务方的对账文件,从而模拟上游系统生成对账文件,不需要上游系统下发对账文件,实现与上游系统的解耦。然后,将对账场景重置为未跑批状态,并调用预先编译的批量对账程序,以基于对账文件进行对账,最后获取批量对账后的对账结果信息以及生成的报
表文件,并通过将对账结果信息以及报表文件,分别与真实对账结果对比,生成测试报告。从而不需要人工调用批量对账程序,也实现了核对结果的自动对比以及测试报告的自动生成,有效提高了交易核对测试的效率。
105.本技术另一实施例提供了另一种交易核对测试方法,如图5所示,包括以下步骤:
106.s501、基于预先定义的接口文件,生成请求方和服务方的对账文件。
107.需要说明的是,步骤s501的具体实施方式,可相应地参考上述方法实施例中的步骤s201,此处不再赘述。
108.s502、将对账场景重置为未跑批状态。
109.需要说明的是,步骤s502的具体实施方式,可相应地参考上述方法实施例中的步骤s202,此处不再赘述。
110.s503、调用预先编译的批量对账程序,以基于对账文件进行对账。
111.需要说明的是,步骤s503的具体实施方式,可相应地参考上述方法实施例中的步骤s203,此处不再赘述。
112.s504、实时监测批量对账程序是否执行结束。
113.需要说明的是,对账结果在批量对账程序执行的过程中会不断产生,但需要在得到所有的结果后才进行对比,因此在本技术实施例汇总,实时监测批量对账程序是否执行结束,若监测到批量对账程序执行结束,则执行步骤s505。
114.s505、判断是否生成对账结果信息以及报表文件。
115.由于,在程序执行过程中,可能由于其他原因,而未能产生对账结果信息以及报表文件,也就无法执行后续的步骤,所以需要判断是否生成对账结果信息以及报表文件。若判断出生成了对账结果信息以及报表文件,则执行步骤s506。
116.可选地,若判断出未生成对账结果信息或未生成报表文件,则向用户反馈提示信息,提示用户未能生成对账结果信息或报表文件。
117.s506、获取批量对账后的对账结果信息以及生成的报表文件。
118.s507、分别从对账结果信息以及报表文件中解析出目标字段中的目标信息。
119.需要说明的是,步骤s507的具体实施方式,可相应地参考上述方法实施例中的步骤s401,此处不再赘述。
120.s508、将各个目标信息与真实对账结果中对应的信息进行对比,得到对比结果。
121.需要说明的是,步骤s508的具体实施方式,可相应地参考上述方法实施例中的步骤s402,此处不再赘述。
122.s509、利用对比结果生成测试报告。
123.需要说明的是,步骤s509的具体实施方式,可相应地参考上述方法实施例中的步骤s403,此处不再赘述。
124.需要说明的是,附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功
能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
125.虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。
126.本技术另一实施例提供了一种交易核对测试装置,如图6所示,包括以下单元:
127.文件生成单元601,用于基于预先定义的接口文件,生成请求方和服务方的对账文件。
128.重置单元602,用于将对账场景重置为未跑批状态。
129.调用单元603,用于调用预先编译的批量对账程序,以基于所述对账文件进行对账。
130.获取单元604,用于获取批量对账后的对账结果信息以及生成的报表文件。
131.报告生成单元605,用于通过将所述对账结果信息以及所述报表文件,分别与真实对账结果对比,生成测试报告。
132.可选地,在本技术另一实施例提供的交易核对测试装置中,还包括:
133.监测单元,用于实时监测所述批量对账程序是否执行结束。
134.判断单元,用于若监测到所述批量对账程序执行结束,则判断是否生成对账结果信息以及报表文件。
135.其中,若判断出已生成所述对账结果信息以及所述报表文件,则所述获取单元执行所述获取批量对账后的对账结果信息以及生成的报表文件。
136.可选地,在本技术另一实施例提供的交易核对测试装置中,文件生成单元,如图7所示,包括:
137.模板生成单元701,用于基于预先定义的接口文件,生成对账文件模板。
138.其中,所述接口文件预先根据所述请求方与所述服务方的对账约定进行定义得到。
139.填充单元702,用于基于所述接口文件,往所述对账文件模板中写入多笔交易数据,得到请求方和服务方的对账文件。
140.可选地,在本技术另一实施例提供的交易核对测试装置中,报告生成单元,如图8所示,包括:
141.解析单元801,用于分别从所述对账结果信息以及所述报表文件中解析出目标字段中的目标信息。
142.对比单元802,用于将各个所述目标信息与所述真实对账结果中对应的信息进行对比,得到对比结果。
143.生成子单元803,用于利用所述对比结果生成测试报告。
144.需要说明的是,本技术上述实施例提供的各个单元可以是图1示出的交易核对测试系统的各层中的组成部件,并且各个单元的具体工作可相应地参考上述方法实施例汇总的相应的步骤,此处不再赘述。
145.本技术另一实施例提供了一种电子设备,如图9所示,包括:
146.存储器901和处理器902。
147.其中,存储器901用于存储程序。
148.处理器902用于执行存储器901存储的程序,并且该程序被执行时,具体用于实现如上述任意一个实施例提供的交易核对测试方法。
149.本技术另一实施例提供了一种计算机存储介质,用于存储计算机程序,所述计算机程序被执行时,用于实现如上述任意一个实施例提供的交易核对测试方法。
150.计算机存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
151.需要说明的是,本技术提供的一种交易核对测试方法及装置、电子设备、存储介质,可用于金融领域。上述仅为示例,并不对本技术提供的一种交易核对测试方法及装置、电子设备、存储介质的应用领域进行限定。
152.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
153.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。