一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种测试数据生成方法及系统与流程

2021-10-24 14:28:00 来源:中国专利 TAG:生成 测试数据 测试 方法 系统


1.本发明涉及测试技术领域,特别是涉及一种测试数据生成方法及系统。


背景技术:

2.在项目上线之前,往往需要对项目的性能、稳定性等指标进行测试,一般通过测试数据来运行或测定某个项目,其目的在于检验该项目是否满足规定的需求或弄清预期结果与实际结果之间的差别。而现有测试数据的生成方法主要通过主动条件字段,或者,通过代码脚本和存储过程中插入规律性的数据。不仅工作量大,而且不便于制造大量的、可靠的测试数据。


技术实现要素:

3.鉴于以上所述现有技术的缺点,本发明的目的在于提供一种测试数据生成方法及系统,用于解决现有技术中不便于生成大量的、可靠的测试数据的问题。
4.为实现上述目的及其他相关目的,本发明提供一种测试数据生成方法,包括:
5.通过数据集获取建表语句,对所述建表语句进行解析处理,所述解析处理包括:确定所述建表语句中的关键信息,所述关键信息包括:业务类型和身份标识;
6.将解析处理后的建表语句进行属性处理,所述属性处理包括:随机选取一关键信息,并根据该关键信息的内容随机产生不同内容的关键信息,不同内容的所述关键信息用于测试。
7.可选的,包括:
8.将获取的数据集分别进行在线的所述解析处理和所述属性处理,获取包括不同的关键信息的数据文件,并所述数据文件在线导出。
9.可选的,包括:
10.将所述解析处理和所述属性处理进行打包代码,并将打包代码离线导出。
11.可选的,将获取的所述打包代码在离线环境条件下运行,处理所述数据集中的建表语句,确定用于测试的不同的关键信息。
12.一种测试数据生成系统,包括:
13.采集模块,用于通过数据集获取建表语句;
14.解析模块,用于对所述建表语句进行解析处理,所述解析处理包括:确定所述建表语句中的关键信息,所述关键信息包括:业务类型和身份标识;
15.生成模块,用于将解析处理后的建表语句进行属性处理,所述属性处理包括:随机选取一关键信息,并根据该关键信息的内容随机产生不同内容的关键信息;
16.所述采集模块、所述解析模块和所述生成模块信号连接。
17.可选的,包括:
18.文件模块,所述文件模块用于将获取的数据集分别进行在线的所述解析处理和所述属性处理,获取包括不同内容的关键信息的数据文件,并数据文件在线导出;
19.所述文件模块与所述生成模块信号连接。
20.可选的,包括:
21.离线代码模块,用于将所述解析处理和所述属性处理进行打包代码,并将打包代码离线导出;
22.所述离线代码模块与所述生成模块信号连接。
23.可选的,所述离线代码模块的工作过程包括:获取所述打包代码在离线环境条件下运行,处理所述数据集中的建表语句,确定用于测试的不同内容的关键信息。
24.一种电子设备,包括:
25.一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当所述一个或多个处理器执行时,使得所述电子设备执行所述的方法。
26.一种机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得设备执行所述的方法。
27.如上所述,本发明的测试数据生成方法及系统,具有以下有益效果:
28.通过数据集获取建表语句,对所述建表语句进行解析处理,获取语句中关键信息,通过随机选取一个关键信息的标签,然后根据该标签的关键信息,生成不同内容的标签的关键信息,达到随机产生不同内容的关键信息的目的,不同内容的关键信息可以用于测试,避免生成的数据随机性低、同质性强以及数量少的情况发生,能够产生大量的、不同内容的关键信息作为测试数据。
附图说明
29.图1显示为本发明实施例的测试数据生成方法的示意图。
30.图2显示为本发明一实施例的测试数据生成系统的示意图。
31.图3显示为本发明另一实施例的测试数据生成系统的示意图。
32.图4显示为本发明又一实施例的测试数据生成系统的示意图。
具体实施方式
33.以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
34.需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。本说明书所附图式所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。同时,本说明书中所引用的如“上”、“下”、“左”、“右”、“中间”及“一”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变
更技术内容下,当亦视为本发明可实施的范畴。
35.请参阅图1,本发明提供一种测试数据生成方法,包括:
36.s1:通过数据集获取建表语句,对所述建表语句进行解析处理,所述解析处理包括:确定所述建表语句中的关键信息,所述关键信息包括:业务类型和身份标识,例如,可以从各行业字典数据集、用户数据集或者日志数据集中获取建表语句,并对建表语句进行解析处理,获取语句中关键信息,并将业务类型和身份标识进行匹配;
37.s2:将解析处理后的建表语句进行属性处理,所述属性处理包括:随机选取一关键信息,并根据该关键信息的内容随机产生不同内容的关键信息,不同内容的所述关键信息用于测试。建表语句中往往会有不同的属性分类,例如,业务类型为工作类型时,其身份标识可能是医生、教师、程序员、董事等等,可以将业务类型的内容进行标签化,通过随机选取一个关键信息的标签,然后根据该标签的业务类型,生成不同内容的标签的业务类型,达到随机产生不同内容的关键信息的目的,不同内容的关键信息可以用于测试,避免生成的数据随机性低、同质性强以及数量少的情况发生,能够产生大量的、不同内容的关键信息作为测试数据。
38.在一些实施过程中,解析处理的步骤包括:
39.粘贴sql((structured query language/结构化查询语言)建表语句ddl(data definition language/数据库模式定义语言)时,系统将根据其粘贴的ddl语句进行解析,示例性地说明:
[0040][0041][0042]
其中一个字段

user_name’varchar(64)not null default
‘’
comment

用户姓名’则系统会进行匹配字段名称的

user_name’以及comment中是否含有

姓名

二字,满足条件,则会给与业务类型的姓名类型,在生成数据时,系统会为该字段生成真实姓名的关键信息的数据。
[0043]
每一种属性在系统中都有一定数据集,该数据集可在平台不定时进行维护升级,或者,也可以使用一些生成算法来生成不同属性的关键信息作为测试数据。以姓名类型为例,进行示例性的说明,属性处理的步骤包括:
[0044]
数据集中不同的建表语句具有不同标签,例如姓名类型,在系统中会呈现姓名类型的第一个字,第二个字、第三个字或者其他。例如:第一个字一般有张,李,王
……
,第二个字亭,三,华
……
,第三个字段玉,梅,龙
……
。那系统在生成名字类型时,首先,会随机取第一个字,也可随机取一个第二个字,或者直接取第三个字,例如张亭玉,或者王梅。这样的随机匹配会随机产生大量的不同名字类型的关键信息。
[0045]
在一些实施过程中,可以利用在线技术生成数据,其步骤包括:
[0046]
将获取的数据集分别进行在线的所述解析处理和所述属性处理,获取包括不同的关键信息的数据文件,并所述数据文件在线导出。例如,在线利用excle

poi.jar包,可以通
过java生成excel格式的数据文件,数据文件内的数据呈行列排布,每一列数据与系统的字段相匹配,可以通过navicat等数据平台工具直接导入该数据文件到系统平台的库表当中。
[0047]
在一些实施过程中,可以利用离线技术生成数据,其步骤包括:
[0048]
将所述解析处理和所述属性处理进行打包代码,并将打包代码离线导出。将获取的所述打包代码在离线环境条件下运行,处理所述数据集中的建表语句,确定用于测试的不同的关键信息。示例性地说明,利用大数据量java脚本进行打包代码,例如,通过java代码生成工具包,按已有的模板,已写好生成数据脚本模板,只需填充字段信息,以及数据集填充即可,生成不同可执行java脚本。用户下载该脚本到服务器上面,编辑该脚本,修改数据库链接地址以及用户名和密码,执行java com.test.java,完成离线状态下的测试数据生成。
[0049]
请参阅图2,在一些实施过程中,还提供一种测试数据生成系统,包括:
[0050]
采集模块,用于通过数据集获取建表语句;
[0051]
解析模块,用于对所述建表语句进行解析处理,所述解析处理包括:确定所述建表语句中的关键信息,所述关键信息包括:业务类型和身份标识;
[0052]
生成模块,用于将解析处理后的建表语句进行属性处理,所述属性处理包括:随机选取一关键信息,并根据该关键信息的内容随机产生不同内容的关键信息;
[0053]
所述采集模块、所述解析模块和所述生成模块信号连接。
[0054]
请参阅图3,所述测试数据生成系统还包括:
[0055]
文件模块,所述文件模块用于将获取的数据集分别进行在线的所述解析处理和所述属性处理,获取包括不同内容的关键信息的数据文件,并数据文件在线导出;
[0056]
所述文件模块与所述生成模块信号连接。
[0057]
在一些实施过程中,可以利用在线技术生成数据,其步骤包括:
[0058]
将获取的数据集分别进行在线的所述解析处理和所述属性处理,获取包括不同的关键信息的数据文件,并所述数据文件在线导出。例如,在线利用excle

poi.jar包,可以通过java生成excel格式的数据文件,数据文件内的数据呈行列排布,每一列数据与系统的字段相匹配,可以通过navicat等数据平台工具直接导入该数据文件到系统平台的库表当中。
[0059]
请参阅图4,所述测试数据生成系统还包括:
[0060]
离线代码模块,用于将所述解析处理和所述属性处理进行打包代码,并将打包代码离线导出;
[0061]
所述离线代码模块与所述生成模块信号连接。
[0062]
在一些实施过程中,所述离线代码模块的工作过程包括:获取所述打包代码在离线环境条件下运行,处理所述数据集中的建表语句,确定用于测试的不同内容的关键信息。
[0063]
可以利用离线技术生成数据,其步骤包括:
[0064]
将所述解析处理和所述属性处理进行打包代码,并将打包代码离线导出。将获取的所述打包代码在离线环境条件下运行,处理所述数据集中的建表语句,确定用于测试的不同的关键信息。示例性地说明,利用大数据量java脚本进行打包代码,例如,通过java代码生成工具包,按已有的模板,已写好生成数据脚本模板,只需填充字段信息,以及数据集填充即可,生成不同可执行java脚本。用户下载该脚本到服务器上面,编辑该脚本,修改数据库链接地址以及用户名和密码,执行java com.test.java,完成离线状态下的测试数据
生成。
[0065]
本发明实施例提供一种电子设备,包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当所述一个或多个处理器执行时,使得所述电子设备执行一个或多个所述的方法。本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
[0066]
本发明实施例还提供一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得设备执行中一个或多个所述的方法。本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0067]
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜