一种数据库的测试数据的自动生成方法、装置及测试系统的制作方法_3

文档序号:9750723阅读:来源:国知局
明的数据库的测试数据的自动生成装置,解决了字段关联外键识别难的技术难题,能够提供多种灵活的测试数据生成规则,实现智能化插入,同时能够大量且高速地生成符合要求的测试数据,提高了软件开发与测试的效率。
[0075]数据库的测试数据的自动生成系统
[0076]下面,基于图7来说明本发明提供的数据库的测试数据的自动生成系统。图7示出了,本申请的一种数据库测试系统,包括用户界面和数据库,还包括如上所述的数据库的测试数据的自动生成装置;其中,用户通过用户界面操作测试数据的自动生成装置,生成测试数据并插入到数据库表中。用户使用该用户界面,通过该自动生成装置可以登录数据库,查询数据库中的数据库表及其字段,该自动生成装置会在该用户界面上返回数据库表字段、字段的类型、字段是否唯一、字段是否可为空、字段是否关联外键、该数据库表的建表语句等。用户在该界面中选择字段的生成规则和/或插入规则,然后选择执行操作,该自动生成装置根据用户配置的生成规则及插入规则在数据库表中插入(生成)数据,然后返回结果界面。用户界面是人机交互接口,供用户输入指定信息,并且按照特定的显示规则显示设备呈现给人的各种结果。在本申请中,用户通过用户界面可以输入要登陆的数据库的服务器名、数据库名、用户以及密码等信息,返回给用户的信息就是指上述数据库表字段、字段的类型、字段是否唯一、字段是否可为空、字段是否关联外键、该数据库表的建表语句等信息。
[0077]根据本发明的数据库的测试数据的自动生成系统,解决了字段关联外键识别难的技术难题,能够提供多种灵活的测试数据生成规则,实现智能化插入,同时能够大量且高速地生成符合要求的测试数据,提高了软件开发与测试的效率,同时由于能够通过可视化用户界面来选择目标数据库表以及生成规则以及插入规则,对于用户而言,操作形象直观,能够提高软件开发与测试的效率。
[0078]在本申请中,根据存储模型划分,数据库类型主要可分为:网状数据库(NetworkDatabase)、关系数据库(Relat1nal Database)、树状数据库(Hierarchical Database)、面向对象数据库(Object-oriented Database)等,但是不限于此。其中,关系数据库包括例如0racle、DB2、Sybase、MS SQL Server、Informax、MySQL等,但是不限于此。
[0079]对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
【主权项】
1.一种数据库的测试数据的自动生成方法,其特征在于,包括以下步骤: 51、选择需要生成测试数据的数据库表; 52、查询所述数据库表的参数; 53、根据所述数据库表的所述参数来选择所述测试数据的生成规则,生成测试数据;以及 54、选择所述测试数据的插入规则,基于所述插入规则将生成的所述测试数据插入到所述数据库表中。2.根据权利要求1所述的自动生成方法,其特征在于,所述参数包括:所述数据库表的字段名称、字段类型、字段是否唯一、字段是否可为空、以及字段是否为关联外键。3.根据权利要求2所述的自动生成方法,其特征在于,通过编程语句获取所述字段名称、字段类型、字段是否唯一以及字段是否可为空,其中,所述编程语句包括java语句。4.根据权利要求2所述的自动生成方法,其特征在于,所述步骤S2还包括获取所述字段是否为关联外键的步骤,用于获取所述字段是否为关联外键,包括: 521、获取该数据库表的建表语句;以及 522、解析所述建表语句,确定所述建表语句中是否存在外键,如果存在,所述字段为关联外键,并基于所述建表语句确定与所述外键相关联的其他数据库表。5.根据权利要求1所述的自动生成方法,其特征在于,所述测试数据的所述生成规则包括:根据随机数生成、通过输入生成、根据配置文件生成、根据数据库中已有的数据库表中的数据生成,其中,生成每个所述测试数据的所述生成规则相同或者不同。6.根据权利要求1-5之一所述的自动生成方法,其特征在于,所述步骤S4还包括生成所述插入规则的步骤,用于生成所述插入规则,包括: 541、生成存储有插入规则的插入配置文件; 542、初始化所述插入配置文件,在所述插入配置文件中初始化每条插入数据的初始插入量; 543、确定待插入的字段的数量、大小和类型,使用所述初始插入量进行数据的插入,并确定初始插入速度;以及 544、调整所述初始插入量,并记录相应的插入速度,进行多次调整以确定最大插入速度及相应的数据插入量,使用与所述最大插入速度相应的所述数据插入量来更新所述插入配置文件中的所述初始插入速度,生成所述插入配置文件。7.一种数据库的测试数据的自动生成装置,其特征在于,包括: 选择模块,用于选择需要生成测试数据的数据库表; 查询模块,用于查询所述数据库表的参数; 测试数据生成模块,用于根据所述数据库表的所述参数来选择所述测试数据的生成规贝IJ,生成测试数据;以及 测试数据插入模块,用于选择所述测试数据的插入规则,基于所述插入规则将生成的所述测试数据插入到所述数据库表中。8.根据权利要求7所述的自动生成装置,其特征在于,所述参数包括:所述数据库表的字段名称、字段类型、字段是否唯一、字段是否可为空、以及字段是否为关联外键。9.根据权利要求8所述的自动生成装置,其特征在于,通过编程语句获取所述字段名称、字段类型、字段是否唯一以及字段是否可为空,其中,所述编程语句包括java语句。10.根据权利要求8所述的自动生成装置,其特征在于,所述查询模块包括关联外键获取模块,用于获取所述字段是否为关联外键,所述关联外键获取模块包括: 获取模块,用于获取该数据库表的建表语句;以及 解析模块,用于解析所述建表语句,确定所述建表语句中是否存在外键,如果存在,所述字段为关联外键,并基于所述建表语句确定与所述外键相关联的其他数据库表。11.根据权利要求7所述的装置,其特征在于,所述测试数据的所述生成规则包括:根据随机数生成、通过输入生成、根据配置文件生成、根据数据库中已有的数据库表中的数据生成,其中,生成每个所述测试数据的所述生成规则相同或者不同。12.根据权利要求7-11之一所述的装置,其特征在于,所述测试数据插入模块还包括插入规则生成模块,用于生成所述插入规则,所述插入规则生成模块包括: 插入配置文件生成模块,用于生成存储有插入规则的插入配置文件; 初始化模块,用于初始化所述插入配置文件,在所述插入配置文件中初始化每条插入数据的初始插入量; 确定模块,用于确定待插入的字段的数量、大小和类型,使用所述初始插入量进行数据的插入,并确定初始插入速度;以及 调整模块,用于调整所述初始插入量,并记录相应的插入速度,进行多次调整以确定最大插入速度及相应的数据插入量,使用与所述最大插入速度相应的所述数据插入量来更新所述插入配置文件中的所述初始插入速度,生成所述插入配置文件。13.—种数据库测试系统,包括用户界面和数据库,其特征在于:还包括如权利要求7-12之一所述的数据库的测试数据的自动生成装置; 其中,用户通过所述用户界面操作所述测试数据的自动生成装置,生成所述测试数据并插入到所述数据库中。
【专利摘要】本发明提供了一种数据库的测试数据的自动生成方法、装置及测试系统,所述方法包括:选择需要生成测试数据的数据库表;查询所述数据库表的参数;根据所述数据库表的所述参数选择所述测试数据的生成规则,生成测试数据;选择所述测试数据的插入规则,基于所述插入规则将生成的所述测试数据插入到数据库表中。本发明解决了字段关联外键识别的技术难题,提供了多种灵活的测试数据生成规则,提出智能化插入规则,使数据插入速度大幅提供,提供了用户界面,易于操作。
【IPC分类】G06F11/36
【公开号】CN105512042
【申请号】CN201510981715
【发明人】区洪杨, 张伟昌
【申请人】广东金赋信息科技有限公司
【公开日】2016年4月20日
【申请日】2015年12月22日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1