一种自动化对比测试数据的方法及装置与流程

文档序号:14990404发布日期:2018-07-20 22:06阅读:254来源:国知局

本发明涉及金融技术领域,具体涉及一种自动化对比测试数据的方法及装置。



背景技术:

为了提高商业银行的抗风险能力,各大商业银行逐步的实现去ioe,即去掉各大商业银行对ibm的小型机、oracle数据库、emc存储设备的依赖。

在这个过程中,需要将原有的系统和构架进行改造,将原有的ioe中的应用及相关数据迁移到新的开放平台中执行,因此,在改造的过程中需要对开放平台中进行功能测试。

其中,功能测试重要的一种测试是对对比测试数据,如回放日志的对比测试,回放日志是指将原系统或新迁移的开放平台中的某些交易报文进行日志回放后得到各自的测试数据,然后将得到的这两个测试数据进行逐行对比,来保证迁移数据后新的开放平台数据的完整性和准确性。

现有的对比测试数据的方法基本都是采用人工方式,靠人眼进行对比,来达到对比测试的目的,没有实现自动化。



技术实现要素:

有鉴于此,本发明实施例提供一种自动化对比测试数据的方法及装置,以减轻人工测试的负担,提高了测试效率和测试准确性。

为实现上述目的,本发明实施例提供如下技术方案:

本发明公开了一种自动化对比测试数据的方法,应用于银行核心系统,其中,银行核心系统与主机的主机数据库以及开放平台的开放平台数据库相连接,所述方法包括:

通过日志回放工具分别向所述主机以及所述开放平台回放原始日志;所述原始日志用于表征金融交易所对应的相关数据,所述原始日志包括原始日志号;

获取所述主机回放原始日志后在主机数据库中保存的所述原始日志对应的第一批次信息以及所述开放平台回放原始日志后在开放平台数据库中保存的所述原始日志对应的第二批次信息;

根据所述第一批次信息以及所述第二批次信息建立日志号结构表;所述日志号结构表用于表征相同金融交易在不同被测环境下的对应关系;

依据所述日志号结构表分别获取所述主机的第一输出报文以及所述开放平台的第二输出报文;

根据预设的对比测试规则将所述第一输出报文和所述第二输出报文进行比对,得到比对结果。

优选的,还包括:

将所述比对结果存储在所述日志号结构表中。

优选的,所述依据所述日志号结构表分别获取所述主机的第一输出报文以及所述开放平台的第二输出报文包括:

获取所述主机的第一输出报文接口信息;

根据所述第一输出报文接口信息,依据所述日志号结构表中的原始日志号获取与该原始日志号对应的第一输出报文;

获取所述开放平台的第二输出报文接口信息;

根据所述第二输出报文接口信息,依据所述日志号结构表中的原始日志号获取与该原始日志号对应的第二输出报文。

优选的,所述根据预设的对比测试规则将所述第一输出报文和所述第二输出报文进行比对,得到比对结果包括:

获取预设的对比测试规则;

提取所述第一输出报文中符合所述对比测试规则的第一字符串;

提取所述第二输出报文中符合所述对比测试规则的第二字符串;

将所述第一字符串和所述第二字符串进行匹配,若匹配则得出符合对比测试的结果,否则得出不符合对比测试的结果。

优选的,所述将所述比对结果存储在所述日志号结构表中包括:

在所述日志号结构表中新增数据列;

将所述对比结果存储在该新增数据列中。

本发明另一方面公开了一种自动化对比测试数据的装置,应用于银行核心系统,其中,银行核心系统与主机的主机数据库以及开放平台的开放平台数据库相连接,所述装置包括:

第一获取单元,用于通过日志回放工具分别向所述主机以及所述开放平台回放原始日志;所述原始日志用于表征金融交易所对应的相关数据,所述原始日志包括原始日志号;

第二获取单元,用于获取所述主机回放原始日志后在主机数据库中保存的所述原始日志对应的第一批次信息以及所述开放平台回放原始日志后在开放平台数据库中保存的所述原始日志对应的第二批次信息;

建立单元,用于根据所述第一批次信息以及所述第二批次信息建立日志号结构表;所述日志号结构表用于表征相同金融交易在不同被测环境下的对应关系;

第三获取单元,用于依据所述日志号结构表分别获取所述主机的第一输出报文以及所述开放平台的第二输出报文;

比较单元,用于根据预设的对比测试规则将所述第一输出报文和所述第二输出报文进行比对,得到比对结果。

优选的,还包括:

记录单元,用于将所述比对结果存储在所述日志号结构表中。

优选的,所述第三获取单元包括:

第一获取模块,用于获取所述主机的第一输出报文接口信息;

第一计算模块,用于根据所述第一输出报文接口信息,依据所述日志号结构表中的原始日志号获取与该原始日志号对应的第一输出报文;

第二获取模块,用于获取所述开放平台的第二输出报文接口信息;

第二计算模块,用于根据所述第二输出报文接口信息,依据所述日志号结构表中的原始日志号获取与该原始日志号对应的第二输出报文。

优选的,所述比较单元包括:

规则获取模块,用于获取预设的对比测试规则;

第一提取模块,用于提取所述第一输出报文中符合所述对比测试规则的第一字符串;

第二提取模块,用于提取所述第二输出报文中符合所述对比测试规则的第二字符串;

比较模块,用于将所述第一字符串和所述第二字符串进行匹配,若匹配则得出符合对比测试的结果,否则得出不符合对比测试的结果。

优选的,所述记录单元包括:

新建模块,用于在所述日志号结构表中新增数据列;

存储模块,用于将所述对比结果存储在该新增数据列中。

基于上述技术方案,本发明实施例提供的一种自动化对比测试数据的方法及装置,应用于银行核心系统,其中,银行核心系统与主机的主机数据库以及开放平台的开放平台数据库相连接,所述方法通过日志回放工具分别向所述主机以及所述开放平台回放原始日志;所述原始日志用于表征金融交易所对应的相关数据,所述原始日志包括原始日志号;获取所述主机回放原始日志后在主机数据库中保存的所述原始日志对应的第一批次信息以及所述开放平台回放原始日志后在开放平台数据库中保存的所述原始日志对应的第二批次信息;根据所述第一批次信息以及所述第二批次信息建立日志号结构表;所述日志号结构表用于表征相同金融交易在不同被测环境下的对应关系;依据所述日志号结构表分别获取所述主机的第一输出报文以及所述开放平台的第二输出报文;根据预设的对比测试规则将所述第一输出报文和所述第二输出报文进行比对,得到比对结果。由于测试过程完全不需要人工的参与,减轻人工测试的负担,提高了测试效率和准确性。

附图说明

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

图1是本发明提供的一种自动化对比测试数据的方法的流程示意图;

图2是本发明提供的一种自动化对比测试装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的技术方案主要应用在大型银行的核心交易系统中,用来实现大型银行的去ioe,其中ioe中,ibm是服务器提供商,oracle是数据库软件提供商,emc则是存储设备提供商。本发明的核心思想是实现自动化比对测试,达到自动化测试的目的,提高去ioe的效率。

下面对本发明的技术方案进行详细介绍。

图1是本发明提供的一种自动化对比测试数据的方法的流程示意图。

参见图1,本发明提供的一种自动化对比测试数据的方法,应用于银行核心系统,其中,银行核心系统与主机的主机数据库以及开放平台的开放平台数据库相连接。

本次发明的测试方法实现了利用交易报文,根据预设比对规则实现自动化比对测试。这在大型商业银行的核心交易系统中是属首例。本发明对在核心交易系统进行架构优化,将部分查询交易由主机(ibm大型机)下移到开放平台,逐步实现本行系统的去ioe。

本发明提供的一种自动化对比测试数据的方法包括:

s101、通过日志回放工具分别向所述主机以及所述开放平台回放原始日志;所述原始日志用于表征金融交易所对应的相关数据,所述原始日志包括原始日志号;

本发明实施例中,金融交易都记录有原始日志,原始日志中包括原始日志号以及金融交易所对应的相关数据。本发明实施例中,利用日志回放工具分别向主机和开放平台回放原始日志。其中,每一个原始日志对应一次金融交易,当每笔交易回放一次时,主机的主机数据库以及开放平台的开放平台数据库均会记录相应的原始日志号、被压环境日志号以及回放批次号。例如,下表1和表2,每回放一笔交易,都会记录一行数据。

其中,被测环境日志号用于表征每笔交易回放时,会在被测环境根据日志号计数器,以递增模式产生一个不会重复的日志号。回放批次号是指每次回放时,回放工具会产生一个批次号,用于标识回放的批次。

s102、获取所述主机回放原始日志后在主机数据库中保存的所述原始日志对应的第一批次信息以及所述开放平台回放原始日志后在开放平台数据库中保存的所述原始日志对应的第二批次信息;

本发明实施例中,获取主机数据库中的第一批次信息以及开放平台数据库中的第二批次信息。第一批次信息、第二批次信息均包括原始日志号、被压环境日志号以及回放批次号。其中,被压环境号根据不同的被测环境而不同,回放批次号也不同,相同的金融交易对应的原始日志号相同。

本发明实施例中,获取第一批次信息后会根据该第一批次信息建立如表1的结构表,获取第二批次信息后会根据第二批次信息建立如表2的结构表。

s103、根据所述第一批次信息以及所述第二批次信息建立日志号结构表;所述日志号结构表用于表征相同金融交易在不同被测环境下的对应关系;

建立了两个结构表后,本发明实施例中,会建立日志号结构表。如下表3。

表3

本发明实施例中,保留第一批次信息中的原始日志号以及被测环境1日志号,在同一行中,保存与第一批次信息中原始日志号相同的第二批次信息中的被测环境2日志号,建立日志号结构表。

s104、依据所述日志号结构表分别获取所述主机的第一输出报文以及所述开放平台的第二输出报文;

本发明实施例中,创建得到日志号结构表后,分别连接主机数据库以及开放平台数据库,获取回放原始日志所对应的第一输出报文和第二输出报文。

其中,第一输出报文是ebcdic(extendedbinarycodeddecimalinterchangecode)的编码方式,采用二进制编码形式表示十进制数,是字母或数字字符的二进制编码,本发明实施例中,会对第一输出报文进行编码转换。转换为16进制编码方式的第一输出报文。其中,第二输出报文是16进制编码方式。

s105、根据预设的对比测试规则将所述第一输出报文和所述第二输出报文进行比对,得到比对结果。

本发明实施例中,得到两个16进制编码的第一输出报文和第二输出报文后,获取预设的对比测试规则,将第一输出报文和第二输出报文进行比对,得到比对结果。

其中,所述根据预设的对比测试规则将所述第一输出报文和所述第二输出报文进行比对,得到比对结果包括:

获取预设的对比测试规则;

提取所述第一输出报文中符合所述对比测试规则的第一字符串;

提取所述第二输出报文中符合所述对比测试规则的第二字符串;

将所述第一字符串和所述第二字符串进行匹配,若匹配则得出符合对比测试的结果,否则得出不符合对比测试的结果。

需要说明的是,对比测试规则可以是预先进行设置的。其包括校验指定交易的输出一致性、校验全字段或校验某几个字段等。这些规则可以根据业务实际情况进行灵活设计,当然,可以理解的是,在对比测试的过程中,也可以由用户手动进行选择。

其中,获取对比测试规则后,根据该规则执行自动比对的过程。例如,对比字符串的后八位,或者对比全部字符串是否相同等。然后得出符合对比测试的结果的信息或者不符合对比测试结果的信息进行输出。

基于上述技术方案,本发明实施例提供的一种自动化对比测试数据的方法,应用于银行核心系统,其中,银行核心系统与主机的主机数据库以及开放平台的开放平台数据库相连接,所述方法通过日志回放工具分别向所述主机以及所述开放平台回放原始日志;所述原始日志用于表征金融交易所对应的相关数据,所述原始日志包括原始日志号;获取所述主机回放原始日志后在主机数据库中保存的所述原始日志对应的第一批次信息以及所述开放平台回放原始日志后在开放平台数据库中保存的所述原始日志对应的第二批次信息;根据所述第一批次信息以及所述第二批次信息建立日志号结构表;所述日志号结构表用于表征相同金融交易在不同被测环境下的对应关系;依据所述日志号结构表分别获取所述主机的第一输出报文以及所述开放平台的第二输出报文;根据预设的对比测试规则将所述第一输出报文和所述第二输出报文进行比对,得到比对结果。由于测试过程完全不需要人工的参与,减轻人工测试的负担,提高了测试效率和准确性。

上述介绍了获取第一输出报文和第二输出报文的过程,下面对此过程进行详细介绍。

基于上述实施例,步骤s104具体包括:

获取所述主机的第一输出报文接口信息;

根据所述第一输出报文接口信息,依据所述日志号结构表中的原始日志号获取与该原始日志号对应的第一输出报文;

获取所述开放平台的第二输出报文接口信息;

根据所述第二输出报文接口信息,依据所述日志号结构表中的原始日志号获取与该原始日志号对应的第二输出报文。

本发明实施例中,获取主机的第一输入报文接口信息,其包括有输出字段结构以及编码规则,根据交易的输出字段结构,由统一的编码规则获得该第一输出报文。同理,获得开放平台所返回的第二输出报文。

例如,根据日志号结构表获取主机的第一输出报文的被测环境1日志号为123,开放平台的被测环境2日志号为992,可以理解的是,这两个日志号对应的原始日志号相同。根据主机的编码规则,得到第一输出报文为123101。

由此,本发明实施例可以自动的根据原始日志获取第一输出报文和第二输出报文来自动进行比对。

当获得了比对结果后,还包括:

将所述比对结果存储在所述日志号结构表中。

所述将所述比对结果存储在所述日志号结构表中包括:

在所述日志号结构表中新增数据列;

将所述对比结果存储在该新增数据列中。

本发明实施例中,还会将比对结果自动存储在日志号结构表中,其中,存储的方式是将对比结果存储在日志号结构表中对应的一行中。当然,可以理解的是,保存后的日志号结构表还可以输出到显示装置来进行展示。

为了便于理解本发明的技术方案,下面举一个具体比对的实例。

本次实施例选择的交易为交易a,读取交易a的输出报文接口信息,得到其包含的字段有id码(id_num),客户姓名(name),币种(currency),日期(date),省市代码(pro_cod)。用户设置的比对规则是:id码不需要比对,其余要素需要比对。

根据交易的输出字段结构,由统一的编码规则,获得第一输出报文,id_num位于报文的前10位,name为随后的3位,currency、date、pro_cod将对应的码字依次顺序排列。

本次校验选择的交易a需要进行字段结构对比解析,且为非全字段。根据创建日志号对应结构后得到主机的被压1日志号123456和开放平台的被压2日志号999992,根据交易的输出字段结构,由统一的编码规则,获得主机被被测环境1日志号100001的第一输出报文out1为ebcdic码:1234567890abccny2017010199。

由ebcdic转成16进制后得到out1’为f1f2f3f4f5f6f7f8f9f0c1c2c3c3d5e8f2f0f1f7f0f1f0f1f1f9f9。

由开放平台被测环境2日志号999992得到第二输出报文out2为:f9f9f9f9f9f2f7f8f9f0c1c2c3c3d5e8f2f0f1f7f0f1f0f1f1f9f9。

由于用户预设的比对规则为id_num不比对,其余要素需要比对,则需要比对的内容为:c1c2c3c3d5e8f2f0f1f7f0f1f0f1f1f9f9。

out1’和out2中需要比对的内容一致,所以本次实施例返回的结果为正确。

将该结果保存在日志号结构表中。

本次发明的方法从生产交易日志报文中,筛选出需要测试交易的报文,实现了测试用例的全面覆盖。同时通过设置比对规则,将原始日志回放后的结果进行比对,筛选出异常的(不符合规则的)交易,可快速发现程序缺陷。整个执行过程自动化进行,不需要手工设计案例、手工提交案例、人眼比对结果,减轻了人工测试的负担,增加了测试覆盖面,提高了测试效率和测试准确性。

本发明的有益效果如下:

(1)本发明既能得到每个交易的回放结果(报文成功标识位),又可以根据不同交易码,设置多个交易的比对规则。然后根据用户预设的比对规则,在两个批次日志回放结束后,自动判断测试结果的正确与否。该发明实现了自动化进行功能测试的目的,能够迅速发现商业银行的主机交易下移到开放平台,或主机升级等项目的功能测试缺陷,填补了日志回放技术在功能测试领域的空白。

(2)本发明一是可以根据生产实际发生的交易日志,仿真生产真实场景,覆盖生产上多种程序分支,增加测试充分性。二是可以自动完成海量交易的功能测试,节省案例设计和人工执行的成本,提高测试效率。三是可以快速发现功能测试中的程序缺陷,提高测试质量。

与方法相对应的,本发明另一方面还公开了一种自动化对比测试数据的装置。

参见图2,图2是本发明提供的一种自动化对比测试装置的结构示意图。

本发明提供的一种自动化对比测试数据的装置,应用于银行核心系统,其中,银行核心系统与主机的主机数据库以及开放平台的开放平台数据库相连接,所述装置包括:

第一获取单元11,用于通过日志回放工具分别向所述主机以及所述开放平台回放原始日志;所述原始日志用于表征金融交易所对应的相关数据,所述原始日志包括原始日志号;

第二获取单元12,用于获取所述主机回放原始日志后在主机数据库中保存的所述原始日志对应的第一批次信息以及所述开放平台回放原始日志后在开放平台数据库中保存的所述原始日志对应的第二批次信息;

建立单元13,用于根据所述第一批次信息以及所述第二批次信息建立日志号结构表;所述日志号结构表用于表征相同金融交易在不同被测环境下的对应关系;

第三获取单元14,用于依据所述日志号结构表分别获取所述主机的第一输出报文以及所述开放平台的第二输出报文;

比较单元15,用于根据预设的对比测试规则将所述第一输出报文和所述第二输出报文进行比对,得到比对结果。

优选的,还包括:

记录单元,用于将所述比对结果存储在所述日志号结构表中。

优选的,所述第三获取单元包括:

第一获取模块,用于获取所述主机的第一输出报文接口信息;

第一计算模块,用于根据所述第一输出报文接口信息,依据所述日志号结构表中的原始日志号获取与该原始日志号对应的第一输出报文;

第二获取模块,用于获取所述开放平台的第二输出报文接口信息;

第二计算模块,用于根据所述第二输出报文接口信息,依据所述日志号结构表中的原始日志号获取与该原始日志号对应的第二输出报文。

优选的,所述比较单元包括:

规则获取模块,用于获取预设的对比测试规则;

第一提取模块,用于提取所述第一输出报文中符合所述对比测试规则的第一字符串;

第二提取模块,用于提取所述第二输出报文中符合所述对比测试规则的第二字符串;

比较模块,用于将所述第一字符串和所述第二字符串进行匹配,若匹配则得出符合对比测试的结果,否则得出不符合对比测试的结果。

优选的,所述记录单元包括:

新建模块,用于在所述日志号结构表中新增数据列;

存储模块,用于将所述对比结果存储在该新增数据列中。

本发明的技术方案主要应用在大型银行的核心交易系统中,用来实现大型银行的去ioe,其中ioe中,ibm是服务器提供商,oracle是数据库软件提供商,emc则是存储设备提供商。本发明的核心思想是实现自动化比对测试,达到自动化测试的目的,提高去ioe的效率。

本申请实施例提供的一种自动化对比测试装置所实现的是上述方法实施例中的方法,对于上述实现自动化对比测试装置中各个步骤的实施过程以及解释等请参阅上述方法实施例中的相关说明,对此本发明实施例不再阐述。

本发明实施例提供的一种自动化对比测试数据的装置,应用于银行核心系统,所述方法通过日志回放工具分别向所述主机以及所述开放平台回放原始日志;获取所述主机回放原始日志后在主机数据库中保存的所述原始日志对应的第一批次信息以及所述开放平台回放原始日志后在开放平台数据库中保存的所述原始日志对应的第二批次信息;根据所述第一批次信息以及所述第二批次信息建立日志号结构表;依据所述日志号结构表分别获取所述主机的第一输出报文以及所述开放平台的第二输出报文;根据预设的对比测试规则将所述第一输出报文和所述第二输出报文进行比对,得到比对结果。由于测试过程完全不需要人工的参与,减轻测试人员的负担,提高了测试效率。

为了描述的方便,描述以上系统时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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