CN111949550B - 自动生成测试数据的方法、装置、设备及存储介质 - Google Patents

自动生成测试数据的方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN111949550B
CN111949550B CN202010899525.9A CN202010899525A CN111949550B CN 111949550 B CN111949550 B CN 111949550B CN 202010899525 A CN202010899525 A CN 202010899525A CN 111949550 B CN111949550 B CN 111949550B
Authority
CN
China
Prior art keywords
name
processed
test
field
newly added
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.)
Active
Application number
CN202010899525.9A
Other languages
English (en)
Other versions
CN111949550A (zh
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.)
Shenzhen Saiante Technology Service Co Ltd
Original Assignee
Shenzhen Saiante Technology Service 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 Shenzhen Saiante Technology Service Co Ltd filed Critical Shenzhen Saiante Technology Service Co Ltd
Priority to CN202010899525.9A priority Critical patent/CN111949550B/zh
Publication of CN111949550A publication Critical patent/CN111949550A/zh
Application granted granted Critical
Publication of CN111949550B publication Critical patent/CN111949550B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及测试技术领域,具体公开了一种自动生成测试数据的方法、装置、计算机设备及计算机可读存储介质,该方法包括:确定待处理测试表,根据所述待处理测试表的名称信息确定所述待处理测试表的名称标识;获取所述待处理测试表新增字段信息;根据预置数据库类型、所述名称标识和所述新增字段信息,生成对应的建表语句,其中所述预置数据库类型存储于区块链中;根据所述建表语句,生成对应的测试数据,实现了根据预置数据库类型、名称标识和字段信息生成数据库的建表语句,保证了不同模型中同一字段的字段信息的一致性,生成更加规范的测试数据。

Description

自动生成测试数据的方法、装置、设备及存储介质
技术领域
本申请涉及测试技术领域,尤其涉及一种自动生成测试数据的方法、装置、计算机设备及计算机可读存储介质。
背景技术
新建一个信息系统ERP(Enterprise Resource Planning企业资源)、CRM(Customer Relationship Management客户关系管理)、数据仓库等,需要建设大量的后端数据库表,并需要人工造大量的数据用于测试。传统的处理方式是先建立各种数据模型,定义每个模型的字段信息等。但数据模型可能有相同的字段,需要人工保证字段信息一致性。当模型定义好后,还需要针对不同类型的数据库生成不同的建表语句,再人工造数据测试。现有的建模工具能根据字段信息生成特定数据库的建表语句,但不能保证不同模型中同一字段的字段信息一致性。
发明内容
本申请的主要目的在于提供一种自动生成测试数据的方法、装置、计算机设备及计算机可读存储介质,旨在现有的建模工具能根据字段信息生成特定数据库的建表语句,但不能保证不同模型中同一字段的字段信息一致性的技术问题。
第一方面,本申请提供一种自动生成测试数据的方法,所述自动生成测试数据的方法包括以下步骤:
确定待处理测试表,根据所述待处理测试表的名称信息确定所述待处理测试表的名称标识;
获取所述待处理测试表的新增字段信息;
根据预置数据库类型、所述名称标识和所述新增字段信息,生成对应的建表语句;
根据所述建表语句,生成对应的测试数据。
第二方面,本申请还提供一种自动生成测试数据装置,所述自动生成测试数据装置包括:
确定模块,用于确定待处理测试表,根据所述待处理测试表的名称信息确定所述待处理测试表的名称标识;
获取模块,用于获取所述待处理测试表的新增字段信息;
第一生成模块,根据预置数据库类型、所述名称标识和所述新增字段信息,生成对应的建表语句;
第二生成模块,根据所述建表语句,生成对应的测试数据。
第三方面,本申请还提供一种计算机设备,所述计算机设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的计算机程序,其中所述计算机程序被所述处理器执行时,实现如上述的自动生成测试数据的方法的步骤。
第四方面,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其中所述计算机程序被处理器执行时,实现如上述的自动生成测试数据的方法的步骤。
本申请提供一种自动生成测试数据的方法、装置、计算机设备及计算机可读存储介质,通过确定待处理测试表,新增确定所述待处理测试表的名称标识;获取所述待处理测试表的新增字段信息;根据预置数据库类型、所述名称标识和所述新增字段信息,生成对应的建表语句;根据所述建表语句,生成对应的测试数据,实现了根据预置数据库类型、名称标识和字段信息生成数据库的建表语句,保证了不同模型中同一字段的字段信息的一致性,生成更加规范的测试数据。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种自动生成测试数据的方法的流程示意图;
图2为图1中的自动生成测试数据的方法的子步骤流程示意图;
图3为图1中的自动生成测试数据的方法的子步骤流程示意图;
图4为本申请实施例提供的另一种自动生成测试数据的方法的流程示意图;
图5为本申请实施例提供的一种自动生成测试数据装置的示意性框图;
图6为本申请一实施例涉及的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本申请实施例提供一种自动生成测试数据的方法、装置、计算机设备及计算机可读存储介质。其中,该自动生成测试数据的方法可应用于终端设备中,该终端设备可以是笔记本电脑、台式电脑等电子设备。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参照图1,图1为本申请的实施例提供的一种自动生成测试数据的方法的流程示意图。
如图1所示,该自动生成测试数据的方法包括步骤S101至步骤S104。
步骤S101、确定待处理测试表,根据所述待处理测试表的名称信息确定所述待处理测试表的名称标识。
示范例为,检测数据表,获取待数据表的名称。若该数据表的名称为预置语言名称时,确定该数据表为待处理测试表。例如,实时检测用户上传的测试表,若用户上传的测试表语言名称为中文名称时,用户需要将该中文名称转换为英文名称,以此与其它测试表的名称保持一致,此时将用户上传的测试表表确定为待处理测试表。以及确定该待处理测试表的名称标识,例如,通过预置百度百科或有道词典将该中文名称转为为英文名称,并将得到的英文名称作为该待处理测试表的名称标识。
在一实施例中,具体地,参照图2,步骤S101包括:子步骤S1011至子步骤S1014。
子步骤S1011、获取所述待处理测试表的名称信息。
获取待处理测试表的名称信息,该名称信息包括中文名称、日文名称或韩文名称等。
子步骤S1012、基于第一预置表,获取所述名称信息对应的主题域和表名后缀。
示范性的,当获取到待处理表的名称信息时,通过该名称信息和第一预置表,获取第一预置表中该名称信息对应的主题域和表名后缀。例如,获取第一预置表,该第一预置表如下所示:
主题域编号 主题域 主题域标识 表名称后缀 后缀标识
zty001 订单 OD 明细表 D
zty002 订单 OD 汇总表 S
zty003 仓库 STO 明细表 D
zty004 仓库 STO 汇总表 S
zty005 物流 LG 明细表 D
zty006 物流 LG 汇总表 S
当获取到名称信息时,对名称信息进行解析。例如,对该名称信息进行解析,获取到该名称信息为中文名称时,确定该中文名称在第一预置表中对应的主题域。当获取到待处理测试表的中文名称为订单行明细表时,通过预置关键字对该订单行明细表进行解析,得到该订单行明细表对应的主题域为订单。基于第一预置表,获取到该主题域对应的主题域编号、主题域、主题域英文、表名称后缀、后缀英文名。基于该主题域,获取对应的主题域标识;基于该表名称后缀,获取对应的后缀标识。
子步骤S1013、将所述名称信息中的名称转为统一语言名称。
在获取到该名称信息中的名称时,将该名称信息汇总的名称转换为统一语言名称。该名称信息中的名称包括中文名称等。例如,当获取到名称信息中的名称为中文名称时,通过预置百度百科或预置有道词典对该中文名称进行翻译,得到对应的统一语言名称,即英文名称。例如,当待处理测试表的中文名称为订单行明细表,通过预置百度百科或预置有道词典对该中文名称进行翻译,得到对应的英文名称为order line。
子步骤S1014、根据所述主题域、表名后缀和统一语言名称,确定所述待处理测试表的名称标识。
基于该名称信息得到对应的主题域,以及该名称信息得到对应的表名后缀。根据该得主题域、表名后缀和统一语言名称,确定待处理测试表的名称标识。将主题域、表名后缀、统一语言名称进行组合,得到待处理测试表的名称标识。例如,获取该主题域对应的主题域标识、表名后缀的后缀标识,将得到主题域标识、后缀标识和统一语言名称进行组合,确定待处理测试表的名称标识。若该名称信息为订单行明细表时,对应的统一语言名称为order line、主题域对应的主题域标识为OD、表名后缀对应的后缀标识为D进行组合,确定OD_order_line_D作为待处理测试表的名称标识。当名称信息包括订单生产计划表、入仓明细表、出库明细表、国内物流明细表、海外物流明细表、海外物流汇总表等,得到如下待处理测试表的名称标识:
在一实施例中,根据所述主题域、表名后缀和英文名称,得到所述待处理测试表的英文名称包括:获取预置生成策略,确定所述预置生成策略中所述主题域的位置、所述表名后缀的位置和所述统一语言名称的位置;基于所述主题域的位置插入所述主题域对应的主题域标识、所述表名后缀的位置插入所述表名后缀对应的后缀标识、所述统一语言名称的位置插入所述统一语言名称,确定所述待处理表的名称标识。
示范性的,获取预置生成规则,该预置生成策略中分别包括主题域、表名后缀和统一语言名称的位置。例如,主题域在第一位置、统一语言名称在第二位置、表名后缀在第三位置。在获取到主题域在第一位置、英文名称在第二位置、表名后缀在第三位置,将获取到的主题域的主题域标识、表名后缀的后缀标识和统一语言名称分别插入到对应的位置处。例如,将OD插入到第一位置处、将order line插入到第二位置处、将D第三位置处,生成对应的OD_order_line_D。
步骤S102、获取所述待处理测试表的新增字段信息。
示范性的,确定待处理测试表中新增的字段,获取该新增字段的字段信息。例如,检测到待处理测试表中新增的字段为中文字段时,确定该中文字段为新增字段。先判断中文字段在其他表是否存在,如果存在则自动带出英文名称、数据类型、数据长度、字符组成、数值范围;如果不存在,则程序自动调用百度或者有道在线翻译,将新增字段翻译成英文名称,并截取到指定长度,再对字段中文名称进行分词,根据维护的数据类型、字符组成、数值范围,给出字段的数据类型和长度,字符组成、取值范围等,单个新增字段处理完毕。
在一实施例中,具体地,参照图3,步骤S102包括:子步骤S1021至子步骤S1023。
子步骤S1021、检测所述待处理测试表中新增字段,并将所述新增字段转换为目标字段。
实时检测待处理测试表中的字段,当检测到待处理表中的字段时,确定该字段是否为新增字段。例如,将检测到待处理表中的字段与其它测试表中的字段进行对比,若该待处理测试表中的中文字段与其它测试表中的字段不一致,则确定该待处理表中的字段为新增的字段。若确定该字段为新增字段时,将该字段转换为目标字段。例如,当确定新增字段为中文字段时,将该中文字段转换为英文字段,将该英文字段作为目标字段,其中转换的方式包括百度百科或有道在线进行转换。
子步骤S1022、基于第二预置表,获取所述新增字段的数据类型;
子步骤S1023基于第三预置表,获取所述新增字段的数据长度。
在检测到待处理测试表中的新增字段时,确定该新增字段中是否出现在其它待处理测试表中。若确定出现在其它待处理测试表中,则直接获取其它待处理测试表中该新增字段的字段信息。若确定没出现在其它待处理测试表中,则基于第二预置表和第三预置表,获取新增字段的数据类型和数据长度。例如第二预置表如下:
特定名词 数据类型
日期 Date
时间 Time
金额 decimal
费用 decimal
decimal
人数 int
int
重量 number
number
number
number
number
编码 varchar2
名称 varchar2
描述 varchar2
其他 varchar2
第三预置表如下:
步骤S103、根据预置数据库类型、所述名称标识和所述字段信息,生成对应的建表语句。
根据预置数据库类型、名称标识和字段信息,生成对应的建表语句。其中,预置数据库类型包括:Oracle、MySQL、HiveSQL等,建表语句包括SQL语句。例如,预置数据库类型为Oracle时、名称标识为OD_order_line_D、字段信息中数据类型为varchar2、数据长度为20,生成的建表语句为create table OD_order_line_D(Order_Code varchar2(20)。通过名称标识,确定该名称标识对应的预置数据库类型,该数据库类型包括:Oracle、MySQL、HiveSQL。例如,名称标识为OD_order_line_D,确定预置数据库类型为Oracle、MySQL、HiveSQL时,基于字段信息和数据库类型,生成建表语句如下所示:
步骤S104、根据所述建表语句,生成对应的测试数据。
在获取到生成的建表语句时,对建表语句中的名称标识进行分词,根据关键词编码、名称、描述、数、金额、日期查询第三预置表中找到对应字段的字符组成和取值范围,生成对应的测试数据。
在本发明实施例中,确定待处理测试表,以及待处理测试表的名称标识;获取待处理表新增字段信息,根据该预置数据库类型、名称标识和所述信息,生成对应的建表语句,从而生成对应的测试数据,不仅使得不同模型的字段的字段信息一致,还提升了生成建表语句的效率,导致生成的测试数据更加的规范。
请参照图4,图4为本申请实施例提供的另一种自动生成测试数据的方法的流程示意图。
如图4所示,该自动生成测试数据的方法包括步骤S201至步骤S210。
步骤S201、确定待处理测试表,根据所述待处理测试表的名称信息确定所述待处理测试表的名称标识。
示范例为,检测数据表,获取待数据表的名称。若该数据表的名称为预置语言名称时,确定该数据表为待处理测试表。例如,实时检测用户上传的测试表,若用户上传的测试表语言名称为中文名称时,用户需要将该中文名称转换为英文名称,以此与其它测试表的名称保持一致,此时将用户上传的测试表表确定为待处理测试表。以及确定该待处理测试表的名称标识,例如,通过预置百度百科或有道词典将该中文名称转为为英文名称,并将得到的英文名称作为该待处理测试表的名称标识。
步骤S202、获取所述待处理测试表的名称标识的字段长度,确定所述待处理测试表的名称标识的字段长度是否大于预置阈值。
当获取到该名称标识的字段长度时,确定所述字段长度是否大于预置阈值。例如,当该名称标识为英文名称时,获取该英文名称的字段长度。确定该英文名称的字段长度是否大于阈值阈值。若所述字段长度大于预置阈值,对该英文字段的字段长度进行截取。例如,当获取到订单编码的英文名称为Order Code时,获取该Order Code的字段长度为10。若该订单编码的预置阈值的字段长度为20时,Order Code的字段长度小于预置字段长度,对此不做处理。若获取到是否已经安排生产的英文名称为Is it scheduled for delivery时,获取到Is it scheduled for delivery的字段长度为28时,此时确定Is it scheduledfor delivery的字段长度大于预置字段长度,因此需要对Is it scheduled for delivery的字段长度进行截取。
步骤S203、若所述待处理测试表的名称标识的字段长度大于所述预置阈值,则对所述待处理测试表的名称标识进行截取,以生成截取后的所述待处理测试表的名称标识。
若确定该处理测试表的名称标识的字段长度大于所述预置阈值,则对待处理测试表的名称标识进行截取。例如,若获取到是否已经安排生产的英文名称为Is it scheduledfor delivery时,获取到Is it scheduled for delivery的字段长度为28时,此时确定Isit scheduled for delivery的字段长度大于预置字段长度,因此需要对Is it scheduledfor delivery的字段长度进行截取。如,将Is it scheduled for delivery的字段长度截取为Is_it_scheduled_for,将Is_it_scheduled_for作为待处理表的名称标识。
步骤S204、检测所述待处理测试表中新增字段,并将所述新增字段转换为目标字段。
实时检测待处理测试表中的字段,当检测到待处理表中的字段时,确定该字段是否为新增字段。例如,将检测到待处理表中的字段与其它测试表中的字段进行对比,若该待处理测试表中的中文字段与其它测试表中的字段不一致,则确定该待处理表中的字段为新增的字段。若确定该字段为新增字段时,将该字段转换为目标字段。例如,当确定新增字段为中文字段时,将该中文字段转换为英文字段,将该英文字段作为目标字段,其中转换的方式包括百度百科或有道在线进行转换。
步骤S205、基于第二预置表,获取所述新增字段的数据类型;
步骤S206、基于第三预置表,获取所述新增字段的数据长度。
在检测到待处理测试表中的新增字段时,确定该新增字段中是否出现在其它待处理测试表中。若确定出现在其它待处理测试表中,则直接获取其它待处理测试表中该新增字段的字段信息。若确定没出现在其它待处理测试表中,则基于第二预置表和第三预置表,获取新增字段的数据类型和数据长度。例如第二预置表如下:
特定名词 数据类型
日期 Date
时间 Time
金额 decimal
费用 decimal
decimal
人数 int
int
重量 number
number
number
number
number
编码 varchar2
名称 varchar2
描述 varchar2
其他 varchar2
第三预置表如下:
步骤S207、根据预置数据库类型、所述名称标识和所述字段信息,生成对应的建表语句。
根据预置数据库类型、名称标识和字段信息,生成对应的建表语句。其中,预置数据库类型包括:Oracle、MySQL、HiveSQL等,建表语句包括SQL语句。例如,预置数据库类型为Oracle时、名称标识为OD_order_line_D、字段信息中数据类型为varchar2、数据长度为20,生成的建表语句为create table OD_order_line_D(Order_Code varchar2(20)。通过名称标识,确定该名称标识对应的预置数据库类型,该数据库类型包括:Oracle、MySQL、HiveSQL。例如,名称标识为OD_order_line_D,确定预置数据库类型为Oracle、MySQL、HiveSQL时,基于字段信息和数据库类型,生成建表语句如下所示:
步骤S208、根据所述建表语句,生成对应的测试数据。
在获取到生成的建表语句时,对建表语句中的文字段名称进行分词,根据关键词编码、名称、描述、数、金额、日期查询第三预置表中找到对应字段的字符组成和取值范围,生成对应的测试数据。
步骤S209、获取第三预置表中所述新增字段的预置字符组成和/或预置取值范围。
获取第三预置表,其中第三预置表如下:
特定属性 数据长度 字符组成 取值范围
身份证 18 英文字符、数字
日期 20 YYYY-MM-DD (1900-1-1-2099-12-31)
时间 20 hh24:mi:ss (0:00:00-23:59:59)
金额 99,16 数字 (-999999999.9999,999999999.9999)
10 数字 (11.00-999999999.0000)
99,16 数字 (-999999999.9999-999999999.9999)
身高 5 数字 (10cm-300cm)
体重 5 数字 (0.1kg-500kg)
编码 20 英文字符、数字
名称 200 英文字符、汉字、数字
描述 2000 英文字符、汉字、数字
是否 5 英文字符 (N、Y)
其他 100 英文字符、汉字、数字
通过第三预置表格,获取所述第三预置表中所述新增字段的预置字符组成和预置取值范围。例如,当获取到新增字段为日期时,获取第三预置表格中日期对应的字符组成为YYYY-MM-DD。
步骤S210、若所述新增字段的字符组成与所述预置字符组成不匹配和/或所述新增字段的取值范围与所述预置取值范围不匹配,则发送错误提示信息。
通过解析该新增字段,获取该新增字段的字符组成和/或取值范围。基于该第三预置表,获取该新增字段在第三预置表中对应的预置字符组成和/或预置取值范围,将该新增字段的字符组成与预置字符组成进行比对,和/或将该新增的中文字段的取值范围与预置取值范围进行对比。若该新增字段的字符组成与预置字符组成,和/或该新增字段的取值范围与预置取值范围不一致,则发送错误提示信息。例如,若检测到日期不是YYYY-MM-DD,发送错误提示信息。或者,获取日期在第三预置表格中的预置取值范围,若取值范围为(1900-1-1,2099-12-31),若新增字段的日期小于1900-1-1或大于2099-12-31,发送错误提示信息。
在本发明实施例中,确定待处理测试表,以及待处理测试表的名称标识;获取待处理表新增字段信息,根据该预置数据库类型、名称标识和所述信息,生成对应的建表语句,从而生成对应的测试数据,不仅使得不同模型的字段的字段信息一致,还检测新增字段的取值范围和/或字符组成,避免出现不合规范的测试数据。
请参照图5,图5为本申请实施例提供的一种自动生成测试数据装置的示意性框图。
如图5所示,该自动生成测试数据装置400,包括:确定模块401、获取模块402、第一生成模块403、第二生成模块404。
确定模块401,用于确定待处理测试表,根据所述待处理测试表的名称信息确定所述待处理测试表的名称标识;
获取模块402,用于获取所述待处理测试表的新增字段信息;
第一生成模块403,用于根据预置数据库类型、所述名称标识和所述新增字段信息,生成对应的建表语句;
第二生成模块404,用于根据所述建表语句,生成对应的测试数据。
其中,确定模块401具体还用于:
获取所述待处理测试表的名称信息;基于第一预置表,获取所述名称信息对应的主题域和表名后缀;将所述名称信息中的名称转为统一语言名称;根据所述主题域、表名后缀和统一语言名称,确定所述待处理测试表的名称标识。
其中,确定模块401具体还用于:
获取预置生成策略,确定所述预置生成策略中所述主题域的位置、所述表名后缀的位置和所述统一语言名称的位置;
基于所述主题域的位置插入所述主题域对应的主题域标识、所述表名后缀的位置插入所述表名后缀对应的后缀标识、所述统一语言名称的位置插入所述统一语言名称,确定所述待处理表的名称标识。
其中,自动生成测试数据装置具体还用于:
获取所述待处理测试表的名称标识的字段长度,确定所述待处理测试表的名称标识的字段长度是否大于预置阈值;若所述待处理测试表的名称标识的字段长度大于所述预置阈值,则对所述待处理测试表的名称标识进行截取,以生成截取后的所述待处理测试表的名称标识。
其中,自动生成测试数据装置还用于:
检测所述待处理测试表中的新增字段,并将所述新增字段转换为目标字段;
基于第二预置表,获取所述新增字段的数据类型;
基于第三预置表,获取所述新增字段的数据长度。
其中,自动生成测试数据装置具体还用于:
获取第三预置表中所述新增字段的预置字符组成和/或预置取值范围;
若所述新增字段的字符组成与所述预置字符组成不匹配和/或所述新增字段的取值范围与所述预置取值范围不匹配,则发送错误提示信息。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和各模块及单元的具体工作过程,可以参考前述自动生成测试数据的方法实施例中的对应过程,在此不再赘述。
上述实施例提供的装置可以实现为一种计算机程序的形式,该计算机程序可以在如图6所示的计算机设备上运行。
请参阅图6,图6为本申请实施例提供的一种计算机设备的结构示意性框图。该计算机设备可以为终端。
如图6所示,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口,其中,存储器可以包括非易失性存储介质和内存储器。
非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种自动生成测试数据的方法。
处理器用于提供计算和控制能力,支撑整个计算机设备的运行。
内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种自动生成测试数据的方法。
该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
应当理解的是,处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
其中,在一个实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:
确定待处理测试表,根据所述待处理测试表的名称信息确定所述待处理测试表的名称标识;
获取所述待处理测试表的新增字段信息;
根据预置数据库类型、所述名称标识和所述新增字段信息,生成对应的建表语句;
根据所述建表语句,生成对应的测试数据。
在一个实施例中,所述处理器根据所述待处理测试表的名称信息确定所述待处理测试表的名称标识实现时,用于实现:
获取所述待处理测试表的名称信息;
基于第一预置表,获取所述名称信息对应的主题域和表名后缀;
将所述名称信息中的名称转为统一语言名称;
根据所述主题域、表名后缀和统一语言名称,确定所述待处理测试表的名称标识。
在一个实施例中,所述处理器在所述根据所述主题域、表名后缀和统一语言名称,确定所述待处理测试表的名称标识实现时,用于实现:
获取预置生成策略,确定所述预置生成策略中所述主题域的位置、所述表名后缀的位置和所述统一语言名称的位置;
基于所述主题域的位置插入所述主题域对应的主题域标识、所述表名后缀的位置插入所述表名后缀对应的后缀标识、所述统一语言名称的位置插入所述统一语言名称,确定所述待处理表的名称标识。
在一个实施例中,所述处理器在根据所述待处理测试表的名称信息确定所述待处理测试表的名称标识之后实现时,用于实现:
获取所述待处理测试表的名称标识的字段长度,确定所述待处理测试表的名称标识的字段长度是否大于预置阈值;
若所述待处理测试表的名称标识的字段长度大于所述预置阈值,则对所述待处理测试表的名称标识进行截取,以生成截取后的所述待处理测试表的名称标识。
在一个实施例中,所述处理器新增字段信息包括新增字段的数据类型、数据长度和目标字段;所述获取所述待处理测试的表新增字段信息后实现时,用于实现:
检测所述待处理测试表中的新增字段,并将所述新增字段转换为目标字段;
基于第二预置表,获取所述新增字段的数据类型;
基于第三预置表,获取所述新增字段的数据长度。
在一个实施例中,所述处理器在所述字段信息包括所述新增字段的字符组成和取值范围;所述检测所述待处理测试表中新增字段之后实现时,用于实现:
获取第三预置表中所述新增字段的预置字符组成和/或预置取值范围;
若所述新增字段的字符组成与所述预置字符组成不匹配和/或所述新增字段的取值范围与所述预置取值范围不匹配,则发送错误提示信息。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序中包括程序指令,所述程序指令被执行时所实现的方法可参照本申请自动生成测试数据的方法的各个实施例。
其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
本发明所指区块链是预置数据库类型、第一预置表、第二预置表和第三预置表的存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (8)

1.一种自动生成测试数据的方法,其特征在于,包括:
确定待处理测试表,根据所述待处理测试表的名称信息确定所述待处理测试表的名称标识;其中,所述根据所述待处理测试表的名称信息确定所述待处理测试表的名称标识包括:获取所述待处理测试表的名称信息;基于第一预置表,获取所述名称信息对应的主题域和表名后缀;将所述名称信息中的名称转为统一语言名称;获取预置生成策略,确定所述预置生成策略中所述主题域的位置、所述表名后缀的位置和所述统一语言名称的位置;基于所述主题域的位置插入所述主题域对应的主题域标识、所述表名后缀的位置插入所述表名后缀对应的后缀标识、所述统一语言名称的位置插入所述统一语言名称,确定所述待处理测试表的名称标识;
获取所述待处理测试表的新增字段信息;其中,所述新增字段信息至少包括所述新增字段的以下至少一种:所述新增字段的数据类型、数据长度、目标字段、字符组成、取值范围;所述获取所述待处理测试表的新增字段信息包括:在检测到待处理测试表中的新增字段时,确定该新增字段中是否出现在其它待处理测试表中;若确定出现在其它待处理测试表中,则直接获取其它待处理测试表中该新增字段的字段信息;
根据预置数据库类型、所述名称标识和所述新增字段信息,生成对应的建表语句;
根据所述建表语句,生成对应的测试数据。
2.如权利要求1所述的自动生成测试数据的方法,其特征在于,所述根据所述待处理测试表的名称信息确定所述待处理测试表的名称标识之后,还包括:
获取所述待处理测试表的名称标识的字段长度,确定所述待处理测试表的名称标识的字段长度是否大于预置阈值;
若所述待处理测试表的名称标识的字段长度大于所述预置阈值,则对所述待处理测试表的名称标识进行截取,以生成截取后的所述待处理测试表的名称标识。
3.如权利要求1所述的自动生成测试数据的方法,其特征在于,所述获取所述待处理测试表的新增字段信息,包括:
检测所述待处理测试表中的新增字段,并将所述新增字段转换为目标字段;
基于第二预置表,获取所述新增字段的数据类型;
基于第三预置表,获取所述新增字段的数据长度。
4.如权利要求3所述的自动生成测试数据的方法,其特征在于,所述检测所述待处理测试表中新增字段之后,还包括:
获取第三预置表中所述新增字段的预置字符组成和/或预置取值范围;
若所述新增字段的字符组成与所述预置字符组成不匹配和/或所述新增字段的取值范围与所述预置取值范围不匹配,则发送错误提示信息。
5.如权利要求1所述的自动生成测试数据的方法,其特征在于,所述预置数据库类型包括Oracle、MySQL或HiveSQL,所述建表语句包括SQL语句。
6.一种自动生成测试数据装置,其特征在于,包括:
确定模块,用于确定待处理测试表,根据所述待处理测试表的名称信息确定所述待处理测试表的名称标识;其中,所述根据所述待处理测试表的名称信息确定所述待处理测试表的名称标识包括:获取所述待处理测试表的名称信息;基于第一预置表,获取所述名称信息对应的主题域和表名后缀;将所述名称信息中的名称转为统一语言名称;获取预置生成策略,确定所述预置生成策略中所述主题域的位置、所述表名后缀的位置和所述统一语言名称的位置;基于所述主题域的位置插入所述主题域对应的主题域标识、所述表名后缀的位置插入所述表名后缀对应的后缀标识、所述统一语言名称的位置插入所述统一语言名称,确定所述待处理测试表的名称标识;
获取模块,用于获取所述待处理测试表的新增字段信息;其中,所述新增字段信息至少包括所述新增字段的以下至少一种:数据类型、数据长度、目标字段、字符组成、取值范围;所述获取所述待处理测试表的新增字段信息包括:在检测到待处理测试表中的新增字段时,确定该新增字段中是否出现在其它待处理测试表中;若确定出现在其它待处理测试表中,则直接获取其它待处理测试表中该新增字段的字段信息;
第一生成模块,用于根据预置数据库类型、所述名称标识和所述新增字段信息,生成对应的建表语句;
第二生成模块,用于根据所述建表语句,生成对应的测试数据。
7.一种计算机设备,其特征在于,所述计算机设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的计算机程序,其中所述计算机程序被所述处理器执行时,实现如权利要求1至5中任一项所述的自动生成测试数据的方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,其中所述计算机程序被处理器执行时,实现如权利要求1至5中任一项所述的自动生成测试数据的方法的步骤。
CN202010899525.9A 2020-08-31 2020-08-31 自动生成测试数据的方法、装置、设备及存储介质 Active CN111949550B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010899525.9A CN111949550B (zh) 2020-08-31 2020-08-31 自动生成测试数据的方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010899525.9A CN111949550B (zh) 2020-08-31 2020-08-31 自动生成测试数据的方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN111949550A CN111949550A (zh) 2020-11-17
CN111949550B true CN111949550B (zh) 2024-02-06

Family

ID=73368077

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010899525.9A Active CN111949550B (zh) 2020-08-31 2020-08-31 自动生成测试数据的方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN111949550B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113419944B (zh) * 2021-05-26 2022-07-12 深圳开源互联网安全技术有限公司 模糊测试的初始化方法、装置及存储介质
CN113591447A (zh) * 2021-07-30 2021-11-02 高途教育科技集团有限公司 数据表的创建方法、装置、设备及存储介质
CN116149969B (zh) * 2023-04-04 2023-06-20 湖南中青能科技有限公司 一种数据库模型匹配异常监测处理方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105512042A (zh) * 2015-12-22 2016-04-20 广东金赋信息科技有限公司 一种数据库的测试数据的自动生成方法、装置及测试系统
CN109117377A (zh) * 2018-08-31 2019-01-01 杭州安恒信息技术股份有限公司 一种基于建表语句的测试数据自动生成方法、装置及设备
CN110825739A (zh) * 2019-10-30 2020-02-21 京东数字科技控股有限公司 建表语句生成方法、装置、设备及存储介质
CN110968514A (zh) * 2019-12-02 2020-04-07 北京明略软件系统有限公司 测试方法、装置、电子设备和存储介质
CN111176976A (zh) * 2019-08-05 2020-05-19 腾讯科技(深圳)有限公司 测试数据的生成方法和装置、存储介质及电子装置
CN111309734A (zh) * 2020-02-20 2020-06-19 第四范式(北京)技术有限公司 自动生成表数据的方法及系统
CN111427803A (zh) * 2020-06-11 2020-07-17 平安国际智慧城市科技股份有限公司 自动化随机测试方法、装置、计算机设备及介质
CN111552690A (zh) * 2020-03-31 2020-08-18 深圳壹账通智能科技有限公司 数据生成方法、装置、终端及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9710365B2 (en) * 2014-04-25 2017-07-18 Wal-Mart Stores, Inc. System and method for generating synthetic data for software testing purposes

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105512042A (zh) * 2015-12-22 2016-04-20 广东金赋信息科技有限公司 一种数据库的测试数据的自动生成方法、装置及测试系统
CN109117377A (zh) * 2018-08-31 2019-01-01 杭州安恒信息技术股份有限公司 一种基于建表语句的测试数据自动生成方法、装置及设备
CN111176976A (zh) * 2019-08-05 2020-05-19 腾讯科技(深圳)有限公司 测试数据的生成方法和装置、存储介质及电子装置
CN110825739A (zh) * 2019-10-30 2020-02-21 京东数字科技控股有限公司 建表语句生成方法、装置、设备及存储介质
CN110968514A (zh) * 2019-12-02 2020-04-07 北京明略软件系统有限公司 测试方法、装置、电子设备和存储介质
CN111309734A (zh) * 2020-02-20 2020-06-19 第四范式(北京)技术有限公司 自动生成表数据的方法及系统
CN111552690A (zh) * 2020-03-31 2020-08-18 深圳壹账通智能科技有限公司 数据生成方法、装置、终端及存储介质
CN111427803A (zh) * 2020-06-11 2020-07-17 平安国际智慧城市科技股份有限公司 自动化随机测试方法、装置、计算机设备及介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Search-Based Test Data Generation for SQL Queries;Jeroen Castelein等;《 2018 IEEE/ACM 40th International Conference on Software Engineering (ICSE)》;第1220 - 1230页 *
基于Spark的海量数据实时查询系统的设计与实现;刘希冀;《cnki优秀硕士学位论文全文库 信息科技辑》(第03期);第I138-1166页 *

Also Published As

Publication number Publication date
CN111949550A (zh) 2020-11-17

Similar Documents

Publication Publication Date Title
CN111949550B (zh) 自动生成测试数据的方法、装置、设备及存储介质
CN109617646B (zh) 报文转换方法、装置、计算机设备及计算机可读存储介质
CN110597511B (zh) 一种页面自动生成方法、系统、终端设备及存储介质
CN112559672B (zh) 信息检测方法、电子设备及计算机存储介质
CN112016967B (zh) 一种交易数据处理方法与装置
CN112035480A (zh) 数据表管理方法、装置、设备及存储介质
CN110362630B (zh) 数据管理方法、装置、设备与计算机可读存储介质
CN114266539A (zh) 文件流程处理方法、系统、装置及计算机可读存储介质
JP5400496B2 (ja) 決算書の分析結果に基づく記事を作成するシステム
CN113626223A (zh) 一种接口调用方法和装置
CN112860662A (zh) 数据血缘关系建立方法、装置、计算机设备及存储介质
CN117133006A (zh) 一种单证验证方法、装置、计算机设备及存储介质
CN116450723A (zh) 数据提取方法、装置、计算机设备及存储介质
US20100057733A1 (en) Method, computer program product, and apparatus for enabling access to enterprise information
CN115545753A (zh) 一种基于贝叶斯算法的合作伙伴预测方法及相关设备
CN113434122A (zh) 多角色页面创建方法、装置、服务器及可读存储介质
KR102449831B1 (ko) 신규 텍스트에 대한 정보를 제공하는 전자 장치, 신규 텍스트를 확인하는 서버 및 그 동작 방법
CN115563276A (zh) 一种数据分析的方法和装置
CN108763442B (zh) 工作簿过滤方法、装置、计算机设备及存储介质
CN112287101B (zh) 信息处理方法、装置和计算机设备
CN111695327B (zh) 一种乱码修复方法、装置、电子设备及可读存储介质
CN116866293A (zh) 外发邮件识别方法、装置、设备及计算机可读存储介质
US20190228102A1 (en) Data crawling and processing device and method thereof
CN112130828A (zh) 一种软件源代码修改方法、装置、设备及存储介质
CN117634496A (zh) 基于大语言模型的信息生成方法、装置、设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20210207

Address after: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.)

Applicant after: Shenzhen saiante Technology Service Co.,Ltd.

Address before: 1-34 / F, Qianhai free trade building, 3048 Xinghai Avenue, Mawan, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong 518000

Applicant before: Ping An International Smart City Technology Co.,Ltd.

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant