CN114490415A - 业务测试方法、计算机设备、存储介质和计算机程序产品 - Google Patents
业务测试方法、计算机设备、存储介质和计算机程序产品 Download PDFInfo
- Publication number
- CN114490415A CN114490415A CN202210137724.5A CN202210137724A CN114490415A CN 114490415 A CN114490415 A CN 114490415A CN 202210137724 A CN202210137724 A CN 202210137724A CN 114490415 A CN114490415 A CN 114490415A
- Authority
- CN
- China
- Prior art keywords
- service
- data
- file
- processing
- file structure
- 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.)
- Pending
Links
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/3684—Test management for test design, e.g. generating new test cases
-
- 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/3692—Test management for test results analysis
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为一些实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
需要说明的是,本公开业务测试方法可用于金融领域中用于处理交易数据的业务执行器的测试,也可用于除金融领域之外的任意领域的业务执行器的业务测试,本公开对业务测试方法的应用领域不做限定。
本申请实施例提供的业务测试方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。终端102可以向服务器104发送业务测试指令,业务测试指令中可以携带业务执行器的标识,服务器可以基于业务执行器的标识确定要进行测试的业务执行器,获取用于测试该业务执行器的原始数据表格,执行本申请实施例提供的业务测试方法。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一些实施例中,如图2所示,提供了一种业务测试方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤S202,获取原始业务数据表格,从原始业务数据表格中获取业务输入数据。
其中,原始业务数据表格中可以包括业务输入数据以及将该业务输入数据输入到业务执行器进行处理,所得到的正确的业务处理数据。原始业务数据表格中的业务数据根据实际业务场景确定。举个例子,假设原始业务数据表格关于交易数据的表格,则原始业务数据表格中可以包括交易双方的账户名称、交易金额、交易双方在交易前以及交易之后分别对应的账户金额。又或者,原始业务数据表格是关于业务营收的表格,则原始业务数据表格中可以包括每一年的业务营收。
原始业务数据表格可以是预先设置的,也可以是根据测试指令实时生成的。例如预先设置了业务执行器对应的测试数据生成策略,在接收到测试指令时,根据测试指令中的业务执行器的标识获取对应的测试数据生成策略,根据该测试数据生成策略生成原始业务数据表格。例如测试数据生成策略中预先设置了表格形式的可视化文件模板,可以获取预先存储的数据,将预先存储的数据填写到表格形式的可视化文件模板中,并且配置好各文件IP、端口、目录、和主键,生成原始业务数据表格。
具体地,原始业务数据表格中包括业务输入数据,因此服务器可以从原始业务数据表格中获取业务输入数据。例如,当原始业务数据表格中包括交易双方的账户名称、交易金额、交易双方在交易前以及交易之后分别对应的账户金额时,则可以将账户名称、交易金额、交易双方在交易前的账户金额作为业务输入数据。又例如,原始数据表格中包括交易记录,如果是需要对交易记录进行异常检测,则整条交易记录为业务输入数据,而业务处理数据可以为标记该交易记录是否异常的标识。
步骤S204,将业务输入数据输入到业务执行器中进行处理,处理得到业务处理文件。
其中,业务执行器是用于进行业务处理的程序模块,例如进行交易的执行器,也可以是用于进行黑名单检测或者异常交易检测的执行器。需要对业务执行器进行业务测试,以确定该业务执行器的业务处理逻辑是否正常。
具体地,业务执行器可以根据业务输入数据以及业务处理逻辑进行数据处理,得到业务处理文件,业务处理文件中包括数据处理得到的数据,例如可以是交易之后的账户金额、交易账户是否是黑名单账户的检测结果或者交易记录是否异常的检测结果。业务处理文件并不是表格格式的文件,具体的文件格式根据不同的业务执行器的设置而不同,例如可以是json格式或者xml格式。
步骤S206,获取业务处理文件对应的关联文件结构,根据关联文件结构对应的解析策略对业务处理文件进行数据解析,将解析得到的业务处理数据写入业务数据表格中,得到目标业务数据表格。
文件结构是指文件中数据的存储形式,例如在json格式的文件中,数据可以是以键值对的格式存储的,且可以是按照预设的字段顺序进行存储。在xml格式的文件中,数据可以是按照预设的排列顺序进行排列的。其中xml指可扩展标记语言,可扩展标记语言是一种用于标记电子文件使其具有结构性的标记语言。业务处理文件对应的关联文件结构可以是业务处理文件自身的文件结构,也可以是业务处理文件对应的父类结构,例如,按照继承关系,一些子类的文件结构与父类部分相同,则业务处理文件对应的关联文件结构可以是其对应的父类结构。
服务器中可以预先设置每个文件结构对应的解析策略,该解析策略用于对该文件结构对应的数据进行解析,例如解析策略中包括该文件结构中每种字段对应的数据的位置,因此当得到业务处理文件对应的关联文件结构,则可以根据该关联结构对应的解析策略对业务数据文件中的数据进行数据解析,从中提取得到所需要的数据。服务器还可以获取目标文件结构对应的字段特征,根据字段特征解析业务处理文件中对应字段对应的业务处理数据。解析得到数据之后,服务器可以按照数据写入规则将数据写入到预先设置的业务数据表格中,从而得到目标业务数据表格。
举个例子,对于交易数据,当得到交易之后的金额,则可以获取该笔交易对应的交易标识,将交易标识填写到预先设置的业务数据表格中的预设位置,并将交易金额也对应写入业务数据表格中该交易标识对应的单元格。又例如,对于xml格式的文件,可以按照顺序读取文件,然后根据结构截取对应的字段对应的数据,然后将该数据写入到业务数据表格中。
步骤S208,根据原始业务数据表格以及目标业务数据表格进行数据核对,得到数据核对结果,数据核对结果用于确定业务执行器的业务测试结果。
在进行核对时,从原始业务数据表格中提取到业务输入数据对应的正确的业务处理数据,即原始业务处理数据,将原始业务处理数据与目标业务数据表格中的目标业务处理数据进行对比。数据核对结果可以是一致或者不一致,当一致时,则表示业务执行器对应的业务执行逻辑测试通过,若不一致,则表示业务执行器对应的业务执行逻辑测试不通过,即业务执行逻辑存在问题,需要进一步确认业务执行得到的数据不准确的原因。
在一些实施例中,根据原始业务数据表格以及目标业务数据表格进行数据核对,得到数据核对结果包括:获取目标业务数据表格中的目标业务处理数据对应的数据标识;从原始业务数据表格中获取数据标识对应的原始业务处理数据,将目标业务处理数据与原始业务处理数据进行一致性核对,得到一致性核对结果。
业务处理数据对应的数据标识例如可以是交易标识或者账户标识,在表格中可以称为主键,它的值用于唯一的标识表格中的某一条记录,例如一条交易记录。目标业务数据表格中的主键与原始业务数据表格中的主键是相同的,业务执行器处理得到数据之后,可以获取业务输入数据对应的主键,将该主键也写入到业务处理文件中。在进行数据解析时,将主键写入到目标业务数据表格中,从而使得同一条业务输入数据,其在原始业务数据表格中以及目标业务数据表格中对应的主键是一致的。故在进行数据核对时,可获取目标业务数据表格中的目标业务处理数据对应的数据标识,从原始业务数据表格中获取数据标识对应的原始业务处理数据,将目标业务处理数据与原始业务处理数据进行一致性核对,得到一致性核对结果,该一致性核对结果可以表示同一个业务输入数据的预期业务处理数据与业务执行器执行得到的实际的业务处理数据是否一致。
上述业务测试方法中,由于可以基于原始业务数据表格得到业务输入数据,再基于业务输入数据得到业务处理文件,而该业务处理文件可以根据对应的关联文件结构进行解析,得到目标业务数据表格,基于该目标业务数据表格以及原始业务数据表格进行数据的核对,从而能够基于数据核对的结果确定业务执行器的业务处理逻辑是否正确,得到准确的业务测试结果,而且能够自动的进行业务测试,因此提高了业务测试的效率。
在一些实施例中,获取业务处理文件对应的关联文件结构包括:获取业务处理文件的文件名称,判断文件名称与目标文件结构对应的命名规则是否匹配;当匹配时,将目标文件结构作为关联文件结构。
其中,命名规则为对文件的名称进行命名的规则,目标文件结构对应的命名规则是预设的。例如,对于“xml”格式对应的目标文件结构,预先设置了命名规则是“NfxxxxTableInfo”,表示前两位字母是“Nf”,第3位到第6位的“xxxx”表示字符可以灵活设置,之后的字符串为“TableInfo”。假设业务处理文件的文件名称为“NfabcdTableInfo”,则表示该业务处理文件的文件名称与目标文件目标文件结构对应的命名规则匹配,可以将“NfxxxxTableInfo”对应的文件结构作为关联文件结构。假设业务处理文件的文件名称为“abcdTableInfo”,则业务处理文件的文件名称与目标文件结构对应的命名规则不匹配。可以理解,由于文件结构表示的是文件内部数据的存储结构,例如数据的排列方式或者数据的排列位置,具体根据实际情况设置,因此对于同一格式的两个文件,对应的目标文件结构可以不同。
本申请实施例中,可以预先设置每个目标文件结构对应的文件的命名规则,因此可以根据命名规则以及业务处理文件的文件名称确定业务处理文件所对应的关联文件结构,从而提高了确定业务处理文件的关联文件结构的效率。
在一些实施例中,如图3所示,获取业务处理文件对应的关联文件结构,根据关联文件结构对应的解析策略对业务处理文件进行数据解析包括:
步骤S302,当文件名称与与目标文件结构对应的命名规则不匹配时,将业务处理文件对应的父类文件结构作为关联文件结构。
步骤S304,获取业务处理文件对应的文件结构与父类文件结构之间的结构继承关系。
步骤S306,根据结构继承关系以及父类文件结构对应的解析策略对业务处理文件进行数据解析。
业务处理文件对应的文件结构为子类文件结构,子类文件结构对应的父类文件结构为关联文件结构。结构继承关系可以是预先存储的,用于表示子类文件结构的哪些部分是继承自父类文件结构,例如表示继承自父类文件结构的文件位置。例如,当业务处理文件对应文件名称不是“NfxxxxTableInfo”,但存在父类的文件结构。此时,可以先通过Nfxxxx文件找到对应读写文件的程序文件,例如是01NaseWriteNfxxxx.java,然后再通过程序文件找到对应的父类02NaseWriteNfyyyy.java,找到Nfyyyy的文件结构NfyyyyTableInfo.xml。假设按照继承关系,子类的文件结构前半部分与父类相同,因此可以按照顺序读取要处理的业务处理文件,然后根据父类结构进行解析,则可以得到文件的前半部分,对于后半部分,则可以根据其他解析策略进行解析。
本实施例中,在文件名称与目标文件结构对应的命名规则不匹配时,即找不到业务处理文件本身的文件结构时,则可以根据其对应的父类文件结构进行数据解析,因此提高了数据解析的效率。
在一些实施例中,根据结构继承关系以及父类文件结构对应的解析策略对业务处理文件进行数据解析包括:根据结构继承关系确定业务处理文件中继承父类文件结构的第一子文件内容,业务处理文件中第一子文件内容之外的文件内容作为第二子文件内容;根据父类文件结构对应的解析策略对第一子文件内容进行数据解析,根据预设的字段匹配规则对第二子文件内容进行数据解析。
第一子文件内容中的结构是继承父类的,因此可以采用父类文件结构对应的解析策略对第一子文件内容进行数据解析。第二子文件内容中的结构并非继承父类,因此,可以预先设置字段匹配规则,该字段匹配规则中确定了每个字段对应的匹配规则,如果一个数据其对应的数据形式与该字段匹配规则匹配,则说明该数据为该字段对应的数据,因此可以将该字段对应的数据写入到目标业务数据表格中该字段对应的单元格中。
例如,对于其他系统传输过来的文件,可以通过建立字段要素库,定义清楚各字段符合的条件,逐一分析此字符串属于哪种类型,然后进行自动识别。对于不同类型的数据,可以根据其数据形式设置对应的字段匹配规则,例如字段匹配规则可以如表一所示。
表一:字段匹配规则
以业务处理文件为向监管机构报送的交易明细文件,对交易明细文件进行数据解析为例,涉及报送的账号与交易金额等关键字段,假设交易明细文件包括以下两个字符串:
1、0200062009206000342abcabc123321+12345678901234567aabbccceeffg
2、0200062009206000191ccdbac231111-1234567890123456789FFEGEDBAD
则可以获取预先建立的字段匹配规则进行数据解析,例如根据账号对应的字段匹配规则,可以对连续19位的数字进行扫描,发现数据“020006200920600034”、“0200062009206000191”以及“1234567890123456789”为10位,符合账号对应的第一个匹配规则,因此进一步用前17位数字通过2121算法计算校验位是否一致。通过校验算法,得到02000620092060003对应的校验数字为42,因此校验位一致,02000620092060001对应的校验数字为91,因此校验位一致,12345678901234567对应的校验数字为20,因此校验位不一致。故“0200062009206000342”以及“0200062009206000191”为账号。用金额对应的字段匹配规则对金额字段进行扫描,得到第1个字符串中的“12345678901234567”以及第2个字符串中的“12345678901234567”均为金额。因此可以从业务处理文件中得到账号“0200062009206000342”对应的金额为“12345678901234567”,账号“0200062009206000191”对应的金额为“12345678901234567”。其中2121算法也可以称为Luhn算法。
本申请实施例中,对于文件名称与目标文件结构对应的命名规则不匹配以及没有继承父类文件结构的文件内容,可以根据预设的字段匹配规则对第二子文件内容进行数据解析,因此可以使得数据解析得到的数据更加完整以及准确。
在一些实施例中,业务输入数据包括多个数据,将业务输入数据输入到业务执行器中进行处理,处理得到业务处理文件包括:确定业务输入数据中的关联数据对;将业务输入数据输入到业务执行器中进行处理,在处理的过程中,当检测到关联数据对的前向处理数据处理完毕时,触发执行中断指令,以使得业务处理过程中断;在中断时长达到时长阈值时,触发继续执行指令,以继续执行针对业务输入数据的业务处理过程,处理得到业务处理文件。
业务输入数据中包括有多个数据,关联数据对中包括存在关联关系的两个数据,例如业务执行器执行前一个数据所得到的结果,将用于后一个数据的计算中,则前一个数据与后一个数据组成关联的数据对。关联数据对的前向处理数据是指关联数据对中,在业务执行器中先处理的数据,业务执行器基于业务输入数据进行业务处理时,如果检测到关联数据对的前向处理数据处理完毕,则可以触发执行中断指令,使得业务处理器暂停进行业务处理,在终端时长达到预设的时长阈值时,例如达到5分钟时,则可以通过触发继续执行指令,以使得业务执行器继续执行针对业务输入数据的业务处理过程,处理得到业务处理文件。此时,如果业务执行器业务执行逻辑准确,则继续执行时,将基于前向处理数据的处理结构,对关联数据对的后向处理数据进行处理。
本申请实施例中,对于两个关联的数据,使得这两个关联的数据对应的业务处理流程一个在中断前执行,一个在在中断后执行,从而可以检测业务执行器是否还能够继续关联处理,即可以检测业务执行器的关联逻辑,提高了检测的准确性。
本申请实施例提供的业务测试方法,可以应用于分布式系统的批量文件的测试中,例如可以对分散于各节点的分布式批量文件进行测试,所获取得到的目标业务表格也可以发送至测试终端进行显示,由人工进行核对,从而实现可视化的测试。
近年来,随着银行信息化进程的不断推进,单一的集中式系统作为银行核心系统已经不能满足日益增长的业务要求,银行的系统架构逐步转型为能支持交易高并发且能快速扩容的分布式系统架构。比如银行账户明细每天产生1000万笔记录,需要对这些明细进行分析筛选,选取其中需要进行反洗钱的数据报送给各监管机构。例如,如图4所示,set1~setn表示n份拆分后的数据,文件1~文件N表示经过业务执行器处理得到的N个业务处理文件。例如,采用分布式系统以后,测算1000万笔数据放到12个数据库中比较合适,则n等于12,每个数据库约83万条记录,那么将在水平分库方面建立12个数据库,同时建立相应的服务器。接收数据之后,先从文件中通过路由将文件分别导入到12个数据库中,然后每个服务器的业务执行器例如应用程序即执行筛选逻辑,筛选逻辑符合要求的数据生成文件,存放于各文件服务器中,最后将文件合并,报送给监管机构,因此可以对应用程序中的筛选逻辑进行测试,从而保证应用程序中的筛选逻辑的准确度。
如图5所示,为分布式批量文件对应的处理原理图。核心系统产生交易,生成交易明细文件,可以将交易明细文件分成n份:set1~setn,将这n份数据导入数据库,当需要进行业务测试时,可以基于数据库中的数据生成原始业务数据表格,并通过人工标注表格中每份交易记录是否应该被筛选。对于原始业务数据表格中的交易记录,通过用于反洗钱筛选的业务执行器筛选需要上报的交易记录,得到每个set对应的业务处理文件,可以对每个set对应的业务处理文件进行合并,将合并的业务处理文件上报到监管系统。为了保证反洗钱筛选逻辑的准确性,可以对反洗钱筛选逻辑进行业务测试,当反洗钱筛选逻辑业务测试通过之后,再上线反洗钱筛选器。
在一些实施例中,针对分布式文件进行自动化测试步骤可以包括:
1、通过调用文件的解析模块,获得文件的可视化文件模板(表格形式)。
2、将需要测试的文件填写到表格中,并且配置好各文件IP、端口、目录、和主键,从而生成原始业务数据表格,该原始业务数据表格为表格形式的可视化文件。
3、开始执行脚本,获取原始业务数据表格中的业务输入数据,基于业务输入数据生成业务执行器处理的文件,例如文本格式的文件,
4、调用系统分布在各服务器中的批量执行器,程序开始获取文件,然后执行文件处理,最后将文件生成放在各服务器中。当作业顺利执行,系统自动获取文件进行核对。此外,如图6所示,由于作业执行过程中可能存在文件服务器断开等情况,因此需要对异常数据进行自动识别和设置条件进行验证,例如当作业发生中断等异常,则系统会自动重提3次,并且核对最终文件。此外,参考图5,当作业执行时,可以手工发起中断,验证作业批量中断时各断点是否记录正确,然后取消中断,验证后续流程是否正确。从理论上讲,完整执行的批量和手工发起中断,然后恢复的两种情况,最终生成的文件应该一样的。
5、从各个服务器中获取文件然后并合并,将合并得到的文件作为业务处理文件,获取业务处理文件对应的关联文件结构,根据关联文件结构对应的解析策略对业务处理文件进行数据解析,将解析得到的业务处理数据写入业务数据表格中,得到目标业务数据表格,然后根据设置的主键获取原始业务数据表格中的数据进行核对。核对方法是:根据设置的主键查找原始业务数据表格中的记录,如果找不到,则此条记录核对不通过;如果找到了,则根据原始业务数据表格设置的核对字段,逐条进行核对。如果核对通过,则此条交易记录测试完成,如果核对不通过,则通过设置的颜色对该交易记录进行标注,
随着银行业务的发展,分布式批量处理是常态。本申请实施例提供的银行分布式批量自动化测试方法,通过文件解析算法,将繁杂的文件进行了可视化,降低了准备数据和核对数据的复杂性,同时对文件统一管理和自动化调度,从而实现高效进行回顾测试与持续集成。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的业务测试方法的业务测试装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个业务测试装置实施例中的具体限定可以参见上文中对于业务测试方法的限定,在此不再赘述。
在一些实施例中,如图7所示,提供了一种业务测试装置,包括:
业务输入数据获取模块702,用于获取原始业务数据表格,从原始业务数据表格中获取业务输入数据;
处理模块704,用于将业务输入数据输入到业务执行器中进行处理,处理得到业务处理文件;
目标业务数据表格得到模块706,用于获取业务处理文件对应的关联文件结构,根据关联文件结构对应的解析策略对业务处理文件进行数据解析,将解析得到的业务处理数据写入业务数据表格中,得到目标业务数据表格;
数据核对模块708,用于根据原始业务数据表格以及目标业务数据表格进行数据核对,得到数据核对结果,数据核对结果用于确定业务执行器的业务测试结果。
在一些实施例中,目标业务数据表格得到模块用于:获取业务处理文件的文件名称,判断文件名称与目标文件结构对应的命名规则是否匹配;当匹配时,将目标文件结构作为关联文件结构。
在一些实施例中,目标业务数据表格得到模块用于:当文件名称与与目标文件结构对应的命名规则不匹配时,将业务处理文件对应的父类文件结构作为关联文件结构;获取业务处理文件对应的文件结构与父类文件结构之间的结构继承关系;根据结构继承关系以及父类文件结构对应的解析策略对业务处理文件进行数据解析。
在一些实施例中,根据结构继承关系以及父类文件结构对应的解析策略对业务处理文件进行数据解析包括:根据结构继承关系确定业务处理文件中继承父类文件结构的第一子文件内容,业务处理文件中第一子文件内容之外的文件内容作为第二子文件内容;根据父类文件结构对应的解析策略对第一子文件内容进行数据解析,根据预设的字段匹配规则对第二子文件内容进行数据解析。
在一些实施例中,数据核对模块用于:获取目标业务数据表格中的目标业务处理数据对应的数据标识;从原始业务数据表格中获取数据标识对应的原始业务处理数据,将目标业务处理数据与原始业务处理数据进行一致性核对,得到一致性核对结果。
在一些实施例中,处理模块用于:确定业务输入数据中的关联数据对;将业务输入数据输入到业务执行器中进行处理,在处理的过程中,当检测到关联数据对的前向处理数据处理完毕时,触发执行中断指令,以使得业务处理过程中断;在中断时长达到时长阈值时,触发继续执行指令,以使得业务执行器继续执行针对业务输入数据的业务处理过程,处理得到业务处理文件。
上述业务测试装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一些实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储原始业务数据表格。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种业务测试方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一些实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述业务测试方法的步骤。
在一些实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现业务测试方法的步骤。
在一些实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现业务测试方法的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种业务测试方法,其特征在于,所述方法包括:
获取原始业务数据表格,从所述原始业务数据表格中获取业务输入数据;
将所述业务输入数据输入到业务执行器中进行处理,处理得到业务处理文件;
获取所述业务处理文件对应的关联文件结构,根据所述关联文件结构对应的解析策略对所述业务处理文件进行数据解析,将解析得到的业务处理数据写入业务数据表格中,得到目标业务数据表格;
根据所述原始业务数据表格以及所述目标业务数据表格进行数据核对,得到数据核对结果,所述数据核对结果用于确定所述业务执行器的业务测试结果。
2.根据权利要求1所述的方法,其特征在于,所述获取所述业务处理文件对应的关联文件结构包括:
获取所述业务处理文件的文件名称,判断所述文件名称与目标文件结构对应的命名规则是否匹配;
当匹配时,将所述目标文件结构作为关联文件结构。
3.根据权利要求2所述的方法,其特征在于,所述获取所述业务处理文件对应的关联文件结构,根据所述关联文件结构对应的解析策略对所述业务处理文件进行数据解析包括:
当所述文件名称与与目标文件结构对应的命名规则不匹配时,将所述业务处理文件对应的父类文件结构作为关联文件结构;
获取所述业务处理文件对应的文件结构与所述父类文件结构之间的结构继承关系;
根据所述结构继承关系以及所述父类文件结构对应的解析策略对所述业务处理文件进行数据解析。
4.根据权利要求3所述的方法,其特征在于,所述根据所述结构继承关系以及所述父类文件结构对应的解析策略对所述业务处理文件进行数据解析包括:
根据所述结构继承关系确定所述业务处理文件中继承所述父类文件结构的第一子文件内容,所述业务处理文件中第一子文件内容之外的文件内容作为第二子文件内容;
根据所述父类文件结构对应的解析策略对所述第一子文件内容进行数据解析,根据预设的字段匹配规则对所述第二子文件内容进行数据解析。
5.根据权利要求1所述的方法,其特征在于,所述根据所述原始业务数据表格以及所述目标业务数据表格进行数据核对,得到数据核对结果包括:
获取所述目标业务数据表格中的目标业务处理数据对应的数据标识;
从所述原始业务数据表格中获取所述数据标识对应的原始业务处理数据,将所述目标业务处理数据与所述原始业务处理数据进行一致性核对,得到一致性核对结果。
6.根据权利要求1所述的方法,其特征在于,所述业务输入数据包括多个数据,所述将所述业务输入数据输入到业务执行器中进行处理,处理得到业务处理文件包括:
确定所述业务输入数据中的关联数据对;
将所述业务输入数据输入到业务执行器中进行处理,在处理的过程中,当检测到所述关联数据对的前向处理数据处理完毕时,触发执行中断指令,以使得业务处理过程中断;
在中断时长达到时长阈值时,触发继续执行指令,以使得业务执行器继续执行针对所述业务输入数据的业务处理过程,处理得到业务处理文件。
7.一种业务测试装置,其特征在于,所述装置包括:
业务输入数据获取模块,用于获取原始业务数据表格,从所述原始业务数据表格中获取业务输入数据;
处理模块,用于将所述业务输入数据输入到业务执行器中进行处理,处理得到业务处理文件;
目标业务数据表格得到模块,用于获取所述业务处理文件对应的关联文件结构,根据所述关联文件结构对应的解析策略对所述业务处理文件进行数据解析,将解析得到的业务处理数据写入业务数据表格中,得到目标业务数据表格;
数据核对模块,用于根据所述原始业务数据表格以及所述目标业务数据表格进行数据核对,得到数据核对结果,所述数据核对结果用于确定所述业务执行器的业务测试结果。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210137724.5A CN114490415A (zh) | 2022-02-15 | 2022-02-15 | 业务测试方法、计算机设备、存储介质和计算机程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210137724.5A CN114490415A (zh) | 2022-02-15 | 2022-02-15 | 业务测试方法、计算机设备、存储介质和计算机程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114490415A true CN114490415A (zh) | 2022-05-13 |
Family
ID=81480331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210137724.5A Pending CN114490415A (zh) | 2022-02-15 | 2022-02-15 | 业务测试方法、计算机设备、存储介质和计算机程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114490415A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116483872A (zh) * | 2023-06-20 | 2023-07-25 | 合肥青谷信息科技有限公司 | 一种复杂数据处理方法、装置及电子设备 |
-
2022
- 2022-02-15 CN CN202210137724.5A patent/CN114490415A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116483872A (zh) * | 2023-06-20 | 2023-07-25 | 合肥青谷信息科技有限公司 | 一种复杂数据处理方法、装置及电子设备 |
CN116483872B (zh) * | 2023-06-20 | 2023-09-12 | 合肥青谷信息科技有限公司 | 一种复杂数据处理方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10657530B2 (en) | Automated transactions clearing system and method | |
CN111159482A (zh) | 数据校验方法及系统 | |
CN114490415A (zh) | 业务测试方法、计算机设备、存储介质和计算机程序产品 | |
CN111367776A (zh) | 资源转移业务的记录方法、装置、设备及存储介质 | |
CN111277465A (zh) | 一种异常数据报文检测方法、装置及电子设备 | |
CN112214495B (zh) | 数据执行跟踪方法、装置和设备 | |
CN115827478A (zh) | 代码检视方法、装置、计算机设备和存储介质 | |
CN118193508A (zh) | 数据检核方法、装置、计算机设备和存储介质 | |
CN114579462A (zh) | 测试用例执行信息的确定方法、装置和计算机设备 | |
CN116541344A (zh) | 文件处理的控制方法、装置、设备、存储介质和程序产品 | |
CN115629958A (zh) | 一种针对不同业务接口的通用字段级自动校验方法和装置 | |
CN116881164A (zh) | 金融信息系统中测试数据的校验修正方法、装置和设备 | |
CN118277255A (zh) | 数据校验方法、装置、计算机设备、存储介质和计算机程序产品 | |
CN117370160A (zh) | 代码审核方法、装置、计算机设备、存储介质和程序产品 | |
CN115422897A (zh) | 资源转移报文的处理方法、装置、计算机设备、存储介质 | |
CN116301733A (zh) | 业务交易逻辑编排方法、装置、计算机设备和存储介质 | |
CN118227610A (zh) | 数据处理的校验方法、装置、计算机设备和存储介质 | |
CN114416805A (zh) | 数据核对方法、装置、计算机设备和存储介质 | |
CN115268717A (zh) | 点巡检管理系统中新增测量点方法、装置和计算机设备 | |
CN114493821A (zh) | 数据核销方法、装置、计算机设备和存储介质 | |
CN118229395A (zh) | 监测指标异动分析方法、装置、计算机设备和存储介质 | |
CN114581109A (zh) | 数据的一致性检测方法、装置、计算机设备和存储介质 | |
CN115758179A (zh) | 聚合交易平台的评估方法、装置、计算机设备和存储介质 | |
CN117314603A (zh) | 基于区块链系统的资源获取方法、装置、设备和存储介质 | |
CN116975072A (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 |