CN112749541A - 数据校验系统、方法、装置、电子设备和计算机可读介质 - Google Patents

数据校验系统、方法、装置、电子设备和计算机可读介质 Download PDF

Info

Publication number
CN112749541A
CN112749541A CN202110051167.0A CN202110051167A CN112749541A CN 112749541 A CN112749541 A CN 112749541A CN 202110051167 A CN202110051167 A CN 202110051167A CN 112749541 A CN112749541 A CN 112749541A
Authority
CN
China
Prior art keywords
data
data set
target
time
cache
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
Application number
CN202110051167.0A
Other languages
English (en)
Inventor
邱竹竹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
JD Digital Technology Holdings Co Ltd
Original Assignee
JD Digital Technology Holdings Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by JD Digital Technology Holdings Co Ltd filed Critical JD Digital Technology Holdings Co Ltd
Priority to CN202110051167.0A priority Critical patent/CN112749541A/zh
Publication of CN112749541A publication Critical patent/CN112749541A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/194Calculation of difference between files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0633Lists, e.g. purchase orders, compilation or processing
    • G06Q30/0635Processing of requisition or of purchase orders

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computational Linguistics (AREA)
  • Finance (AREA)
  • Data Mining & Analysis (AREA)
  • Accounting & Taxation (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Development Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了一种数据校验系统、方法、装置、电子设备和计算机可读介质,属于数据校验技术领域。平台包括:缓存器,用于存储第一时刻的第一数据集合和第二时刻的第二数据集合,其中,第一数据集合中数据记录和第二数据集合中数据记录所包括的字段相同,第一时刻与第二时刻不相同;缓存查询设备,用于通过测试用例从缓存器获取第一数据集合和第二数据集合;数据对比设备,用于通过测试用例对第一数据集合和第二数据集合进行对比,确定第一数据集合和第二数据集合中的目标数据。本申请无需采用人工方式进行数据对比,提高了数据校验效率。

Description

数据校验系统、方法、装置、电子设备和计算机可读介质
技术领域
本申请涉及数据校验技术领域,尤其涉及一种数据校验系统、方法、装置、电子设备和计算机可读介质。
背景技术
在金融信贷业务的自动化测试执行过程中,针对同一订单数据,数据处于不同的阶段时,数据会发生变化,则需要找出变动点进行校验。例如,用户在线上购买物品后,会产生一笔订单数据,若一段时长后用户需要退款,则该订单数据会发生变化,则需要找出该订单数据中的变动点。
目前采用的数据校验方式为,采用人工方式,分别针对订单数据中的每个字段进行编码,以进行数据的对比,查找出数据上的变动点。采用人工方式校验,影响自动化测试的快速执行,降低了数据校验效率。
发明内容
本申请实施例的目的在于提供一种数据校验系统、方法、装置、电子设备和计算机可读介质,以解决工作效率低的问题。具体技术方案如下:
第一方面,提供了一种数据校验系统,所述系统包括:
缓存器,用于存储第一时刻的第一数据集合和第二时刻的第二数据集合,其中,所述第一数据集合中数据记录和所述第二数据集合中数据记录所包括的字段相同,所述第一时刻与所述第二时刻不相同;
缓存查询设备,用于通过测试用例从所述缓存器获取所述第一数据集合和所述第二数据集合;
数据对比设备,用于通过所述测试用例对所述第一数据集合和所述第二数据集合进行对比,确定所述第一数据集合和所述第二数据集合中的目标数据,其中,所述目标数据为所述第一数据集合和所述第二数据集合进行对比后的数据。
第二方面,提供了一种数据校验方法,所述方法包括:
通过测试用例获取第一时刻的第一数据集合和第二时刻的第二数据集合,其中,所述第一数据集合中数据记录和所述第二数据集合中数据记录所包括的字段相同,所述第一时刻与所述第二时刻不相同;
通过所述测试用例对所述第一数据集合和所述第二数据集合进行对比;
确定所述第一数据集合和所述第二数据集合中的目标数据,其中,所述目标数据为所述第一数据集合和所述第二数据集合进行对比后的数据。
可选地,所述确定所述第一数据集合和所述第二数据集合中的目标数据包括:
针对所述数据记录的目标字段,确定所述第一数据集合和所述第二数据集合的交集,并将所述交集之外的数据作为所述目标数据;
在所述交集中,确定所述第一数据集合中的第一数据记录和所述第二数据集合中的第二数据记录,其中,所述第一数据记录中所述目标字段对应的数据和所述第二数据记录中所述目标字段对应的数据相同;
在相同字段下,若第一数据记录的第一数据和第二数据记录的第二数据不相同,则将所述第一数据和所述第二数据作为所述目标数据。
可选地,在通过测试用例获取第一时刻的第一数据集合和第二时刻的第二数据集合之前,所述方法还包括:确定目标库表的接口标识,其中,所述目标库表中存储有所述第一数据集合和所述第二数据集合;
在测试用例执行过程中,调用目标持久化框架封装的查询接口,在数据库中查询携带有所述接口标识的目标库表,其中,所述数据库中包含多个库表;
将所述目标库表中的所述第一数据集合和所述第二数据集合存入缓存器中。
可选地,在确定所述第一数据集合和所述第二数据集合中的目标数据之后,所述方法还包括:
输出所述第一数据集合和所述第二数据集合至终端,以使所述终端根据所述目标数据携带的标注信息标注所述目标数据,其中,所述目标数据为所述第一数据集合和所述第二数据集合进行对比后不相同的数据。
可选地,所述第一数据集合中的目标数据携带有第一标注信息,所述第二数据集合中的目标数据携带有第二标注信息,所述输出所述第一数据集合和所述第二数据集合至终端,以使所述终端根据标注信息标注所述目标数据包括:
输出所述第一数据集合和所述第二数据集合至终端,以使所述终端根据所述第一标注信息,采用第一方式对所述第一数据集合中的目标数据进行标注,并根据所述第二标注信息,采用第二方式对所述第二数据集合中的目标数据进行标注。
可选地,所述将所述目标库表中的所述第一数据集合和所述第二数据集合存入缓存器中之后,所述方法还包括:分别生成所述第一数据集合的第一缓存标识和所述第二数据集合的第二缓存标识,其中,所述第一缓存标识携带有所述第一数据集合在所述缓存器中的缓存位置,所述第二缓存标识携带有所述第二数据集合在所述缓存器中的缓存位置;将所述第一缓存标识和所述第二缓存标识发送至终端;
所述通过测试用例获取第一时刻的第一数据集合和第二时刻的第二数据集合包括:获取所述终端输入的所述第一缓存标识和所述第二缓存标识;根据所述第一缓存标识携带的缓存位置,从所述缓存器中查找所述第一数据集合,并根据所述第二缓存标识携带的缓存位置,从所述缓存器中查找所述第二数据集合。
第三方面,提供了一种数据校验装置,所述装置包括:
获取模块,用于通过测试用例获取第一时刻的第一数据集合和第二时刻的第二数据集合,其中,所述第一数据集合中数据记录和所述第二数据集合中数据记录所包括的字段相同,所述第一时刻与所述第二时刻不相同;
对比模块,用于通过所述测试用例对所述第一数据集合和所述第二数据集合进行对比;
确定模块,用于确定所述第一数据集合和所述第二数据集合中的目标数据,其中,所述目标数据为所述第一数据集合和所述第二数据集合进行对比后的数据。
第四方面,提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现任一所述的方法步骤。
第五方面,提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现任一所述的方法步骤。
本申请实施例有益效果:
本申请实施例提供了一种数据校验系统,平台包括:缓存器,用于存储第一时刻的第一数据集合和第二时刻的第二数据集合,其中,第一数据集合中数据记录和第二数据集合中数据记录所包括的字段相同,第一时刻与第二时刻不相同;缓存查询设备,用于通过测试用例从缓存器获取第一数据集合和第二数据集合;数据对比设备,用于通过测试用例对第一数据集合和第二数据集合进行对比,确定第一数据集合和第二数据集合中的目标数据,其中,目标数据为第一数据集合和第二数据集合进行对比后的数据。本申请通过测试用例自动对第一数据集合和第二数据集合进行对比,确定对比后的目标数据,无需采用人工方式进行数据对比,提高了数据校验效率。
当然,实施本申请的任一产品或方法并不一定需要同时达到以上的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种可选的数据校验方法硬件环境示意图;
图2为本申请实施例提供的一种数据校验系统示意图;
图3为本申请实施例提供的一种数据校验的方法流程图;
图4为本申请实施例提供的确定目标数据的方法流程图;
图5为本申请实施例提供的账务退款时的数据展示示意图
图6为本申请实施例提供的一种数据校验装置的结构示意图;
图7为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本申请的说明,其本身并没有特定的意义。因此,“模块”与“部件”可以混合地使用。
为了解决背景技术中提及的问题,根据本申请实施例的一方面,提供了一种数据校验方法的实施例。
可选地,在本申请实施例中,上述数据校验方法可以应用于如图1所示的由终端101和服务器103所构成的硬件环境中。如图1所示,服务器103通过网络与终端101进行连接,可用于为终端或终端上安装的客户端提供服务,可在服务器上或独立于服务器设置数据库105,用于为服务器103提供数据存储服务,上述网络包括但不限于:广域网、城域网或局域网,终端101包括但不限于PC、手机、平板电脑等。
本申请实施例中的一种数据校验方法可以由服务器103来执行,还可以是由服务器103和终端101共同执行。
本申请实施例提供了一种数据校验系统,如图2所示,系统包括:数据库、缓存器、缓存查询设备和数据对比设备,Testng用例执行过程中会产生多条数据记录,每条数据记录包括多个字段,在不同时刻下,针对数据记录中的同一字段,其对应的数据会发生相应改变。数据库将第一时刻的第一数据集合和第二时刻的第二数据集合备份到缓存器中,其中,第一数据集合中数据记录和第二数据集合中数据记录所包括的字段相同,缓存器存储该第一数据集合和第二数据集合,缓存查询设备通过测试用例从缓存器获取第一数据集合和第二数据集合,然后数据对比设备,用于通过测试用例对第一数据集合和第二数据集合进行对比,确定第一数据集合和第二数据集合中的目标数据,其中,目标数据为第一数据集合和第二数据集合进行对比后的数据。其中,数据库可以为myaql DB,缓存器可以为Redis,可以通过Mybatis从myaql DB中查询数据并将数据保存至缓存器,Redis缓存:是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
本申请实施例提供了一种数据校验方法,可以应用于服务器,用于对第一数据集合和第二数据集合进行校验。
下面将结合具体实施方式,对本申请实施例提供的一种数据校验方法进行详细的说明,如图3所示,具体步骤如下:
步骤301:通过测试用例获取第一时刻的第一数据集合和第二时刻的第二数据集合。
其中,第一数据集合中数据记录和第二数据集合中数据记录所包括的字段相同,第一时刻与第二时刻不相同。
TestNG是Java中的一个测试框架,测试人员一般用TestNG来写自动化测试用例,软件工程中的测试用例是一组条件或变量,测试者根据它来确定应用软件或软件系统是否正确工作。测试用例一般包括用例编码,用例名称/标题,测试背景,前置条件,优先级,测试数据,测试步骤等。
Testng用例执行过程中,服务器在第一时刻将数据库中的第一数据集合存储到缓存器中,在第二时刻将数据库中的第二数据集合存储至缓存器中,这样缓存器中存储有第一数据集合和第二数据集合。第一数据集合和第二数据集合均包括多条数据记录,每条数据记录均包含多个字段,不同的数据记录具有相同的字段,服务器通过测试用例从缓存器中获取第一时刻的第一数据集合和第二时刻的第二数据集合。
步骤302:通过测试用例对第一数据集合和第二数据集合进行对比。
服务器通过测试用例,对第一数据集合和第二数据集合进行对比,以查找出第一数据集合和第二数据集合中的目标数据。
步骤303:确定第一数据集合和第二数据集合中的目标数据。
其中,目标数据为第一数据集合和第二数据集合进行对比后的数据。
服务器将第一数据集合和第二数据集合进行对比后得到目标数据,目标数据既可以为第一数据集合和第二数据集合中相同的数据,也可以为第二数据集合相对于第一数据集合的变动数据,本申请实施例中,目标数据为变动数据。
在本申请中,采用测试用例自动将第一数据集合和第二数据集合进行对比,无需人工针对数据记录中的每个字段都进行硬编码,节约人力,提高对比效率。
作为一种可选的实施方式,如图4所示,目标数据包括第一目标数据和第二目标数据,确定第一数据集合和第二数据集合中的目标数据包括:
步骤401:针对数据记录的目标字段,确定第一数据集合和第二数据集合的交集,并将交集之外的数据作为第一目标数据。
在本申请实施例中,差异化分析服务接口中包含了对比方案,服务器可以采用差异化分析服务接口,从数据记录的多个字段中选取出目标字段,然后针对该目标字段,取第一数据集合和第二数据集合中该目标字段下的数据记录的交集,得到的交集中包括第一数据集合的至少一条数据记录和第二数据集合的至少一条数据记录。在该交集中,针对目标字段下第一数据集合中的任一条数据记录的数据,都可以在第二数据集合中找到该目标字段下的相同的数据。
针对目标字段下第一数据集合中的数据,若无法在第二数据集合中找到相同的数据,以及针对目标字段下第二数据集合中的数据,若无法在第一数据集合中找到相同的数据,则将该数据作为交集外的第一目标数据,即发生变动的数据。
步骤402:在交集中,确定第一数据集合中的第一数据记录和第二数据集合中的第二数据记录。
其中,第一数据记录中目标字段对应的数据和第二数据记录中目标字段对应的数据相同。
在该交集中,目标字段可以对应多个数据组,每个数据组包括两个相同的数据,两个相同的数据分别来自第一数据集合中的第一数据记录和第二数据集合中的第二数据记录。
步骤403:在相同字段下,若第一数据记录的第一数据和第二数据记录的第二数据不相同,则将第一数据和第二数据作为第二目标数据。
第一数据记录和第二数据记录中均包含多个字段,每个字段对应数据记录中的一个数据,在目标字段下,第一数据记录中的数据与第二数据记录中的数据是相同的,在其他相同字段下,若第一数据记录的第一数据和第二数据记录的第二数据不相同,表示第一数据和第二数据发生了变动,则将发生变动的第一数据和第二数据作为第二目标数据。
第一数据和第二数据不同,第一数据的数据发生时刻早于第二数据的数据发生时刻,可以只将第一数据作为第二目标数据。
在本申请中,通过差异化分析服务接口确定目标数据,无需人工编写代码,提高了数据校验效率。
作为一种可选的实施方式,在确定第一数据集合和第二数据集合中的目标数据之后,方法还包括:输出所述第一数据集合和所述第二数据集合至终端,以使所述终端根据所述目标数据携带的标注信息标注所述目标数据,其中,所述目标数据为所述第一数据集合和所述第二数据集合进行对比后不相同的数据。
服务器确定所述第一数据集合和所述第二数据集合进行对比后不相同的目标数据后,可以将目标数据发送至终端,以使终端直接查看发生变动的数据。还可以发送第一数据集合和第二数据集合至终端,第一数据集合和第二数据集合中的目标数据携带有标注信息,终端可以根据标注信息对目标数据进行标注,这样用户可以查看全部数据,还可以根据标注信息,直观明了的确定发生变动的目标数据。其中,终端可以采用WEB页面进行数据展示。示例性地,标注信息可以为标注颜色、标注符号、标注字体等可以进行标注识别的信息。
目标终端上可以采用表格的方式显示数据,对于目标字段下的同一个数据组对应的两个数据记录,可以对这个两条数据记录进行合并,具体为进行内容折叠,这样便于用户将第一数据集合和第二数据集合中的非目标数据进行折叠,减少可视的数据量,使目标数据更加清楚直观。
第一数据集合中的目标数据携带有第一标注信息,第二数据集合中的目标数据携带有第二标注信息,输出第一数据集合和第二数据集合至终端,以使终端根据标注信息标注目标数据包括:输出第一数据集合和第二数据集合至终端,以使终端根据第一标注信息,采用第一方式对第一数据集合中的目标数据进行标注,并根据第二标注信息,采用第二方式对第二数据集合中的目标数据进行标注。
第一数据集合中的目标数据携带有第一标注信息,第二数据集合中的目标数据携带有第二标注信息,第一标注信息与第二标注信息不同。服务器输出第一数据集合和第二数据集合至终端后,终端根据第一标注信息,采用第一方式对第一数据集合中的目标数据进行标注,并根据第二标注信息,采用第二方式对第二数据集合中的目标数据进行标注。
示例性地,第一标注信息为携带有第一数据集合标识的信息,第二标注信息为携带有第二数据集合标识的信息,终端根据第一标注信息,将第一数据集合中的目标数据标记为红色,终端根据第二标注信息,将第二数据集合中的目标数据标记为蓝色。
在本申请中,将对第一数据集合中的目标数据和第二数据集合中的目标数据进行差异点分析,采用不同的方式进行标注,可以使用户清楚直观的确定目标数据所属的数据集合,并针对该数据集合进行查验。
图5为账务退款时的数据展示示意图。该数据包含第一数据集合和第二数据集合,其中,带有序号标记的数据记录属于第一数据集合,不带有序号标记的数据记录属于第二数据记录。退款ID为目标字段,图中可以看出,第一行数据记录和第二行数据记录的退款ID不相同,则第一行数据记录和第二行数据记录均被标记,作为第一目标数据。
在倒数第二行或倒数第四行数据记录中,该数据记录属于第一数据集合,该数据记录中其他字段的数据与第二数据集合中对应字段的数据不一致,则对第一数据集合中的数据记录进行标记,将第一数据记录中的数据作为第二目标数据。
作为一种可选的实施方式,所述将所述目标库表中的所述第一数据集合和所述第二数据集合存入缓存器中之后,所述方法还包括:分别生成所述第一数据集合的第一缓存标识和所述第二数据集合的第二缓存标识,其中,所述第一缓存标识携带有所述第一数据集合在所述缓存器中的缓存位置,所述第二缓存标识携带有所述第二数据集合在所述缓存器中的缓存位置;将所述第一缓存标识和所述第二缓存标识发送至终端;所述通过测试用例获取第一时刻的第一数据集合和第二时刻的第二数据集合包括:获取所述终端输入的所述第一缓存标识和所述第二缓存标识;根据所述第一缓存标识携带的缓存位置,从所述缓存器中查找所述第一数据集合,并根据所述第二缓存标识携带的缓存位置,从所述缓存器中查找所述第二数据集合。
服务器将第一数据集合和第二数据集合存入缓存器中之后,可以分别生成第一数据集合的第一缓存标识和第二数据集合的第二缓存标识,其中,第一缓存标识携带有第一数据集合的缓存位置,还可以携带有第一数据集合的生成时刻和生成场景等信息,第二缓存标识携带有第二数据集合的缓存位置,还可以携带有第二数据集合的生成时刻和生成场景等信息。服务器将第一缓存标识和第二缓存标识发送至终端,当用户需要校验第一数据集合和第二数据集合时,用户通过终端发送第一缓存标识和第二缓存标识至服务器,服务器根据第一缓存标识携带的缓存位置,从缓存器中查找第一数据集合,并根据第二缓存标识携带的缓存位置,从缓存器中查找第二数据集合。
作为一种可选地实施方式,在通过测试用例获取第一时刻的第一数据集合和第二时刻的第二数据集合之前,方法还包括:确定目标库表的接口标识,其中,所述目标库表中存储有所述第一数据集合和所述第二数据集合;在测试用例执行过程中,调用目标持久化框架封装的查询接口,在数据库中查询携带有所述接口标识的目标库表,其中,所述数据库中包含多个库表;将所述目标库表中的所述第一数据集合和所述第二数据集合存入缓存器中。
数据库中存有多个库表,每个库表对应一个数据集合。第一数据集合和第二数据集合存在于目标库表中,其中,目标库表可以为两个库表。服务器在测试用例执行过程中,首先确定存储有第一数据集合和第二数据集合的目标库表的接口标识,调用目标持久化框架封装的查询接口,在数据库中查询携带有所述接口标识的目标库表,然后对目标库表的接口进行封装,将目标库表中的第一数据集合和第二数据集合存入缓存器中,具体是通过缓存器的缓存读写接口将数据集合存入缓存器中。
其中,目标持久化框架客源为Mybatis,Mybatis支持自定义SQL(StructuredQuery Language,结构化查询语言)、存储过程以及高级映射。可以通过简单的XML(Extensible Markup Language,可扩展标记语言)或注解来配置和映射原始类型、接口和Java POJO(Plain Old Java Objects,普通老式Java对象)为数据库中的记录。
现有技术将数据集合导入缓存器时,需要暂停用例执行,然后进行数据表格的备份和导出。在本申请中,在testng执行自动化用例的过程中,采用Mybatis封装的数据库查询接口,查询目标库表中的第一数据集合和第二数据集合,并备份至存储器中,无需暂停自动化用例的执行,可以顺序执行自动化用例,缩短用例执行的时长,提高校验效率。
基于相同的技术构思,本申请实施例还提供了一种数据校验装置,如图6所示,该装置包括:
获取模块601,用于通过测试用例获取第一时刻的第一数据集合和第二时刻的第二数据集合,其中,第一数据集合中数据记录和第二数据集合中数据记录所包括的字段相同,第一时刻与第二时刻不相同;
对比模块602,用于通过测试用例对第一数据集合和第二数据集合进行对比;
第一确定模块603,用于确定第一数据集合和第二数据集合中的目标数据,其中,目标数据为第一数据集合和第二数据集合进行对比后的数据。
可选地,确定模块603包括:
第一确定单元,用于针对数据记录的目标字段,确定第一数据集合和第二数据集合的交集,并将交集之外的数据作为第一目标数据;
第二确定单元,用于在交集中,确定第一数据集合中的第一数据记录和第二数据集合中的第二数据记录,其中,第一数据记录中目标字段对应的数据和第二数据记录中目标字段对应的数据相同;
作为单元,用于在相同字段下,若第一数据记录的第一数据和第二数据记录的第二数据不相同,则将第一数据和第二数据作为第二目标数据。
可选地,该装置还包括:
第二确定模块,用于确定目标库表的接口标识,其中,所述目标库表中存储有所述第一数据集合和所述第二数据集合;
调用模块,用于在测试用例执行过程中,调用目标持久化框架封装的查询接口,在数据库中查询携带有所述接口标识的目标库表,其中,所述数据库中包含多个库表;
存入模块,用于将目标库表中的第一数据集合和第二数据集合存入缓存器中;
可选地,该装置包括:
输出模块,用于输出所述第一数据集合和所述第二数据集合至终端,以使所述终端根据所述目标数据携带的标注信息标注所述目标数据,其中,所述目标数据为所述第一数据集合和所述第二数据集合进行对比后不相同的数据。
可选地,第一数据集合中的目标数据携带有第一标注信息,第二数据集合中的目标数据携带有第二标注信息,输出模块包括:
输出单元,用于输出第一数据集合和第二数据集合至终端,以使终端根据第一标注信息,采用第一方式对第一数据集合中的目标数据进行标注,并根据第二标注信息,采用第二方式对第二数据集合中的目标数据进行标注。
可选地,装置还包括:
生成模块,用于分别生成所述第一数据集合的第一缓存标识和所述第二数据集合的第二缓存标识,其中,所述第一缓存标识携带有所述第一数据集合在所述缓存器中的缓存位置,所述第二缓存标识携带有所述第二数据集合在所述缓存器中的缓存位置;
发送模块,用于将第一标识和第二标识发送至终端;
获取模块601包括:
第二获取单元,用于获取所述终端输入的所述第一缓存标识和所述第二缓存标识;
查找单元,用于根据所述第一缓存标识携带的缓存位置,从所述缓存器中查找所述第一数据集合,并根据所述第二缓存标识携带的缓存位置,从所述缓存器中查找所述第二数据集合。
根据本申请实施例的另一方面,本申请提供了一种电子设备,如图7所示,包括存储器703、处理器701、通信接口702及通信总线704,存储器703中存储有可在处理器701上运行的计算机程序,存储器703、处理器701通过通信接口702和通信总线704进行通信,处理器701执行计算机程序时实现上述方法的步骤。
上述电子设备中的存储器、处理器通过通信总线和通信接口进行通信。所述通信总线可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
根据本申请实施例的又一方面还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质。
可选地,在本申请实施例中,计算机可读介质被设置为存储用于所述处理器执行以下步骤的程序代码:
通过测试用例获取第一时刻的第一数据集合和第二时刻的第二数据集合,其中,所述第一数据集合中数据记录和所述第二数据集合中数据记录所包括的字段相同,所述第一时刻与所述第二时刻不相同;
通过所述测试用例对所述第一数据集合和所述第二数据集合进行对比;
确定所述第一数据集合和所述第二数据集合中的目标数据,其中,所述目标数据为所述第一数据集合和所述第二数据集合进行对比后的数据。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本申请实施例在具体实现时,可以参阅上述各个实施例,具有相应的技术效果。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ApplicationSpecific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable LogicDevice,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文所述功能的单元来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种数据校验系统,其特征在于,所述系统包括:
缓存器,用于存储第一时刻的第一数据集合和第二时刻的第二数据集合,其中,所述第一数据集合中数据记录和所述第二数据集合中数据记录所包括的字段相同,所述第一时刻与所述第二时刻不相同;
缓存查询设备,用于通过测试用例从所述缓存器获取所述第一数据集合和所述第二数据集合;
数据对比设备,用于通过所述测试用例对所述第一数据集合和所述第二数据集合进行对比,确定所述第一数据集合和所述第二数据集合中的目标数据,其中,所述目标数据为所述第一数据集合和所述第二数据集合进行对比后的数据。
2.一种数据校验方法,其特征在于,所述方法包括:
通过测试用例获取第一时刻的第一数据集合和第二时刻的第二数据集合,其中,所述第一数据集合中数据记录和所述第二数据集合中数据记录所包括的字段相同,所述第一时刻与所述第二时刻不相同;
通过所述测试用例对所述第一数据集合和所述第二数据集合进行对比;
确定所述第一数据集合和所述第二数据集合中的目标数据,其中,所述目标数据为所述第一数据集合和所述第二数据集合进行对比后的数据。
3.根据权利要求2所述的方法,其特征在于,所述目标数据包括第一目标数据和第二目标数据,所述确定所述第一数据集合和所述第二数据集合中的目标数据包括:
针对所述数据记录的目标字段,确定所述第一数据集合和所述第二数据集合的交集,并将所述交集之外的数据作为所述第一目标数据;
在所述交集中,确定所述第一数据集合中的第一数据记录和所述第二数据集合中的第二数据记录,其中,所述第一数据记录中所述目标字段对应的数据和所述第二数据记录中所述目标字段对应的数据相同;
在相同字段下,若第一数据记录的第一数据和第二数据记录的第二数据不相同,则将所述第一数据和所述第二数据作为所述第二目标数据。
4.根据权利要求2所述的方法,其特征在于,在通过测试用例获取第一时刻的第一数据集合和第二时刻的第二数据集合之前,所述方法还包括:
确定目标库表的接口标识,其中,所述目标库表中存储有所述第一数据集合和所述第二数据集合;
在测试用例执行过程中,调用目标持久化框架封装的查询接口,在数据库中查询携带有所述接口标识的目标库表,其中,所述数据库中包含多个库表;
将所述目标库表中的所述第一数据集合和所述第二数据集合存入缓存器中。
5.根据权利要求2所述的方法,其特征在于,在确定所述第一数据集合和所述第二数据集合中的目标数据之后,所述方法还包括:
输出所述第一数据集合和所述第二数据集合至终端,以使所述终端根据所述目标数据携带的标注信息标注所述目标数据,其中,所述目标数据为所述第一数据集合和所述第二数据集合进行对比后不相同的数据。
6.根据权利要求5所述的方法,其特征在于,所述第一数据集合中的目标数据携带有第一标注信息,所述第二数据集合中的目标数据携带有第二标注信息,所述输出所述第一数据集合和所述第二数据集合至终端,以使所述终端根据所述目标数据携带的标注信息标注所述目标数据包括:
输出所述第一数据集合和所述第二数据集合至终端,以使所述终端根据所述第一标注信息,采用第一方式对所述第一数据集合中的目标数据进行标注,并根据所述第二标注信息,采用第二方式对所述第二数据集合中的目标数据进行标注。
7.根据权利要求4所述的方法,其特征在于,
所述将所述目标库表中的所述第一数据集合和所述第二数据集合存入缓存器中之后,所述方法还包括:分别生成所述第一数据集合的第一缓存标识和所述第二数据集合的第二缓存标识,其中,所述第一缓存标识携带有所述第一数据集合在所述缓存器中的缓存位置,所述第二缓存标识携带有所述第二数据集合在所述缓存器中的缓存位置;将所述第一缓存标识和所述第二缓存标识发送至终端;
所述通过测试用例获取第一时刻的第一数据集合和第二时刻的第二数据集合包括:获取所述终端输入的所述第一缓存标识和所述第二缓存标识;根据所述第一缓存标识携带的缓存位置,从所述缓存器中查找所述第一数据集合,并根据所述第二缓存标识携带的缓存位置,从所述缓存器中查找所述第二数据集合。
8.一种数据校验装置,其特征在于,所述装置包括:
获取模块,用于通过测试用例获取第一时刻的第一数据集合和第二时刻的第二数据集合,其中,所述第一数据集合中数据记录和所述第二数据集合中数据记录所包括的字段相同,所述第一时刻与所述第二时刻不相同;
对比模块,用于通过所述测试用例对所述第一数据集合和所述第二数据集合进行对比;
确定模块,用于确定所述第一数据集合和所述第二数据集合中的目标数据,其中,所述目标数据为所述第一数据集合和所述第二数据集合进行对比后的数据。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求2-7任一所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求2-7任一所述的方法步骤。
CN202110051167.0A 2021-01-14 2021-01-14 数据校验系统、方法、装置、电子设备和计算机可读介质 Pending CN112749541A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110051167.0A CN112749541A (zh) 2021-01-14 2021-01-14 数据校验系统、方法、装置、电子设备和计算机可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110051167.0A CN112749541A (zh) 2021-01-14 2021-01-14 数据校验系统、方法、装置、电子设备和计算机可读介质

Publications (1)

Publication Number Publication Date
CN112749541A true CN112749541A (zh) 2021-05-04

Family

ID=75652060

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110051167.0A Pending CN112749541A (zh) 2021-01-14 2021-01-14 数据校验系统、方法、装置、电子设备和计算机可读介质

Country Status (1)

Country Link
CN (1) CN112749541A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016004813A1 (zh) * 2014-07-07 2016-01-14 阿里巴巴集团控股有限公司 数据存储方法、查询方法及设备
CN107193821A (zh) * 2016-03-14 2017-09-22 阿里巴巴集团控股有限公司 监控方法和系统
CN107357857A (zh) * 2017-06-29 2017-11-17 深圳市金立通信设备有限公司 一种更新缓存信息的方法及服务节点设备
CN111046073A (zh) * 2019-12-11 2020-04-21 广州品唯软件有限公司 测试用例的查询方法、装置和可读存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016004813A1 (zh) * 2014-07-07 2016-01-14 阿里巴巴集团控股有限公司 数据存储方法、查询方法及设备
CN107193821A (zh) * 2016-03-14 2017-09-22 阿里巴巴集团控股有限公司 监控方法和系统
CN107357857A (zh) * 2017-06-29 2017-11-17 深圳市金立通信设备有限公司 一种更新缓存信息的方法及服务节点设备
CN111046073A (zh) * 2019-12-11 2020-04-21 广州品唯软件有限公司 测试用例的查询方法、装置和可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张卉;高仲合;黄铭;任志迁;: "UML测试用例自动生成方法研究", 电子技术, no. 04, pages 52 - 54 *

Similar Documents

Publication Publication Date Title
US8151247B2 (en) Test data management
CN107665171B (zh) 自动回归测试方法及装置
US11119988B2 (en) Performing logical validation on loaded data in a database
US8768880B2 (en) Automated data analysis and transformation
US9886369B2 (en) Dynamic data fabrication for database applications
US20130041900A1 (en) Script Reuse and Duplicate Detection
CN107169000B (zh) 静态资源发布方法及装置
CN102760096A (zh) 测试用数据的生成方法、单元测试方法以及单元测试系统
CN107609151A (zh) 基于Redis实现XBRL实例文档缓存的方法
CN109918385A (zh) 三方对账方法、电子装置及可读存储介质
CN106095820A (zh) 一种自动获取地址的方法及系统
CN112486841A (zh) 埋点采集数据校验的方法及装置
CN109947797A (zh) 一种数据检查装置及方法
CN112749541A (zh) 数据校验系统、方法、装置、电子设备和计算机可读介质
CN110544467A (zh) 语音数据的审核方法、装置、设备及存储介质
CN112001792B (zh) 配置信息一致性检测方法及装置
CN113191122B (zh) 面向服务的建设项目电子文件与电子档案四性检测方法
CN112817931B (zh) 一种增量版本文件的生成方法及装置
CN115033592A (zh) 基于数据库的sql语句处理方法、装置、设备及存储介质
CN112667513A (zh) 测试方法、装置、测试设备及存储介质
CN110244934B (zh) 产品需求文档、测试信息的生成方法及装置
CN111767222A (zh) 数据模型的验证方法、装置、电子设备、存储介质
CN112130838A (zh) 交易数据处理方法及装置
CN115129355B (zh) 页面修复方法及其系统、计算机设备
CN113111120B (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant after: Jingdong Technology Holding Co.,Ltd.

Address before: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant before: Jingdong Digital Technology Holding Co., Ltd