CN111176976B - 测试数据的生成方法和装置、存储介质及电子装置 - Google Patents
测试数据的生成方法和装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN111176976B CN111176976B CN201910718377.3A CN201910718377A CN111176976B CN 111176976 B CN111176976 B CN 111176976B CN 201910718377 A CN201910718377 A CN 201910718377A CN 111176976 B CN111176976 B CN 111176976B
- Authority
- CN
- China
- Prior art keywords
- target
- data table
- target field
- parameters
- field
- 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
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/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种测试数据的生成方法和装置、存储介质及电子装置。所述方法包括:响应第一指令获取目标数据表的参数,其中,目标数据表的参数包括:目标数据表中包含的字段;响应第二指令从目标数据表的字段中获取目标字段以及目标字段的参数,其中,目标字段的参数包括:目标字段的类型以及目标字段的生成规则,生成规则用于配置目标字段的字节内容;根据目标数据表的参数以及目标字段的参数生成测试数据。本发明解决了程序测试时无法自动生成大批量随机的测试数据的技术问题。
Description
技术领域
本发明涉及数据处理技术领域,具体而言,涉及一种测试数据的生成方法和装置、存储介质及电子装置。
背景技术
在进行计算机程序测试的时候,往往需要生成大量的测试数据,现有的测试数据多数是以手工方式在测试程序时填写,但是手工填写会耗费大量工作量,且测试数据的随机性无法保证,因此,目前的相关技术中经常通过在数据库中对少量数据重复拷贝的方式形成大量的测试数据,但是这种重复拷贝的方式仍然没有提高测试数据的随机性,即,无法自动生成大批量的随机数据,进而无法保证测试结果的是否具有普适性。
针对现有技术中程序测试时无法自动生成大批量随机的测试数据的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种测试数据的生成方法和装置、存储介质及电子装置,以至少解决程序测试时无法自动生成大批量随机的测试数据的技术问题。
根据本发明实施例的一个方面,提供了一种测试数据的生成方法,包括:响应第一指令获取目标数据表的参数,其中,所述目标数据表的参数包括:所述目标数据表中包含的字段;响应第二指令从所述目标数据表的所述字段中获取目标字段以及所述目标字段的参数,其中,所述目标字段的参数包括:所述目标字段的类型以及所述目标字段的生成规则,所述生成规则用于配置所述目标字段的字节内容;根据所述目标数据表的参数以及所述目标字段的参数生成测试数据。
根据本发明实施例的另一方面,还提供了一种测试数据的生成装置,包括:
第一获取模块,用于响应第一指令获取目标数据表的参数,其中,所述目标数据表的参数包括:所述目标数据表中包含的字段;
第二获取模块,用于响应第二指令从所述目标数据表的所述字段中获取目标字段以及所述目标字段的参数,其中,所述目标字段的参数包括:所述目标字段的类型以及所述目标字段的生成规则,所述生成规则用于配置所述目标字段的字节内容;
生成模块,用于根据所述目标数据表的参数以及所述目标字段的参数生成测试数据。
可选地,所述装置还包括:配置模块,用于响应第三指令配置所述目标字段的生成规则,其中,当所述目标字段的类型为文本类型时,根据所述第三指令,配置以下至少之一的生成规则:配置所述目标字段的前缀、后缀,所述目标字段的长度,所述目标字段中包含的英文字母,所述目标字段中包含的数字,所述目标字段之间的分隔符;配置插入所述目标字段的随机数值以及所述随机数值的取值范围;配置插入所述目标字段的字典文件,其中,所述字典文件包括多行文本文件,所述字典文件用于为所述目标字段随机提供一行文本文件进行插入;配置姓氏和人名,其中,所述姓氏和人名用于随机搭配生成人物姓名;配置组成手机号码数字以及组成规则,其中,所述手机号码数字以及组成规则用于随机生成手机号码;当所述目标字段的类型为数值类型时,根据所述第三指令,配置以下至少之一的生成规则:配置起始值和递增值,其中,所述递增值用于与前一个数值相加得到新的数值;配置所述数值的取值范围,其中,所述数值在所述取值范围随机生成。
可选地,所述生成模块包括:第一转换单元,用于将所述目标数据表的参数以及所述目标字段的参数转换为脚本信息,其中,所述脚本信息中至少包含以下之一的内容:所述目标数据表的名称,是否在生成所述测试数据前清除所述目标数据表中的原有数据,待生成所述测试数据的数量,所述目标字段的名称、所述目标字段的类型,所述目标字段的生成规则,所述目标字段在所述目标数据表中的显示规则;第二转换单元,用于将所述脚本信息转换为与所述目标数据表所属数据库对应的语言脚本,其中,所述脚本信息与所述语言脚本的语法具有对应关系;生成单元,用于执行所述语言脚本生成所述测试数据。
可选地,所述生成模块还包括:保存单元,用于将所述脚本信息写入可扩展标记语言XML文本中并保存,其中,所述XML文本用于在对应的数据库中还原所述目标数据表的参数以及所述目标字段的参数。
可选地,所述第一获取模块包括:第一获取单元,用于响应所述第一指令,获取以下至少之一的所述目标数据表的参数:所述目标数据表的名称,所述目标数据表的类型,所述目标数据表中包含的字段数量、字段名称、字段类型,所述目标数据表中包含的字段。
可选地,所述第二获取模块包括:第二获取单元,用于响应所述第二指令,获取以下至少之一的所述目标字段的参数:所述目标字段的类型,所述目标字段的名称,所述目标字段的长度。
根据本发明实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述可疑帐号的确定方法。
根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的可疑帐号的确定方法。
在本发明实施例中,通过响应指令获取目标数据表以及目标数据表内包含的字段,并且通过配置生成规则来配置字段的字节内容,经过上述一系列设置后可以在数据库中自动生成大批量的随机测试数据,从而提高了测试数据生成的效率以及普适性,进而解决了程序测试时无法自动生成大批量随机的测试数据的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例一种可选的测试数据的生成方法的硬件环境示意图;
图2是本发明实施例的一种可选的测试数据的生成方法的流程图;
图3是根据本发明实施例的一种可选的数据表显示界面示意图;
图4是根据本发明实施例的又一种可选的数据表显示界面示意图;
图5是根据本发明实施例的一种可选的生成规则显示界面示意图;
图6是根据本发明实施例的又一种可选的生成规则显示界面示意图;
图7是根据本发明实施例的又一种可选的生成规则显示界面示意图;
图8是根据本发明实施例的一种脚本信息保存文件的结构示意图;
图9是根据本发明实施例的测试数据的生成装置的一种可选的结构框图;
图10是根据本发明实施例的一种可选的电子装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了解决上述技术问题,本发明实施例提供了一种测试数据的生成方法。图1是根据本发明实施例一种可选的测试数据的生成方法的硬件环境示意图,如图1所示,该硬件环境可以包括但不限于用户设备102、网络110、服务器112,其中,用户设备102中可以包括但不限于存储器104、处理器106、显示器108,服务器112张可以包括但不限于数据库114、处理引擎116。此处的用户设备可以但不限于是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。在图1所示的场景中,本发明实施例的测试数据的生成方法一种可选的实现步骤如下:
步骤S102,用户设备102将设置指令发送到网络端110,并指示网络端110将设置指令发送至服务器112,其中,设置指令用于获取目标数据表、目标数据表中的目标字段以及目标字段的参数,并配置目标字段的生成规则;
步骤S104,网络端110将设置指令转发给服务器112;
步骤S106,服务器112接收到设置指令后,根据设置指令生成测试数据,其中,生成的测试数据的字段内容、数量,都是根据设置指令来获得的;
步骤S108,服务器112将生成的测试数据发送至网络端110;
步骤S110,网络端110将从服务器112接收到的测试数据反馈给用户设备102。
需要说明的是,上述方法可以在任意类型的数据库中实施,并应用于任意需要按照指定的规则生成随机数据的场景。
在图1所示的应用场景中,用户需要选择一个数据库,在选定的数据库中选择目标数据表,然后再目标数据表中选择目标字段,通过配置目标字段的生成规则来生成字段内容,同时,用户也可以设置每个目标数据表对应生成的测试数据的数量,如图1所示,当用户设置在表a中生成100条测试数据时,服务器根据设置指令生成与表a对应的100条随机测试数据。
可选地,在本发明实施例中,上述测试数据的生成方法可以但不限于应用于服务器112中,上述服务器112、用户设备102可以但不限于通过网络实现数据交互,上述网络可以包括但不限于无线网络或有线网络。其中,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络。上述有线网络可以包括但不限于:广域网、城域网、局域网。上述仅是一种示例,本实施例中对此不作任何限定。
可选地,步骤S106中,服务器112根据用户设备102发送的设置指令生成测试数据可以通过以下步骤实现:响应第一指令获取目标数据表的参数,其中,目标数据表的参数包括:目标数据表中包含的字段;响应第二指令从目标数据表的字段中获取目标字段以及目标字段的参数,其中,目标字段的参数包括:目标字段的类型以及目标字段的生成规则,生成规则用于配置目标字段的字节内容;根据目标数据表的参数以及目标字段的参数生成测试数据。
图2是本发明实施例的一种可选的测试数据的生成方法的流程图。如图2所示,该方法包括:
步骤S202,响应第一指令获取目标数据表的参数,其中,目标数据表的参数包括:目标数据表中包含的字段;
步骤S204,响应第二指令从目标数据表的字段中获取目标字段以及目标字段的参数,其中,目标字段的参数包括:目标字段的类型以及目标字段的生成规则,生成规则用于配置目标字段的字节内容;
步骤S206,根据目标数据表的参数以及目标字段的参数生成测试数据。
可选地,本发明实施例提供的测试数据的生成方法,通过单机程序和网络应用等方式均可实现,用于生成测试数据的数据库可以为关系型数据库,例如支持主流语言如MSAccess、MySQL、Oracle等的数据库,本发明实施例涉及的数据库可以支持通过开放数据库互连(open database connectivity,简称为ODBC)技术进行读写,当用户打开数据库时,通过ODBC技术连接数据库,可以自动获取数据库中对应的数据表等信息。
可选地,响应第一指令获取目标数据表的参数包括:响应第一指令,获取以下至少之一的目标数据表的参数:目标数据表的名称,目标数据表的类型,目标数据表中包含的字段数量、字段名称、字段类型,目标数据表中包含的字段。
可选地,响应第二指令从目标数据表的字段中获取目标字段以及目标字段的参数包括:响应第二指令,获取以下至少之一的目标字段的参数:目标字段的类型,目标字段的名称,目标字段的长度。
可选地,本发明实施例中提供的测试数据的生成方法,需要接收用户的指令进行生成规则的配置。图3是根据本发明实施例的一种可选的数据表显示界面示意图,如图3所示,用户选择的用来生成测试数据的数据库中可以包含多个数据表,响应第一指令,从多个数据表(a、b)中选择其中一个目标数据表a,然后界面上可以显示目标数据表的名称,以及目标数据表a中包含的字段a1-a6,每个字段的字段类型可能相同可能不同,同一类型的字段对应的生成规则可能相同也可能不同。响应第二指令,从目标数据表包含的字段中选择目标字段a2、a4、a5,其他未被选中的字段可以将生成规则设置为“不处理该字段”,然后响应用户指令配置每个目标字段的生成规则的具体内容,从而可以生成与目标数据表对应的、包含目标字段的测试数据,最终生成的测试数据按照字段的名称依次排列,即,每一组测试数据都是a2+a4+a5的组合,字段之间也可以设置其他的分隔符,本发明实施例对此不做限定。
图4是根据本发明实施例的又一种可选的数据表显示界面示意图,如图4所示,当选择切换数据表b时,对应的字段显示为数据表b中的字段。对应的数据表参数中还可以包括“数据量”,例如,表a对应的数据量为100,表示需要使用表a中的字段生成100组随机测试数据,表b对应的数据量为50,表示需要使用表b中的字段生成50组测试数据。
可选地,响应第二指令从目标数据表的字段中获取目标字段以及目标字段的参数之后,所述方法还包括:响应第三指令配置所述目标字段的生成规则,其中,
当目标字段的类型为文本类型时,根据第三指令,配置以下至少之一的生成规则:
配置目标字段的前缀、后缀,目标字段的长度,目标字段中包含的英文字母,目标字段中包含的数字,目标字段之间的分隔符;
配置插入目标字段的随机数值以及随机数值的取值范围;
配置插入所目标字段的字典文件,其中,字典文件包括多行文本文件,字典文件用于为目标字段随机提供一行文本文件进行插入;
配置姓氏和人名,其中,姓氏和人名用于随机搭配生成人物姓名;
配置组成手机号码数字以及组成规则,其中,手机号码数字以及组成规则用于随机生成手机号码;
当目标字段的类型为数值类型时,根据第三指令,配置以下至少之一的生成规则:
配置起始值和递增值,其中,递增值用于与前一个数值相加得到新的数值;
配置数值的取值范围,其中,数值在取值范围随机生成。
图5是根据本发明实施例的一种可选的生成规则显示界面示意图,如图5所示,字段的生成规则可以是前缀+随机文本+后缀,也可以是前缀+随机数值+后缀,也可以是字典文本中随机一行,也可以是随机生成姓名或随机生成手机电话号码。
当配置的目标字段规则为前缀+随机文本+后缀时,可以设置前缀的内容、后缀的内容以及随机文本的长度、是否包含大小写字母和/或数字等。
当配置的目标字段规则为前缀+随机数值+后缀时,可以设置前缀的内容、后缀的内容以及随机数值的起始值和结束值,也就是限定随机数值的取值范围,在此范围内随机生成数值,也可以限定随机数值的起始值和递增值,有规则地生成随机数值。例如,随机数值的起始值设置为1,结束值设置为100,那么在在1-100范围内的任意数值都符合规则,也可以进一步限定随机数值是整数还是精确到小数点后几位,本发明实施例对此不作限定。如果随机数值的起始值设置为1,递增值设置为2,那么得到随机数值可以是1,3,5……。
数据库内可以储存一些常见的姓氏和人名,例如百家姓中包含的姓氏,然后在生成测试数据时可以任意组合姓氏和人名,随机生成任务姓名。
数据库内还可以储存一些组成手机电话号码的数字,以及手机电话号码的组成规则,在生成测试数据时可以根据组成规则任意组合上述数字生成随机的手机电话号码。
图6是根据本发明实施例的又一种可选的生成规则显示界面示意图,如图6所示,当配置的目标字段规则为字典文本时,可以从多行文本文件选择一行。例如图6所示的字典文件为广州市的行政区,在生成测试数据时,可以随机选择一行插入测试数据。
图7是根据本发明实施例的又一种可选的生成规则显示界面示意图,如图7所示,当目标字段的类型为数值类型时,表示目标字段只包含随机数值,此时的随机数值的设置规则可以设置起始值和递增值,例如,起始值设置为3.65,递增值设置为1.32,那么生成的测试数据可以是3.65,4.97,6.29……随机数值的设置规则还可以设置起始值和结束值,例如,起始值设置为1,结束值设置为200,那么在1-200范围内的任意数值都可以作为随机数值。
通过上述生成规则的配置,不仅可以保证测试数据的随机性,还可以保证测试数据的仿真度。
可选地,根据目标数据表的参数以及目标字段的参数生成测试数据包括:
S1,将目标数据表的参数以及目标字段的参数转换为脚本信息,其中,脚本信息中至少包含以下之一的内容:目标数据表的名称,是否在生成测试数据前清除目标数据表中的原有数据,待生成测试数据的数量,目标字段的名称、目标字段的类型,目标字段的生成规则,目标字段在目标数据表中的显示规则;
S2,将脚本信息转换为与目标数据表所属数据库对应的语言脚本,其中,脚本信息与语言脚本的语法具有对应关系;
S3,执行语言脚本生成测试数据。
可选地,上述脚本信息可以保存在数据库中,或独立保存在其他服务器,若保存在其他服务器,保存脚本信息时同时保存对应的数据库名称或编码,如果后续需要生成针对该数据库的与当前生成规则一致的测试数据,可以直接获取保存的脚本信息,从脚本信息中获取对应的生成规则。
通过本发明可以很方便地生成大量的测试数据,同时测试数据的描述方式是通过脚本保存到XML文件中的,只要连接数据库,载入保存的文件即可随时进行大批量测试数据生成。
脚本信息的保存不限于使用XML文件进行保存,可以选择可以通过文本文件或者数据库可识别的任意文件进行保存,本发明实施例对此不做限定。
可选地,将目标数据表的参数以及目标字段的参数转换为脚本信息之后,所述方法还包括:将脚本信息写入可扩展标记语言XML文本中并保存,其中,XML文本用于在对应的数据库中还原目标数据表的参数以及目标字段的参数。
可选地,在对数据表字段设定好生成规则后,可以把设定的内容进行保存,程序自动把对测试数据的描述转换为描述脚本,保存到XML文件中。图8是根据本发明实施例的一种脚本信息保存文件的结构示意图,如图8所示,XML中对测试数据描述规则包括:记录数据表表名、是否需要在生成前清除原有表数据(clear属性),需要生成的测试数据数量(count属性),字段的名称、字段的类型(type属性)、生成规则(ruleUse属性,规则为生成采用的规则名称+规则参数,分隔符为逗号和加号)、显示在列表中的规则文字(ruleShow属性)。
可选地,在程序中根据不同数据字段类型提供生成测试数据的规则设定,用户设定后规则后,把规则转换为描述脚本,脚本对测试数据描述规则包括:记录数据表表名、是否需要在生成前清除原有表数据(clear属性),需要生成的测试数据数量(count属性);字段的名称、字段的类型(type属性)、生成规则(ruleUse属性,规则为生成采用的规则名称+规则参数,分隔符为逗号和加号)、显示在列表中的规则文字(ruleShow属性)。
根据记录的描述脚本,转换为对应数据库的结构化查询语言SQL语言脚本,描述脚本的信息和SQL脚本语法是对应的。
执行生成的SQL脚本在数据库中插入随机生成的测试数据。
描述脚本通过读写可扩展标记语言(Extensible markup language,简称为XML)文件方式写入对应的XML文件进行保存,程序中可以打开XML文件保存的脚本信息还原对应数据库的测试数据生成规则设置。
在一些特殊的场景中,如政务行业的大数据平台开发,很多数据都是保密的,而开发部门由于条件所限往往又不能在政务专用网络中进行开发,因此,不依赖政务专用网络中的数据而生成一批合理的,仿真程度高的测试数据是开发过程中必须解决的问题,而通过本发明实施例则可以有效解决此问题。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
根据本发明实施例的另一个方面,还提供了一种用于实施上述测试数据的生成方法的测试数据的生成装置。图9是根据本发明实施例的测试数据的生成装置的一种可选的结构框图,如图9所示,该装置包括:
第一获取模块902,用于响应第一指令获取目标数据表的参数,其中,目标数据表的参数包括:目标数据表中包含的字段;
第二获取模块904,用于响应第二指令从目标数据表的字段中获取目标字段以及目标字段的参数,其中,目标字段的参数包括:目标字段的类型以及目标字段的生成规则,生成规则用于配置目标字段的字节内容;
生成模块906,用于根据目标数据表的参数以及目标字段的参数生成测试数据。
可选地,所述装置还包括:配置模块,用于响应第三指令配置目标字段的生成规则,其中,当目标字段的类型为文本类型时,根据第三指令,配置以下至少之一的生成规则:配置目标字段的前缀、后缀,目标字段的长度,目标字段中包含的英文字母,目标字段中包含的数字,目标字段之间的分隔符;配置插入目标字段的随机数值以及随机数值的取值范围;配置插入目标字段的字典文件,其中,字典文件包括多行文本文件,字典文件用于为目标字段随机提供一行文本文件进行插入;配置姓氏和人名,其中,姓氏和人名用于随机搭配生成人物姓名;配置组成手机号码数字以及组成规则,其中,手机号码数字以及组成规则用于随机生成手机号码;当目标字段的类型为数值类型时,根据第三指令,配置以下至少之一的生成规则:配置起始值和递增值,其中,递增值用于与前一个数值相加得到新的数值;配置数值的取值范围,其中,数值在取值范围随机生成。
可选地,生成模块包括:第一转换单元,用于将目标数据表的参数以及目标字段的参数转换为脚本信息,其中,脚本信息中至少包含以下之一的内容:目标数据表的名称,是否在生成测试数据前清除目标数据表中的原有数据,待生成测试数据的数量,目标字段的名称、目标字段的类型,目标字段的生成规则,目标字段在目标数据表中的显示规则;第二转换单元,用于将脚本信息转换为与目标数据表所属数据库对应的语言脚本,其中,脚本信息与语言脚本的语法具有对应关系;生成单元,用于执语言脚本生成测试数据。
可选地,生成模块还包括:保存单元,用于将脚本信息写入可扩展标记语言XML文本中并保存,其中,XML文本用于在对应的数据库中还原目标数据表的参数以及目标字段的参数。
可选地,第一获取模块包括:第一获取单元,用于响应第一指令,获取以下至少之一的目标数据表的参数:目标数据表的名称,目标数据表的类型,目标数据表中包含的字段数量、字段名称、字段类型,目标数据表中包含的字段。
可选地,第二获取模块包括:第二获取单元,用于响应第二指令,获取以下至少之一的目标字段的参数:目标字段的类型,目标字段的名称,目标字段的长度。
根据本发明实施例的又一个方面,还提供了一种用于实施上述测试数据的生成方法的电子装置,上述电子装置可以但不限于应用于上述图1所示的服务器112中。如图10所示,该电子装置包括存储器1002和处理器1004,该存储器1002中存储有计算机程序,该处理器1004被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,响应第一指令获取目标数据表的参数,其中,目标数据表的参数包括:目标数据表中包含的字段;
S2,响应第二指令从目标数据表的字段中获取目标字段以及目标字段的参数,其中,目标字段的参数包括:目标字段的类型以及目标字段的生成规则,生成规则用于配置目标字段的字节内容;
S3,根据目标数据表的参数以及目标字段的参数生成测试数据。
可选地,本领域普通技术人员可以理解,图10所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图10其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图10中所示更多或者更少的组件(如网络接口等),或者具有与图10所示不同的配置。
其中,存储器1002可用于存储软件程序以及模块,如本发明实施例中的测试数据的生成方法和装置对应的程序指令/模块,处理器1004通过运行存储在存储器1002内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的测试数据的生成方法。存储器1002可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1002可进一步包括相对于处理器1004远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器1002具体可以但不限于用于储存测试数据的生成方法的程序步骤。作为一种示例,如图10所示,上述存储器1002中可以但不限于包括上述测试数据的生成装置中的第一获取模块902、第二获取模块904和生成模块906。此外,还可以包括但不限于上述可疑帐号的确定装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置1006用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1006包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1006为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子装置还包括:显示器1008,用于显示可疑帐号的告警推送;和连接总线1010,用于连接上述电子装置中的各个模块部件。
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,响应第一指令获取目标数据表的参数,其中,目标数据表的参数包括:目标数据表中包含的字段;
S2,响应第二指令从目标数据表的字段中获取目标字段以及目标字段的参数,其中,目标字段的参数包括:目标字段的类型以及目标字段的生成规则,生成规则用于配置目标字段的字节内容;
S3,根据目标数据表的参数以及目标字段的参数生成测试数据。
可选地,存储介质还被设置为存储用于执行上述实施例中的方法中所包括的步骤的计算机程序,本实施例中对此不再赘述。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (8)
1.一种测试数据的生成方法,其特征在于,包括:
响应第一指令获取目标数据表的参数,其中,所述目标数据表的参数包括:所述目标数据表中包含的字段;
响应第二指令从所述目标数据表的所述字段中获取目标字段以及所述目标字段的参数,其中,所述目标字段的参数包括:所述目标字段的类型以及所述目标字段的生成规则,所述生成规则用于配置所述目标字段的字节内容;
根据所述目标数据表的参数以及所述目标字段的参数生成测试数据;
所述响应第二指令从所述目标数据表的所述字段中获取目标字段以及所述目标字段的参数之后,所述方法还包括:
响应第三指令配置所述目标字段的生成规则,其中,
当所述目标字段的类型为文本类型时,根据所述第三指令,配置以下至少之一的生成规则:
配置所述目标字段的前缀、后缀,所述目标字段的长度,所述目标字段中包含的英文字母,所述目标字段中包含的数字,所述目标字段之间的分隔符;
配置插入所述目标字段的随机数值以及所述随机数值的取值范围;
配置插入所述目标字段的字典文件,其中,所述字典文件包括多行文本文件,所述字典文件用于为所述目标字段随机提供一行文本文件进行插入;
配置姓氏和人名,其中,所述姓氏和人名用于随机搭配生成人物姓名;
配置组成手机号码数字以及组成规则,其中,所述手机号码数字以及组成规则用于随机生成手机号码;
当所述目标字段的类型为数值类型时,根据所述第三指令,配置以下至少之一的生成规则:
配置起始值和递增值,其中,所述递增值用于与前一个数值相加得到新的数值;
配置所述数值的取值范围,其中,所述数值在所述取值范围随机生成。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标数据表的参数以及所述目标字段的参数生成测试数据包括:
将所述目标数据表的参数以及所述目标字段的参数转换为脚本信息,其中,所述脚本信息中至少包含以下之一的内容:所述目标数据表的名称,是否在生成所述测试数据前清除所述目标数据表中的原有数据,待生成所述测试数据的数量,所述目标字段的名称、所述目标字段的类型,所述目标字段的生成规则,所述目标字段在所述目标数据表中的显示规则;
将所述脚本信息转换为与所述目标数据表所属数据库对应的语言脚本,其中,所述脚本信息与所述语言脚本的语法具有对应关系;
执行所述语言脚本生成所述测试数据。
3.根据权利要求2所述的方法,其特征在于,所述将所述目标数据表的参数以及所述目标字段的参数转换为脚本信息之后,所述方法还包括:
将所述脚本信息写入可扩展标记语言XML文本中并保存,其中,所述XML文本用于在对应的数据库中还原所述目标数据表的参数以及所述目标字段的参数。
4.根据权利要求1所述的方法,其特征在于,所述响应第一指令获取目标数据表的参数包括:
响应所述第一指令,获取以下至少之一的所述目标数据表的参数:所述目标数据表的名称,所述目标数据表的类型,所述目标数据表中包含的字段数量、字段名称、字段类型,所述目标数据表中包含的字段。
5.根据权利要求1所述的方法,其特征在于,所述响应第二指令从所述目标数据表的所述字段中获取目标字段以及所述目标字段的参数包括:
响应所述第二指令,获取以下至少之一的所述目标字段的参数:所述目标字段的类型,所述目标字段的名称,所述目标字段的长度。
6.一种测试数据的生成装置,其特征在于,包括:
第一获取模块,用于响应第一指令获取目标数据表的参数,其中,所述目标数据表的参数包括:所述目标数据表中包含的字段;
第二获取模块,用于响应第二指令从所述目标数据表的所述字段中获取目标字段以及所述目标字段的参数,其中,所述目标字段的参数包括:所述目标字段的类型以及所述目标字段的生成规则,所述生成规则用于配置所述目标字段的字节内容;
生成模块,用于根据所述目标数据表的参数以及所述目标字段的参数生成测试数据;
所述装置还包括:
配置模块,用于响应第三指令配置所述目标字段的生成规则,其中,
当所述目标字段的类型为文本类型时,根据所述第三指令,配置以下至少之一的生成规则:
配置所述目标字段的前缀、后缀,所述目标字段的长度,所述目标字段中包含的英文字母,所述目标字段中包含的数字,所述目标字段之间的分隔符;
配置插入所述目标字段的随机数值以及所述随机数值的取值范围;
配置插入所述目标字段的字典文件,其中,所述字典文件包括多行文本文件,所述字典文件用于为所述目标字段随机提供一行文本文件进行插入;
配置姓氏和人名,其中,所述姓氏和人名用于随机搭配生成人物姓名;
配置组成手机号码数字以及组成规则,其中,所述手机号码数字以及组成规则用于随机生成手机号码;
当所述目标字段的类型为数值类型时,根据所述第三指令,配置以下至少之一的生成规则:
配置起始值和递增值,其中,所述递增值用于与前一个数值相加得到新的数值;
配置所述数值的取值范围,其中,所述数值在所述取值范围随机生成。
7.一种存储介质,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至5任一项中所述的方法。
8.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至5任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910718377.3A CN111176976B (zh) | 2019-08-05 | 2019-08-05 | 测试数据的生成方法和装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910718377.3A CN111176976B (zh) | 2019-08-05 | 2019-08-05 | 测试数据的生成方法和装置、存储介质及电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111176976A CN111176976A (zh) | 2020-05-19 |
CN111176976B true CN111176976B (zh) | 2022-02-08 |
Family
ID=70657041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910718377.3A Active CN111176976B (zh) | 2019-08-05 | 2019-08-05 | 测试数据的生成方法和装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111176976B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111625467B (zh) * | 2020-06-03 | 2021-08-03 | 深圳华锐金融技术股份有限公司 | 自动化测试方法、装置、计算机设备和存储介质 |
CN111679990B (zh) * | 2020-06-17 | 2023-08-08 | 北京字节跳动网络技术有限公司 | 测试数据生成方法、装置、可读介质及电子设备 |
CN111782117B (zh) * | 2020-06-30 | 2021-11-09 | 京东数字科技控股有限公司 | 界面的展示方法和装置、存储介质、电子装置 |
CN111949550B (zh) * | 2020-08-31 | 2024-02-06 | 深圳赛安特技术服务有限公司 | 自动生成测试数据的方法、装置、设备及存储介质 |
CN111816284B (zh) * | 2020-09-04 | 2020-12-25 | 平安国际智慧城市科技股份有限公司 | 医疗测试数据的批量生成方法、装置、设备及存储介质 |
CN112181835B (zh) * | 2020-09-29 | 2024-04-26 | 中国平安人寿保险股份有限公司 | 自动化测试方法、装置、计算机设备及存储介质 |
CN112256571A (zh) * | 2020-10-20 | 2021-01-22 | 苏州市软件评测中心有限公司 | 测试实例生成方法、装置和存储介质 |
CN112231226B (zh) * | 2020-11-03 | 2024-04-05 | 恩亿科(北京)数据科技有限公司 | 一种软件测试数据生成、维护和导出的方法及系统 |
CN112579604A (zh) * | 2020-12-23 | 2021-03-30 | 平安普惠企业管理有限公司 | 测试系统的造数方法、装置、设备及存储介质 |
CN112559779A (zh) * | 2020-12-24 | 2021-03-26 | 北京百度网讯科技有限公司 | 图片管理方法、装置、设备以及存储介质 |
CN113127359A (zh) * | 2021-04-23 | 2021-07-16 | 中国工商银行股份有限公司 | 一种测试数据的获得方法及装置 |
CN113204683B (zh) * | 2021-06-04 | 2022-07-01 | 腾讯科技(成都)有限公司 | 信息重构方法和装置、存储介质及电子设备 |
CN113628358B (zh) * | 2021-07-27 | 2023-02-10 | 北京优奥创思科技发展有限公司 | 一种会议签到硬件性能测试方法、系统及存储介质 |
CN113535585A (zh) * | 2021-08-03 | 2021-10-22 | 广域铭岛数字科技有限公司 | 一种测试数据生成方法及系统 |
CN113742225B (zh) * | 2021-08-31 | 2024-04-26 | 上海浦东发展银行股份有限公司 | 一种测试数据生成方法、装置、设备及存储介质 |
CN114371988A (zh) * | 2021-11-19 | 2022-04-19 | 山东齐鲁数通科技有限公司 | 辅助批量生成测试数据方法、装置、终端及介质 |
CN114706746B (zh) * | 2022-02-23 | 2024-07-09 | 马上消费金融股份有限公司 | 一种测试文件的生成方法、装置及存储介质 |
CN118051433A (zh) * | 2024-02-18 | 2024-05-17 | 北京安锐卓越信息技术股份有限公司 | 一种自动生成模拟接口参数数据的方法、装置及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109408528A (zh) * | 2018-10-25 | 2019-03-01 | 北京信安世纪科技股份有限公司 | 一种数据库脚本生成方法、装置、计算装置和存储介质 |
CN109815252A (zh) * | 2018-12-14 | 2019-05-28 | 深圳壹账通智能科技有限公司 | 测试数据生成方法、装置、计算机设备及可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8595119B2 (en) * | 2008-02-15 | 2013-11-26 | New York Mercantile Exchange, Inc. | Symbolic language for trade matching |
-
2019
- 2019-08-05 CN CN201910718377.3A patent/CN111176976B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109408528A (zh) * | 2018-10-25 | 2019-03-01 | 北京信安世纪科技股份有限公司 | 一种数据库脚本生成方法、装置、计算装置和存储介质 |
CN109815252A (zh) * | 2018-12-14 | 2019-05-28 | 深圳壹账通智能科技有限公司 | 测试数据生成方法、装置、计算机设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111176976A (zh) | 2020-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111176976B (zh) | 测试数据的生成方法和装置、存储介质及电子装置 | |
CN105391811B (zh) | 域名解析方法、应用服务器的访问方法及其终端 | |
CN104461504B (zh) | 一种终端应用程序的管理方法 | |
CN106469044B (zh) | 实现页面跳转的方法和装置 | |
CN104601736A (zh) | 一种短url服务的实现方法及装置 | |
CN110781184A (zh) | 数据表的构建方法、装置、设备及存储介质 | |
CN104461505B (zh) | 一种终端 | |
CN106933836A (zh) | 一种基于分表的数据存储方法和系统 | |
CN111241177A (zh) | 数据采集方法、系统及网络设备 | |
CN113051460A (zh) | 基于Elasticsearch的数据检索方法、系统、电子设备及存储介质 | |
CN115526160A (zh) | 富文本处理方法、装置、设备及存储介质 | |
CN106936660B (zh) | 数据采集方法和装置 | |
CN105306273A (zh) | 流程配置方法及装置 | |
CN109213955B (zh) | 数据处理方法及相关设备 | |
CN106682014B (zh) | 游戏展示数据的生成方法和装置 | |
CN105094787B (zh) | 企业互联网应用的处理方法及装置 | |
CN109542357B (zh) | 一种命令参数组装方法、系统、设备及计算机存储介质 | |
CN103164459A (zh) | 专利文献预览方法及系统 | |
CN112162731B (zh) | 数据扩展方法、装置、存储介质及电子装置 | |
CN108614844B (zh) | 多媒体文件生成方法及装置 | |
CN113268288B (zh) | 一种共用文件配置方法及装置 | |
CN107070987B (zh) | 用于分布式对象存储系统的数据获取方法及系统 | |
CN112417818B (zh) | 文档目录生成方法和装置、存储介质及电子设备 | |
CN104796519A (zh) | 一种终端 | |
CN113409425B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |