一种基于多数据库类型的测试数据自动构造方法技术

技术编号:23445547 阅读:49 留言:0更新日期:2020-02-28 19:48
本发明专利技术提供了一种基于多数据库类型的测试数据自动构造方法,包括如下步骤:S1.输入配置信息;S2.配置解析模块,读取配置信息;S3.调度模块读取数据库类型调用相应代码;本发明专利技术所述的一种基于多数据库类型的测试数据自动构造方法进一步丰富了数据构造工具的功能:集成了多种数据库类型的数据构造功能;除了常用的数据类型外,还增加了数组、Json等非关系数据库支持的类型;丰富灵活的数据生成规则。

An automatic construction method of test data based on multi database type

【技术实现步骤摘要】
一种基于多数据库类型的测试数据自动构造方法
本专利技术属于互联网领域,尤其是涉及一种基于多数据库类型的测试数据自动构造方法。
技术介绍
如今的互联网属于大数据时代,数据是产品的主心骨。要保证数据正常执行、大数据产品质量,测试过程中需要从数据源出发:根据业务特点构建多样化的测试数据,同时还需要构造海量数据进行测试,查看系统业务是否正常。所以,大数据测试工作中,构造测试数据是必备的前提工作。构造测试数据时,一个个的创建不同类型的数据库表,再一条条的创建数据并插入数据,效率低下且步骤繁琐。另一方面,测试数据需要满足输入限制规则,且尽可能覆盖到满足规则的不同类型的数据。考虑到以上情况,自动化构造数据可大幅度提升测试效率。随着数据种类增多,数据量增大,应用需求多样化,数据库种类的不断增多,目前的数据构造工具就存在一些弊端:无法提供多数据库类型的随意切换,数据类型不够丰富,数据生成规则不够灵活、千万级数据量的执行效率不可控。
技术实现思路
有鉴于此,本专利技术旨在提出一种基于多数据库类型的测试数据自动构造方法,以提高数据构造执行效率。为达到上述目的,本专利技术的技术方案是这样实现的:一种基于多数据库类型的测试数据自动构造方法,包括如下步骤:S1.输入配置信息;S2.配置解析模块,读取配置信息;S3.调度模块读取数据库类型调用相应代码;S4.连接数据库判断库表是否存在;A1.存在,跳过步骤S5;A2.不存在,依次执行步骤;S5.调用数据库操作模块,创建库表;S6.执行模块读取数据量、线程数,均衡分布单线程的数据量;S7.数据生成模块,读取配置的数据规则生成数据,将所有表字段的生成数据组合成一条待入库数据;S8.执行数据库操作模块的插入操作,将组合后的数据插入到目标库表;S9.判断线程数、数据量循环是否结束;B1.结束,步骤依次执行;B2.未结束,跳入步骤S7;S10.输出结果。进一步的,所述步骤S1输入配置信息包括两种方法:C1.通过可视化界面直接进行输入;C2.通过上传包含配置信息的.yaml配置文件,配置信息包括数据库类型配置、数据库连接信息配置、数据量配置、数据库表结构配置、表字段类型配置、数据生成规则配置、执行线程数配置。进一步的,所述步骤S2配置解析模块,读取配置信息方法包括:配置解析模块会解析配置文件,将数据库相关信息进行结构化处理、变量化,后面可直接调用;根据数据库类型、表结构信息,按需生成SQL语句,供后面执行数据库操作时使用。进一步的,所述步骤S3调度模块读取数据库类型调用相应代码的方法包括:调度模块读取数据库类型,调用对应的数据库执行代码,执行连接数据库操作。进一步的,所述步骤S6执行模块读取数据量、线程数,均衡分布单线程的数据量的方法包括:执行模块会读取数据量、线程数,根据数据量和线程数计算出单个线程需要执行的数据入库量,以达到均衡并发执行。进一步的,所述步骤S7的方法包括:调度模块根据配置文件中每个表字段的数据类型,调用对应数据类型的数据生成模块,数据生成模块根据数据生成规则生成数据,每个字段的数据生成完毕后进行组合,组合成一条待插入的测试数据进一步的,所述步骤S10输出结果包括:系统输出入库成功总数据量及执行时长。相对于现有技术,本专利技术具有以下优势:(1)本专利技术简化了工具的使用性:以可视化的方式输入配置信息,并对输入的数据库类型、数据字段类型等信息做合理校验,执行完毕后,系统返回入库总数量及入库时长给用户查看,提高工具的交互性。(2)进一步丰富了数据构造工具的功能:集成了多种数据库类型的数据构造功能;除了常用的数据类型外,还增加了数组、Json等非关系数据库支持的类型;丰富灵活的数据生成规则。(3)为了有效控制数据构造执行效率,用户可自行根据数据量设置线程数,系统会根据线程数、数据量均衡分布单线程的数据量,合理的控制数据构造执行效率。附图说明构成本专利技术的一部分的附图用来提供对本专利技术的进一步理解,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1为本专利技术实施例所述的系统流程图;具体实施方式需要说明的是,在不冲突的情况下,本专利技术中的实施例及实施例中的特征可以相互组合。在本专利技术的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本专利技术的描述中,除非另有说明,“多个”的含义是两个或两个以上。在本专利技术的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以通过具体情况理解上述术语在本专利技术中的具体含义。下面将参考附图并结合实施例来详细说明本专利技术。根据图1所示,包括如下步骤1)输入配置信息,通过两种方式实现:1、通过可视化界面直接进行输入。2、通过上传包含配置信息的.yaml配置文件。配置信息包括数据库类型配置、数据库连接信息配置、数据量配置、数据库表结构配置、表字段类型配置、数据生成规则配置、执行线程数配置。2)配置解析模块会解析配置文件,将数据库相关信息进行结构化处理、变量化,后面可直接调用;根据数据库类型、表结构信息,按需生成SQL语句,供后面执行数据库操作时使用;3)调度模块读取数据库类型,调用对应的数据库执行代码,执行连接数据库操作;4)连接数据库成功后,系统会自动判断目标库表是否存在。若不存在,自动执行数据库操作模块的创建库表SQL;若库表已经存在,则直接执行下一步;5)执行模块会读取数据量、线程数,根据数据量和线程数计算出单个线程需要执行的数据入库量,以达到均衡并发执行;6)调度模块根据配置文件中每个表字段的数据类型,调用对应数据类型的数据生成模块,数据生成模块根据数据生成规则生成数据,每个字段的数据生成完毕后进行组合,组合成一条待插入的测试数据;7)执行模块会通过调用模块调用数据插入代码,将步骤6组合后的数据插入目标库表。8)每个线程内嵌入数据量循环,循环内执行本文档来自技高网...

【技术保护点】
1.一种基于多数据库类型的测试数据自动构造方法,其特征在于:包括如下步骤:/nS1.输入配置信息;/nS2.配置解析模块,读取配置信息;/nS3.调度模块读取数据库类型调用相应代码;/nS4.连接数据库判断库表是否存在;/nA1.存在,跳过步骤S5;/nA2.不存在,依次执行步骤;/nS5.调用数据库操作模块,创建库表;/nS6.执行模块读取数据量、线程数,均衡分布单线程的数据量;/nS7.数据生成模块,读取配置的数据规则生成数据,将所有表字段的生成数据组合成一条待入库数据;/nS8.执行数据库操作模块的插入操作,将组合后的数据插入到目标库表;/nS9.判断线程数、数据量循环是否结束;/nB1.结束,步骤依次执行;/nB2.未结束,跳入步骤S7;/nS10.输出结果。/n

【技术特征摘要】
1.一种基于多数据库类型的测试数据自动构造方法,其特征在于:包括如下步骤:
S1.输入配置信息;
S2.配置解析模块,读取配置信息;
S3.调度模块读取数据库类型调用相应代码;
S4.连接数据库判断库表是否存在;
A1.存在,跳过步骤S5;
A2.不存在,依次执行步骤;
S5.调用数据库操作模块,创建库表;
S6.执行模块读取数据量、线程数,均衡分布单线程的数据量;
S7.数据生成模块,读取配置的数据规则生成数据,将所有表字段的生成数据组合成一条待入库数据;
S8.执行数据库操作模块的插入操作,将组合后的数据插入到目标库表;
S9.判断线程数、数据量循环是否结束;
B1.结束,步骤依次执行;
B2.未结束,跳入步骤S7;
S10.输出结果。


2.根据权利要求1所述的一种基于多数据库类型的测试数据自动构造方法,其特征在于:所述步骤S1输入配置信息包括两种方法:
C1.通过可视化界面直接进行输入;
C2.通过上传包含配置信息的.yaml配置文件,配置信息包括数据库类型配置、数据库连接信息配置、数据量配置、数据库表结构配置、表字段类型配置、数据生成规则配置、执行线程数配置。


3.根据权利要求1所述的一种基于多数据库类型的测试数据自动构造方法,其特征在于:所述步骤S...

【专利技术属性】
技术研发人员:张霞
申请(专利权)人:紫光云技术有限公司
类型:发明
国别省市:天津;12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1