基于VBA技术自定义生成数据库测试数据的方法与系统技术方案

技术编号:32586527 阅读:29 留言:0更新日期:2022-03-09 17:19
本发明专利技术特别涉及一种基于VBA技术自定义生成数据库测试数据的方法与系统。该基于VBA技术自定义生成数据库测试数据的方法与系统,生成用于定义数据库类型、数据类型、数据数量、存放位置以及生成数据的文件名的结构化数据和非结构化数据;将生成的结构化数据和非结构化数据打包存储为CSV文件;根据所选择的数据类型生成数据的导入语句,测试时结合CSV文件,使用数据库导入语法,将数据表导入数据库内即可。该基于VBA技术自定义生成数据库测试数据的方法与系统,不仅支持多种类型数据库测试,生成数据灵活性更高,还简化了测试填充数据的过程,支持自定义生成数据的类型与范围,解决了多种类型数据库大数据量测试的难题。了多种类型数据库大数据量测试的难题。了多种类型数据库大数据量测试的难题。

【技术实现步骤摘要】
基于VBA技术自定义生成数据库测试数据的方法与系统


[0001]本专利技术涉及数据库测试
,特别涉及一种基于VBA技术自定义生成数据库测试数据的方法与系统。

技术介绍

[0002]随着网络和信息技术的不断普及、互联网行业的快速发展,产生的数据量正在呈指数级增长,对于数据库的需求也激烈增长。尤其近十年,国产数据库崛起,大量分布式数据库占领市场。
[0003]随着国产数据库的发展,数据库的测试也日渐重要。但是在实际测试中,大数据量的测试场景以及模拟实际业务需求的测试场景却比较少。其中一个原因就是测试数据较难获得,导致实际测试场景中都是小数据量的单表测试。
[0004]现有技术中,通常使用Benchmark工具生成测试数据。但是该方法生成CSV文件的时间较长,且生成的数据之间存在的关联关系复杂、目前资料较少,不易书写sql语句来进行测试。而且Benchmark工具生成的数据是由代码封锁的,不支持自定义生成数据的类型与范围,局限性较大。
[0005]为了解决上述问题,本专利技术提出了一种基于VBA技术自定义生成数据库测试数据的方法与系统。

技术实现思路

[0006]本专利技术为了弥补现有技术的缺陷,提供了一种简单高效的基于VBA技术自定义生成数据库测试数据的方法与系统。
[0007]本专利技术是通过如下技术方案实现的:
[0008]一种基于VBA技术自定义生成数据库测试数据的方法,其特征在于,包括以下步骤:
[0009]第一步、选择数据库类型、数据类型、数据数量、存放位置以及生成数据的文件名,生成用于定义数据库类型、数据类型、数据数量、存放位置以及生成数据的文件名的结构化数据和非结构化数据;
[0010]第二步、将生成的结构化数据和非结构化数据打包存储为CSV文件;
[0011]第三步、根据所选择的数据类型生成数据的导入语句,测试时结合CSV文件,使用数据库导入语法,将数据表导入数据库内即可。
[0012]所述第一步中,采用Excel的INDIRECT函数填充配置页下拉信息,采用INDIRECT函数读取数据库类型、数据库的数据类型、自定义数据类型、业务数据模型以及表关联模板。
[0013]所述第一步中,利用VBA技术将选择的数据库类型转化为程序对应类型,并根据数据库的数据类型与excel读取配置页所选择的类型构建映射关系,将选择的数据库类型用vb代码中存在的类型来描述;
[0014]生成非结构化数据时,支持浮点数、整数的自动生成以及集合内的字符生成;
[0015]当数据类型为数字时,在配置页定义数据大小与类型,由VBA读取配置页定义的范围,确定数据的上限和下限,利用VBA的RND函数生成该范围内的随机数;
[0016]当数据类型为字符时,使用End(xlUp)函数读取到定义的最后一行,然后根据该行数定义数组的范围,将所写数据存入vb的数组中,再由vb的random函数随机生成集合的随机数。
[0017]所述第一步中,生成结构化数据时,根据用于模拟实际业务的业务数据模型提供的表关联模板编写SQL语句;在配置页选择生成的数据表名,根据数据表名生成对应的数据,读取配置页数据的条数,再利用VBA内的FOR循环得到数据,使用VBA代码的ThisWorkbook.Sheets方式回填,打包存储为CSV文件;
[0018]在配置页生成数据时,根据预设的映射关系将数字类型的数据定义为某区间的正整数,将字符类型的数据定义为某集合的字符串。
[0019]所述第二步中,读取配置页模块定义的文件位置和文件名,使用VBA的SaveAs将Excel内数据转储至CSV文件。
[0020]所述第三步中,根据选择数据的类型、数据库以及数据表名生成Load语句,针对不同数据库设定不同的导入语法,结合CSV文件,将数据表导入数据库。
[0021]一种基于VBA技术自定义生成数据库测试数据的系统,其特征在于:包括数据模型模块、数据配置模块、数据存储模块和生成导入语句模块;
[0022]所述数据模型模块负责提供支持的数据库类型、数据库的数据类型、自定义数据类型以及业务数据模型,所述业务数据模型能够模拟实际业务,提供表关联模板用于编写SQL语句;
[0023]所述数据配置模块负责在配置页选择数据库类型、数据类型、数据数量、存放位置以及生成数据的文件名,生成用于定义数据库类型、数据类型、数据数量、存放位置以及生成数据的文件名的结构化数据和非结构化数据;
[0024]所述数据存储模块负责读取配置页模块定义的文件位置和文件名,使用VBA的SaveAs将生成的结构化数据和非结构化数据打包存储为CSV文件;
[0025]所述生成导入语句模块负责根据选择数据的类型、数据库以及数据表名生成Load语句,针对不同数据库设定不同的导入语法。
[0026]所述数据配置模块利用VBA技术将选择的数据库类型转化为程序对应类型,并根据数据库的数据类型与excel读取配置页所选择的类型构建映射关系,将选择的数据库类型用vb代码中存在的类型来描述;
[0027]生成非结构化数据时,支持浮点数、整数的自动生成以及集合内的字符生成;
[0028]当数据类型为数字时,在配置页定义数据大小与类型,由VBA读取配置页定义的范围,确定数据的上限和下限,利用VBA的RND函数生成该范围内的随机数;
[0029]当数据类型为字符时,使用End(xlUp)函数读取到定义的最后一行,然后根据该行数定义数组的范围,将所写数据存入vb的数组中,再由vb的random函数随机生成集合的随机数;
[0030]生成结构化数据时,根据用于模拟实际业务的业务数据模型提供的表关联模板编写SQL语句;在配置页选择生成的数据表名,根据数据表名生成对应的数据,读取配置页数据的条数,再利用VBA内的FOR循环得到数据,使用VBA代码的ThisWorkbook.Sheets方式回
填,打包存储为CSV文件;
[0031]在配置页生成数据时,根据预设的映射关系将数字类型的数据定义为某区间的正整数,将字符类型的数据定义为某集合的字符串。
[0032]本专利技术的有益效果是:该基于VBA技术自定义生成数据库测试数据的方法与系统,不仅支持多种类型数据库测试,生成数据灵活性更高,还简化了测试填充数据的过程,支持自定义生成数据的类型与范围,解决了多种类型数据库大数据量测试的难题。
附图说明
[0033]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0034]附图1为本专利技术基于VBA技术自定义生成数据库测试数据的方法示意图。
具体实施方式
[0035]为了使本
的人员更好的理解本专利技术中的技术方案,下本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于VBA技术自定义生成数据库测试数据的方法,其特征在于,包括以下步骤:第一步、选择数据库类型、数据类型、数据数量、存放位置以及生成数据的文件名,生成用于定义数据库类型、数据类型、数据数量、存放位置以及生成数据的文件名的结构化数据和非结构化数据;第二步、将生成的结构化数据和非结构化数据打包存储为CSV文件;第三步、根据所选择的数据类型生成数据的导入语句,测试时结合CSV文件,使用数据库导入语法,将数据表导入数据库内即可。2.根据权利要求1所述的基于VBA技术自定义生成数据库测试数据的方法,其特征在于:所述第一步中,采用Excel的INDIRECT函数填充配置页下拉信息,采用INDIRECT函数读取数据库类型、数据库的数据类型、自定义数据类型、业务数据模型以及表关联模板。3.根据权利要求1或2所述的基于VBA技术自定义生成数据库测试数据的方法,其特征在于:所述第一步中,利用VBA技术将选择的数据库类型转化为程序对应类型,并根据数据库的数据类型与excel读取配置页所选择的类型构建映射关系,将选择的数据库类型用vb代码中存在的类型来描述;生成非结构化数据时,支持浮点数、整数的自动生成以及集合内的字符生成;当数据类型为数字时,在配置页定义数据大小与类型,由VBA读取配置页定义的范围,确定数据的上限和下限,利用VBA的RND函数生成该范围内的随机数;当数据类型为字符时,使用End(xlUp)函数读取到定义的最后一行,然后根据该行数定义数组的范围,将所写数据存入vb的数组中,再由vb的random函数随机生成集合的随机数。4.根据权利要求1或2所述的基于VBA技术自定义生成数据库测试数据的方法,其特征在于:所述第一步中,生成结构化数据时,根据用于模拟实际业务的业务数据模型提供的表关联模板编写SQL语句;在配置页选择生成的数据表名,根据数据表名生成对应的数据,读取配置页数据的条数,再利用VBA内的FOR循环得到数据,使用VBA代码的ThisWorkbook.Sheets方式回填,打包存储为CSV文件;在配置页生成数据时,根据预设的映射关系将数字类型的数据定义为某区间的正整数,将字符类型的数据定义为某集合的字符串。5.根据权利要求1所述的基于VBA技术自定义生成数据库测试数据的方法,其特征在于:所述第二步中,读取配置页模块定义的文件位置和文件名,使用VBA的SaveAs将Excel内数据转储至CSV文件。...

【专利技术属性】
技术研发人员:苗玉
申请(专利权)人:浪潮软件集团有限公司
类型:发明
国别省市:

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

1