CN113535585A - 一种测试数据生成方法及系统 - Google Patents
一种测试数据生成方法及系统 Download PDFInfo
- Publication number
- CN113535585A CN113535585A CN202110887757.7A CN202110887757A CN113535585A CN 113535585 A CN113535585 A CN 113535585A CN 202110887757 A CN202110887757 A CN 202110887757A CN 113535585 A CN113535585 A CN 113535585A
- Authority
- CN
- China
- Prior art keywords
- key information
- table building
- module
- test data
- different contents
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 46
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000012545 processing Methods 0.000 claims abstract description 52
- 238000004806 packaging method and process Methods 0.000 claims description 9
- 238000013515 script Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 239000010977 jade Substances 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
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/362—Software debugging
- G06F11/3644—Software debugging by instrumenting at runtime
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显示为本发明又一实施例的测试数据生成系统的示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。本说明书所附图式所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。同时,本说明书中所引用的如“上”、“下”、“左”、“右”、“中间”及“一”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
请参阅图1,本发明提供一种测试数据生成方法,包括:
S1:通过数据集获取建表语句,对所述建表语句进行解析处理,所述解析处理包括:确定所述建表语句中的关键信息,所述关键信息包括:业务类型和身份标识,例如,可以从各行业字典数据集、用户数据集或者日志数据集中获取建表语句,并对建表语句进行解析处理,获取语句中关键信息,并将业务类型和身份标识进行匹配;
S2:将解析处理后的建表语句进行属性处理,所述属性处理包括:随机选取一关键信息,并根据该关键信息的内容随机产生不同内容的关键信息,不同内容的所述关键信息用于测试。建表语句中往往会有不同的属性分类,例如,业务类型为工作类型时,其身份标识可能是医生、教师、程序员、董事等等,可以将业务类型的内容进行标签化,通过随机选取一个关键信息的标签,然后根据该标签的业务类型,生成不同内容的标签的业务类型,达到随机产生不同内容的关键信息的目的,不同内容的关键信息可以用于测试,避免生成的数据随机性低、同质性强以及数量少的情况发生,能够产生大量的、不同内容的关键信息作为测试数据。
在一些实施过程中,解析处理的步骤包括:
粘贴sql((Structured Query Language/结构化查询语言)建表语句ddl(DataDefinition Language/数据库模式定义语言)时,系统将根据其粘贴的ddl语句进行解析,示例性地说明:
其中一个字段‘user_name’varchar(64)not null default‘’comment‘用户姓名’则系统会进行匹配字段名称的‘user_name’以及comment中是否含有‘姓名‘二字,满足条件,则会给与业务类型的姓名类型,在生成数据时,系统会为该字段生成真实姓名的关键信息的数据。
每一种属性在系统中都有一定数据集,该数据集可在平台不定时进行维护升级,或者,也可以使用一些生成算法来生成不同属性的关键信息作为测试数据。以姓名类型为例,进行示例性的说明,属性处理的步骤包括:
数据集中不同的建表语句具有不同标签,例如姓名类型,在系统中会呈现姓名类型的第一个字,第二个字、第三个字或者其他。例如:第一个字一般有张,李,王……,第二个字亭,三,华……,第三个字段玉,梅,龙……。那系统在生成名字类型时,首先,会随机取第一个字,也可随机取一个第二个字,或者直接取第三个字,例如张亭玉,或者王梅。这样的随机匹配会随机产生大量的不同名字类型的关键信息。
在一些实施过程中,可以利用在线技术生成数据,其步骤包括:
将获取的数据集分别进行在线的所述解析处理和所述属性处理,获取包括不同的关键信息的数据文件,并所述数据文件在线导出。例如,在线利用excle-poi.jar包,可以通过java生成excel格式的数据文件,数据文件内的数据呈行列排布,每一列数据与系统的字段相匹配,可以通过navicat等数据平台工具直接导入该数据文件到系统平台的库表当中。
在一些实施过程中,可以利用离线技术生成数据,其步骤包括:
将所述解析处理和所述属性处理进行打包代码,并将打包代码离线导出。将获取的所述打包代码在离线环境条件下运行,处理所述数据集中的建表语句,确定用于测试的不同的关键信息。示例性地说明,利用大数据量java脚本进行打包代码,例如,通过java代码生成工具包,按已有的模板,已写好生成数据脚本模板,只需填充字段信息,以及数据集填充即可,生成不同可执行java脚本。用户下载该脚本到服务器上面,编辑该脚本,修改数据库链接地址以及用户名和密码,执行java com.test.java,完成离线状态下的测试数据生成。
请参阅图2,在一些实施过程中,还提供一种测试数据生成系统,包括:
采集模块,用于通过数据集获取建表语句;
解析模块,用于对所述建表语句进行解析处理,所述解析处理包括:确定所述建表语句中的关键信息,所述关键信息包括:业务类型和身份标识;
生成模块,用于将解析处理后的建表语句进行属性处理,所述属性处理包括:随机选取一关键信息,并根据该关键信息的内容随机产生不同内容的关键信息;
所述采集模块、所述解析模块和所述生成模块信号连接。
请参阅图3,所述测试数据生成系统还包括:
文件模块,所述文件模块用于将获取的数据集分别进行在线的所述解析处理和所述属性处理,获取包括不同内容的关键信息的数据文件,并数据文件在线导出;
所述文件模块与所述生成模块信号连接。
在一些实施过程中,可以利用在线技术生成数据,其步骤包括:
将获取的数据集分别进行在线的所述解析处理和所述属性处理,获取包括不同的关键信息的数据文件,并所述数据文件在线导出。例如,在线利用excle-poi.jar包,可以通过java生成excel格式的数据文件,数据文件内的数据呈行列排布,每一列数据与系统的字段相匹配,可以通过navicat等数据平台工具直接导入该数据文件到系统平台的库表当中。
请参阅图4,所述测试数据生成系统还包括:
离线代码模块,用于将所述解析处理和所述属性处理进行打包代码,并将打包代码离线导出;
所述离线代码模块与所述生成模块信号连接。
在一些实施过程中,所述离线代码模块的工作过程包括:获取所述打包代码在离线环境条件下运行,处理所述数据集中的建表语句,确定用于测试的不同内容的关键信息。
可以利用离线技术生成数据,其步骤包括:
将所述解析处理和所述属性处理进行打包代码,并将打包代码离线导出。将获取的所述打包代码在离线环境条件下运行,处理所述数据集中的建表语句,确定用于测试的不同的关键信息。示例性地说明,利用大数据量java脚本进行打包代码,例如,通过java代码生成工具包,按已有的模板,已写好生成数据脚本模板,只需填充字段信息,以及数据集填充即可,生成不同可执行java脚本。用户下载该脚本到服务器上面,编辑该脚本,修改数据库链接地址以及用户名和密码,执行java com.test.java,完成离线状态下的测试数据生成。
本发明实施例提供一种电子设备,包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当所述一个或多个处理器执行时,使得所述电子设备执行一个或多个所述的方法。本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本发明实施例还提供一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得设备执行中一个或多个所述的方法。本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (10)
1.一种测试数据生成方法,其特征在于,包括:
通过数据集获取建表语句,对所述建表语句进行解析处理,所述解析处理包括:确定所述建表语句中的关键信息,所述关键信息包括:业务类型和身份标识;
将解析处理后的建表语句进行属性处理,所述属性处理包括:随机选取一关键信息,并根据该关键信息的内容随机产生不同内容的关键信息,不同内容的所述关键信息用于测试。
2.根据权利要求1所述的测试数据生成方法,其特征在于,包括:
将获取的数据集分别进行在线的所述解析处理和所述属性处理,获取包括不同的关键信息的数据文件,并所述数据文件在线导出。
3.根据权利要求1所述的测试数据生成方法,其特征在于,包括:
将所述解析处理和所述属性处理进行打包代码,并将打包代码离线导出。
4.根据权利要求3所述的测试数据生成方法,其特征在于,将获取的所述打包代码在离线环境条件下运行,处理所述数据集中的建表语句,确定用于测试的不同的关键信息。
5.一种测试数据生成系统,其特征在于,包括:
采集模块,用于通过数据集获取建表语句;
解析模块,用于对所述建表语句进行解析处理,所述解析处理包括:确定所述建表语句中的关键信息,所述关键信息包括:业务类型和身份标识;
生成模块,用于将解析处理后的建表语句进行属性处理,所述属性处理包括:随机选取一关键信息,并根据该关键信息的内容随机产生不同内容的关键信息;
所述采集模块、所述解析模块和所述生成模块信号连接。
6.根据权利要求5所述的测试数据生成系统,其特征在于,包括:
文件模块,所述文件模块用于将获取的数据集分别进行在线的所述解析处理和所述属性处理,获取包括不同内容的关键信息的数据文件,并数据文件在线导出;
所述文件模块与所述生成模块信号连接。
7.根据权利要求5所述的测试数据生成系统,其特征在于,包括:
离线代码模块,用于将所述解析处理和所述属性处理进行打包代码,并将打包代码离线导出;
所述离线代码模块与所述生成模块信号连接。
8.根据权利要求7所述的测试数据生成系统,其特征在于,所述离线代码模块的工作过程包括:获取所述打包代码在离线环境条件下运行,处理所述数据集中的建表语句,确定用于测试的不同内容的关键信息。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当所述一个或多个处理器执行时,使得所述电子设备执行如权利要求1-4中任一所述的方法。
10.一种机器可读介质,其特征在于,其上存储有指令,当由一个或多个处理器执行时,使得设备执行如权利要求1-4中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110887757.7A CN113535585A (zh) | 2021-08-03 | 2021-08-03 | 一种测试数据生成方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110887757.7A CN113535585A (zh) | 2021-08-03 | 2021-08-03 | 一种测试数据生成方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113535585A true CN113535585A (zh) | 2021-10-22 |
Family
ID=78090345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110887757.7A Pending CN113535585A (zh) | 2021-08-03 | 2021-08-03 | 一种测试数据生成方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113535585A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030191774A1 (en) * | 1998-05-14 | 2003-10-09 | Microsoft Corporation | Test generator for database management systems providing tight joins |
CN109117377A (zh) * | 2018-08-31 | 2019-01-01 | 杭州安恒信息技术股份有限公司 | 一种基于建表语句的测试数据自动生成方法、装置及设备 |
CN109614315A (zh) * | 2018-11-06 | 2019-04-12 | 武汉达梦数据库有限公司 | 一种数据同步测试用例的自动生成方法及系统 |
CN109726096A (zh) * | 2017-10-27 | 2019-05-07 | 中移(苏州)软件技术有限公司 | 一种测试数据生成方法及装置 |
CN110908891A (zh) * | 2019-09-18 | 2020-03-24 | 泰康保险集团股份有限公司 | 一种测试数据生成方法、装置、电子设备及存储介质 |
CN111026671A (zh) * | 2019-12-16 | 2020-04-17 | 腾讯科技(深圳)有限公司 | 测试用例集构建方法和基于测试用例集的测试方法 |
CN111176976A (zh) * | 2019-08-05 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 测试数据的生成方法和装置、存储介质及电子装置 |
CN112565026A (zh) * | 2021-02-20 | 2021-03-26 | 支付宝(杭州)信息技术有限公司 | 测试帧的生成方法、装置及设备 |
-
2021
- 2021-08-03 CN CN202110887757.7A patent/CN113535585A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030191774A1 (en) * | 1998-05-14 | 2003-10-09 | Microsoft Corporation | Test generator for database management systems providing tight joins |
CN109726096A (zh) * | 2017-10-27 | 2019-05-07 | 中移(苏州)软件技术有限公司 | 一种测试数据生成方法及装置 |
CN109117377A (zh) * | 2018-08-31 | 2019-01-01 | 杭州安恒信息技术股份有限公司 | 一种基于建表语句的测试数据自动生成方法、装置及设备 |
CN109614315A (zh) * | 2018-11-06 | 2019-04-12 | 武汉达梦数据库有限公司 | 一种数据同步测试用例的自动生成方法及系统 |
CN111176976A (zh) * | 2019-08-05 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 测试数据的生成方法和装置、存储介质及电子装置 |
CN110908891A (zh) * | 2019-09-18 | 2020-03-24 | 泰康保险集团股份有限公司 | 一种测试数据生成方法、装置、电子设备及存储介质 |
CN111026671A (zh) * | 2019-12-16 | 2020-04-17 | 腾讯科技(深圳)有限公司 | 测试用例集构建方法和基于测试用例集的测试方法 |
CN112565026A (zh) * | 2021-02-20 | 2021-03-26 | 支付宝(杭州)信息技术有限公司 | 测试帧的生成方法、装置及设备 |
Non-Patent Citations (1)
Title |
---|
董敏: "基于正则表达式的测试数据自动生成技术", 《计算机工程》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020215558A1 (zh) | 数据存储方法、数据查询方法、装置、设备及存储介质 | |
US11366856B2 (en) | System and method for updating target schema of graph model | |
CN111459495B (zh) | 单元测试代码文件生成方法、电子装置及存储介质 | |
CN109710220B (zh) | 关系型数据库查询方法、装置、设备及存储介质 | |
CN107403111A (zh) | Hive数据脱敏方法及装置 | |
CN112306549A (zh) | 接口文档配置方法、装置、设备及存储介质 | |
CN117112806B (zh) | 一种基于知识图谱的信息结构化方法和装置 | |
CN113836038A (zh) | 测试数据构造方法、装置、设备及存储介质 | |
CN115391439B (zh) | 文档数据导出方法、装置、电子设备和存储介质 | |
CN111258903A (zh) | 测试用例文件转换方法、装置及存储介质 | |
CN107506190A (zh) | 基于Spring框架的XML文件修改方法及装置 | |
CN115599359A (zh) | 一种代码生成方法、装置、设备及介质 | |
CN116226159A (zh) | 元数据血缘关系分析方法、系统、设备及存储介质 | |
CN113887182A (zh) | 表格生成方法、装置、设备及存储介质 | |
CN109828897A (zh) | 一种芯片参数发送方法及装置 | |
CN113535585A (zh) | 一种测试数据生成方法及系统 | |
US7181454B1 (en) | Asset locator | |
CN112579604A (zh) | 测试系统的造数方法、装置、设备及存储介质 | |
CN113051266A (zh) | 数据处理方法、装置、计算机可读存储介质和计算机设备 | |
CN114896161A (zh) | 基于人工智能的文件构造方法、装置、计算机设备及介质 | |
CN115080616A (zh) | 字典数据获取方法、装置、存储介质及电子设备 | |
CN111556039B (zh) | 一种通用微服务的web数据导出方法及装置 | |
CN113868138A (zh) | 测试数据的获取方法、系统、设备及存储介质 | |
CN113722296A (zh) | 一种农业信息处理方法、装置、电子设备及存储介质 | |
CN112214497A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20211022 |
|
RJ01 | Rejection of invention patent application after publication |