数据生成方法及系统的制作方法

文档序号:6444933阅读:173来源:国知局
专利名称:数据生成方法及系统的制作方法
技术领域
本发明涉及数据库领域,尤其涉及一种数据生成方法及系统。
背景技术
数据库(Database,DB)是长期存储在计算机内的、有组织的、可共享的、统一管理的数据集合,是一个按数据结构来存储和管理数据的计算机软件系统。目前,常用的数据库有Oracle数据库、SQL (Structured Query Language,结构化查询语言)数据库、Sybase数据库等。软件测试是指利用测试工具按照测试方案和流程对产品进行功能和性能测试。在软件测试过程中,需要数据库录入测试数据。目前,测试数据的录入主要有两种方法,一种方法是通过软件界面(或是直接编写SQL语句)逐条录入,即手动录入测试数据;另外一种方法是编写程序,循环录入该程序所指定规则的数据。在实现本发明的过程中,发明人发现采用现有技术录入测试数据时,录入过程繁琐且耗时较长,测试数据的录入效率较低;而且采用编写的程序录入测试数据时,由于该程序指定的规则有限,会使得录入的测试数据不完整、不全面,导致录入的数据与预期目标相
差较大。

发明内容
本发明的实施例提供一种数据生成方法及系统,能够向数据库快速、高效的录入完整、全面的测试数据,从而在软件测试过程中提高测试数据的录入效率以及所录入数据的质量。为达到上述目的,本发明的实施例采用如下技术方案:—方面,本发明实施例提供了一种数据生成方法,包括:分析当前数据库中数据的配置信息,根据所述配置信息获取数据生成规则;根据所述数据生成规则生成数据。另一方面,本发明实施例还提供了一种数据生成系统,包括:分析单元,用于分析当前数据库中数据的配置信息,根据所述配置信息获取数据生成规则;生成单元,用于根据所述数据生成规则生成数据。本发明实施例提供的数据生成方法及系统,能够分析当前数据库中数据的配置信息,根据所述配置信息获取数据生成规则,并根据所述数据生成规则生成数据。采用本发明实施例提供的方法及系统,能够向数据库快速、高效的录入完整、全面的测试数据,从而提高测试数据的录入效率,同时还能够提高所录入数据的质量。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例1提供的方法的流程示意图;图2为本发明实施例2提供的方法的流程示意图;图3至图8为本发明实施例3提供的数据生成系统的结构示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。实施例1本发明实施例提供了一种数据生成方法,如图1所示,所述方法包括:101、数据生成系统分析当前数据库中数据的配置信息,根据所述配置信息,获取数据生成规则。具体的,所述配置信息包括所述数据库中的数据表的配置信息,或者用户预设的配置信息;其中,所述数据表的配置信息包括当前数据库中数据表的字段信息,所述字段信息包括该字段的字段名称、类型、长度、注释、默认值、属性、自增类型、约束等信息;所述用户预设的配置信息由用户设定,用于表征符合用户需求的数据生成规则。102、数据生成系统根据所述数据生成规则生成数据。具体的,数据生成系统生成的数据主要用于数据测试、模拟和演示等情况,尤其应用于自动化测试和数据演示方面。本发明实施例提供的数据生成方法,能够分析当前数据库中数据的配置信息,根据所述配置信息获取数据生成规则,并根据所述数据生成规则生成数据。采用本发明实施例提供的方法,能够向数据库快速、高效的录入完整、全面的测试数据,从而提高测试数据的录入效率,同时还能够提高所录入数据的质量。实施例2本发明实施例提供了一种数据生成方法,如图2所示,所述方法包括:201、数据生成系统获取数据库中的数据表的配置信息,所述配置信息包括所述数据表中各字段的字段信息,所述字段信息包括该字段的字段名称、类型、长度、注释、默认值、属性、自增类型、约束等信息。值得说明的是,数据生成系统也可以获取用户预设的配置信息,以确定数据生成规则。具体的,所述用户预设的配置信息由用户设定,用于表征用户设定的数据生成规则。202、数据生成系统分析所述数据表中各字段的字段信息,具体包括分析所述各字段的字段名称,获取组成该字段名称的英文单词组。其中,字段类型和长度等已知条件可以由数据生成系统直接确定为数据生成规则中的相应部分。值得说明的是,本发明实施例提供的技术方案主要用于分析字段信息中的字段名称和注释,其中,分析字段名称的实现方法与分析注释信息的方法相似。为了便于理解,本发明实施例以分析字段名称为例进行说明。具体的,数据生成系统可以采用如下方法分析数据表中各字段的字段名称:由于数据表的字段名称一般按照下划线规则(如记录工作邮箱的数据表的字段名称可以为:w0rk_email)或驼峰规则(如记录工作邮箱的数据表的字段名称也可以为:workEmaiI)来命名,所以本实施例中的数据生成系统可以根据字段名称中的非小写字母进行分割,或者也可以直接根据大写字母,下划线对字段名称进行分割,并过滤无实际意义的单字母、字符串(例如匈牙利命名规则的类型前缀、无实际意义的数字、缩写等字符),获取组成字段名称的英文单词组。例如:当字段名称为WOrk_email时,数据生成系统可以获取该字段名称的英文单词组为work和email两部分;当字段名称为workEmail时,数据生成系统可以获取该字段名称的英文单词组为work和email两部分;当字段名称为CWorkEmail时,如果数据表定义中已经包括类型定义,则数据生成系统可以获取该字段名称的英文单词组为work和email两部分;如果该字段的数据来源不是数据表,则数据生成系统可以通过c认定该字段为字符串类型,同时获取该字段名称的英文单词组为work和email两部分。值得说明的是,上述方法仅为本发明实施例提供的从数据表中各字段的字段名称中获取该字段名称的英文字母组的一种实现方法,实际应用时不仅限于此。203、数据生成系统查询规则数据库,获取所述各字段的可选规则。其中,所述规则数据库中存储有字段名称和数据生成规则的对应关系,用于确定各字段的可选规则。具体的,数据生成系统可以查询规则数据库,获取与所述英文单词组中任意个英文单词组合对应的数据生成规则。例如,根据步骤202中所举示例,当数据生成系统获取字段名称的英文单词组包括work和email两部分时,则在规则数据库中查询work_email、work和email三个名称对应的数据生成规则,从规则数据库中返回的规则即为work_email字段的可选规则。进一步的,如果数据表中的字段名称为A_B_C(A、B、C均为英文单词),则数据生成系统获取的字段名称的英文单词组包括单词A、单词B以及单词C三个部分,则在规则数据库中查询包括单词A、单词B以及单词C三个单词中任意数量个英文单词组合对应的数据生成规则,即在规则数据库中查询A、B、C、A_B、A_C、B_C以及A_B_C七个名称对应的数据生成规则,从规则数据库中返回的规则即为该字段的可选规则。值得说明的是,在获得可选规则之后,将更新规则数据库,完善字段与规则的对应关系。例如:当查询work_email对应的数据生成规则时,如果查询结果规则数据库仅返回了名称为“ emai I ”的数据生成规则,则将WOrk_emai I字段与“ emai I ”规则的对应关系插入到规则数据库中。采用本方案,可以在下次查询work_email字段时,能直接得到可选规则,并且使得数据生成系统系统具备一定的学习能力。优选的,如果规则数据库返回的可选规则不为空,则根据字段的长度、类型等已知属性进一步过滤无效规则,例如:当指定字段的长度与返回的可选规则的长度不符时,则过滤掉该规则;如果可选规则为空,则数据生成系统根据已知字段属性确定简单基本的规则,如长度为36以内的字符串、格式为完整年月日的日期等。可选的,本发明实施例还提供了两种获取数据生成规则的方法,具体如下:(I)数据生成系统查询分析数据表中的已存数据,获取所述已存数据的数据格式,确定与该数据格式相匹配的数据生成规则。(2)数据生成系统对数据表字段的验证规则进行反向解析,获取数据生成规则,具体包括:对所述数据表字段的验证正则表达式进行反向解析,获取当前数据库的数据生成规则;或者编写数据表字段的数据验证规则的反向方法,获取当前数据库的数据生成规则。值得说明的是,本发明实施例提供的获取数据生成规则的方法不仅限于此。204、数据生成系统根据获取的各字段的生成规则生成数据。具体的,数据生成系统生成的数据主要用于数据测试、模拟和演示等情况,对自动化测试和数据演示有重要作用。值得说明的是,当数据生成系统获取各字段的生成规则之后,可以采用但不限于如下方法生成数据:数据生成系统通过预设程序生成符合所述数据生成规则的数据;或者数据库通过字段定义的外键或用户自定义的关联外键,确定符合所述数据生成规则的数据来源,获取数据;或者数据生成系统通过分类词库获取符合所述数据生成规则的数据来源,从所述数据来源获取数据;或者数据生成系统通过网络数据获取数据来源,根据所述数据生成规则进行解析,从所述数据来源获取符合所述数据生成规则的数据。值得说明的是,本发明实施例中数据生成系统对数据表中注释等文字型属性的解析与字段名称的解析过程类似,此处不再赘述。本发明实施例提供的数据生成方法,能够分析数据表中的配置信息或者用户预设的配置信息,获取数据生成规则,并根据所述数据生成规则生成数据。采用本发明实施例提供的方法,能够向数据库快速、高效的录入完整、全面的测试数据,从而提高测试数据的录入效率,同时还能够提高所录入数据的质量。实施例3本发明实施例提供了一种数据生成系统,能够实现上述方法实施例,如图3所示,所述数据生成系统包括:分析单元31,用于分析当前数据库中数据的配置信息,根据所述配置信息获取数据生成规则;生成单元32,用于根据所述数据生成规则生成数据。进一步的,如图4所示,所述数据生成系统还包括第一获取单元33或第二获取单元34,其中:第一获取单元33用于获取所述数据库中的数据表的配置信息,所述配置信息包括所述数据表中各字段的字段信息,所述字段信息包括所述数据库中各字段的字段名称;或者第二获取单元34用于获取用户预设的配置信息,所述配置信息用于表征用户设定的数据生成规则。进一步的,如图5所示,所述分析单元31包括第一分析子单元311和第二分析子单元312,其中:第一分析子单元311用于当所述数据生成系统通过所述第一获取单元33获取所述数据库中的数据表的配置信息时,分析所述数据表中各字段的字段名称,获取组成该字段名称的英文单词组,所述英文单词组中包括至少一个英文单词;第二分析子单元312用于查询规则数据库,获取与所述英文单词组中任意数量个英文单词组合对应的数据生成规则,同时滤除无效的数据生成规则,其中,所述规则数据库用于存储所述数据库中字段名称的英文单词与数据生成规则的对应关系,用于确定各字段可选的数据生成规则。根据图4所述的数据生成系统,进一步的,如图6所示,所述分析单元31包括第三分析子单元313,用于当所述数据生成系统通过所述第一获取单元33获取所述数据库中的数据表的配置信息时,分析数据表中的已存数据,获取所述已存数据的数据格式,确定与该数据格式相匹配的数据生成规则。根据图4所述的数据生成系统,进一步的,如图7所示,所述分析单元31还包括第四分析子单元314,所述第四分析子单元314具体还包括第一处理模块3141和/或第二处理模块3142,其中:第四分析子单元314用于当所述数据生成系统通过所述第一获取单元33获取所述数据库中的数据表的配置信息时,对所述数据表字段的验证规则进行反向解析,获取数据生成规则;具体的,第一处理模块3141用于对所述数据表字段的验证正则表达式进行反向解析,获取所述数据表的数据生成规则;第二处理模块3142用于编写所述数据表字段的验证规则的反向方法,获取所述数据表的数据生成规则。根据图4至图7中任一图所示的数据生成系统,进一步的,如图8所示,所述生成单元32包括第一生成子单元321、第二生成子单元322、第三生成子单元323以及第四生成子单元324中的至少一个,其中:第一生成子单元321用于通过预设程序生成符合所述数据生成规则的数据;第二生成子单元322用于通过字段定义的外键或用户自定义的关联外键,确定符合所述数据生成规则的数据来源,获取数据;第三生成子单元323用于通过分类词库获取符合所述数据生成规则的数据来源,从所述数据来源获取数据;第四生成子单元324用于通过网络数据获取数据来源,根据所述数据生成规则进行解析,从所述数据来源获取符合所述数据生成规则的数据。具体的,本发明实施例提供的数据生成系统生成的数据主要用于数据测试、模拟和演示等情况,对自动化测试和数据演示有重要作用。本发明实施例提供的数据生成系统,通过分析单元31获取数据生成规则,由生成单元32根据所述数据生成规则生成数据,以录入数据库进行检测。采用本发明实施例提供的数据生成系统,能够快速、高效的录入完整、全面的测试数据,从而提高测试数据的录入效率,同时还能够提高所录入数据的质量。通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
权利要求
1.一种数据生成方法,其特征在于,包括: 分析当前数据库中数据的配置信息,根据所述配置信息获取数据生成规则; 根据所述数据生成规则生成数据。
2.根据权利要求1所述的方法,其特征在于,所述配置信息包括所述数据库中的数据表的配置信息,或者用户预设的配置信息; 所述分析当前数据库中数据的配置信息,根据所述配置信息获取数据生成规则之前,还包括: 获取所述数据库中的数据表的配置信息,所述配置信息包括所述数据表中的字段信息,所述字段信息包括所述数据库中各字段的字段名称;或者 获取用户预设的配置信息,所述配置信息用于表征用户设定的数据生成规则。
3.根据权利要求2所述的方法,其特征在于,当获取所述数据库中的数据表的配置信息时,所述分析当前数据库中数据的配置信息,根据所述配置信息获取数据生成规则包括: 分析所述数据表中各字段的字段名称,获取组成该字段名称的英文单词组,所述英文单词组中包括至少一个英文单词; 查询规则数据库,获取与所述英文单词组中任意数量个英文单词组合对应的数据生成规则,同时滤除无效的数据生成规则,其中,所述规则数据库用于存储所述数据库中字段名称的英文单词与数据生成规则的对应关系,用于确定各字段可选的数据生成规则。
4.根据权利要求2所述的方法,其特征在于 ,当获取所述数据库中的数据表的配置信息时,所述分析当前数据库中数据的配置信息,根据所述配置信息获取数据生成规则包括: 分析数据表中的已存数据,获取所述已存数据的数据格式,确定与该数据格式相匹配的数据生成规则。
5.根据权利要求2所述的方法,其特征在于,当获取所述数据库中的数据表的配置信息时,所述分析当前数据库中数据的配置信息,根据所述配置信息获取数据生成规包括: 对所述数据表字段的验证规则进行反向解析,获取数据生成规则。
6.根据权利要求5所述的方法,其特征在于,所述对所述数据表字段的验证规则进行反向解析,获取数据生成规则包括: 对所述数据表字段的验证正则表达式进行反向解析,获取当前数据库的数据生成规则;或者 编写所述数据表字段的验证规则的反向方法,获取所述数据表的数据生成规则。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述根据所述数据生成规则生成数据包括: 通过预设程序生成符合所述数据生成规则的数据;或者 通过字段定义的外键或用户自定义的关联外键,确定符合所述数据生成规则的数据来源,获取数据;或者 通过分类词库获取符合所述数据生成规则的数据来源,从所述数据来源获取数据;或者 通过网络数据获取数据来源,根据所述数据生成规则进行解析,从所述数据来源获取符合所述数据生成规则的数据。
8.一种数据生成系统,其特征在于,包括: 分析单元,用于分析当前数据库中数据的配置信息,根据所述配置信息获取数据生成规则; 生成单元,用于根据所述数据生成规则生成数据。
9.根据权利要求8所述的数据生成系统,其特征在于,所述数据生成系统还包括: 第一获取单元,用于获取所述数据库中的数据表的配置信息,所述配置信息包括所述数据表中各字段的字段信息,所述字段信息包括所述数据库中各字段的字段名称;或者第二获取单元,用于获取用户预设的配置信息,所述配置信息用于表征用户设定的数据生成规则。
10.根据权利要求9所述的数据生成系统,其特征在于,所述分析单元包括: 第一分析子单元,用于当所述数据生成系统通过所述第一获取单元获取所述数据库中的数据表的配置信息时,分析所述数据表中各字段的字段名称,获取组成该字段名称的英文单词组,所述英文单词组中包括至少一个英文单词; 第二分析子单元,用于查询规则数据库,获取与所述英文单词组中任意数量个英文单词组合对应的数据生成规则,同时滤除无效的数据生成规则,其中,所述规则数据库用于存储所述数据库中字段名称的英文单词与数据生成规则的对应关系,用于确定各字段可选的数据生成规则。
11.根据权利要求9所述的数据生成系统,其特征在于,所述分析单元还包括: 第三分析子单元,用于 当所述数据生成系统通过所述第一获取单元获取所述数据库中的数据表的配置信息时,分析数据表中的已存数据,获取所述已存数据的数据格式,确定与该数据格式相匹配的数据生成规则。
12.根据权利要求9所述的数据生成系统,其特征在于,所述分析单元还包括: 第四分析子单元,用于当所述数据生成系统通过所述第一获取单元获取所述数据库中的数据表的配置信息时,对所述数据表字段的验证规则进行反向解析,获取数据生成规则。
13.根据权利要求12所述的数据生成系统,其特征在于,所述第四分析子单元包括: 第一处理模块,用于对所述数据表字段的验证正则表达式进行反向解析,获取当前数据表的数据生成规则;或者 第二处理模块,用于编写所述数据表字段的验证规则的反向方法,获取当前数据表的数据生成规则。
14.根据权利要求8-13中任一项所述的数据生成系统,其特征在于,所述生成单元包括: 第一生成子单元,用于通过预设程序生成符合所述数据生成规则的数据;或者第二生成子单元,用于通过字段定义的外键或用户自定义的关联外键,确定符合所述数据生成规则的数据来源,获取数据;或者 第三生成子单元,用于通过分类词库获取符合所述数据生成规则的数据来源,从所述数据来源获取数据;或者 第四生成子单元,用于通过网络数据获取数据来源,根据所述数据生成规则进行解析,从所述数据来源获取符合所述数据生成规则的数据。
全文摘要
本发明公开了一种数据生成方法及系统,涉及数据库领域,用于解决现有技术中录入的测试数据不完整、不全面,导致录入的数据与预期目标相差较大的问题。本发明提供的方法包括分析当前数据库中数据的配置信息,根据所述配置信息获取数据生成规则;根据所述数据生成规则生成数据。本发明适用于数据库领域,用于生成数据。
文档编号G06F17/30GK103186639SQ20111046036
公开日2013年7月3日 申请日期2011年12月31日 优先权日2011年12月31日
发明者黄长标 申请人:腾讯科技(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1