CN102722537A - 一种数据库测试数据的生成方法及系统 - Google Patents
一种数据库测试数据的生成方法及系统 Download PDFInfo
- Publication number
- CN102722537A CN102722537A CN2012101595354A CN201210159535A CN102722537A CN 102722537 A CN102722537 A CN 102722537A CN 2012101595354 A CN2012101595354 A CN 2012101595354A CN 201210159535 A CN201210159535 A CN 201210159535A CN 102722537 A CN102722537 A CN 102722537A
- Authority
- CN
- China
- Prior art keywords
- field
- data
- test data
- user
- tables
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种数据库测试数据的生成方法及系统,本发明方法包括以下步骤。获取用户操作对应的程序语句,根据所述程序语句中包含的数据表名获取所述数据表的字段信息。根据所述字段信息及用户指定数量为所述数据表的不同字段分别生成所述指定数量的呈正态分布的测试数据。
Description
技术领域
本发明属于数据库应用领域,尤其涉及一种数据库测试数据的生成方法及系统。
背景技术
随着信息化社会的飞速发展,数据库在企业、学校以及图书馆中都得到了普遍的应用。在日常应用中,数据库系统需要存储大量数据,随着业务的不断发展,数据量不断增加,数据库的负荷越来越大。为保证数据库运行的稳健性,从数据库建立到修改的过程中,维护人员需要对数据库进行大数据量的压力测试。在测试数据的生成方面,目前主要依靠数据生成装置如gen-data,但其缺点是过于僵化,不能模拟现实用户的使用习惯,数据真实性不高。另一方面,对不同的业务操作类型,现有技术也不能按照用户期望的场景,自动生成数据。
发明内容
本发明提供一种数据库测试数据的生成方法及系统以解决上述问题。
本发明提供一种数据库测试数据的生成方法,包括以下步骤。获取用户操作对应的程序语句,根据所述程序语句中包含的数据表名获取所述数据表的字段信息。根据所述字段信息及用户指定数量为所述数据表的不同字段分别生成所述指定数量的呈正态分布的测试数据。
本发明提供一种数据库测试数据的生成系统,包括生成模块及处理模块,所述生成模块连接所述处理模块。所述生成模块,用于获取用户操作对应的程序语句,根据所述程序语句中包含的数据表名获取所述数据表的字段信息。所述处理模块,用于根据所述字段信息及用户指定数量为所述数据表的不同字段分别生成所述指定数量的呈正态分布的测试数据。
相较于先前技术,根据本发明提供的数据库测试数据的生成方法及系统,通过获取用户操作对应的程序语句,并根据语句中包含的数据表名获取数据表的字段信息。根据用户业务需求提取相关数据表的字段信息,增强了业务针对性。根据所述字段信息及用户指定数量为数据表的不同字段分别生成指定数量的呈正态分布的测试数据。如此,通过模拟现实用户的使用方式,增加了测试数据的真实度。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1所示为根据本发明的较佳实施例提供的数据库测试数据的生成方法的流程图;
图2所示为根据本发明的较佳实施例提供的数据库测试数据的生成系统的示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图1所示为根据本发明的较佳实施例提供的数据库测试数据的生成方法的流程图。如图1所示,本发明的较佳实施例提供的数据库测试数据的生成方法包括步骤101~102。
步骤101:获取用户操作对应的程序语句,根据所述程序语句中包含的数据表名获取所述数据表的字段信息。
具体而言,所述数据表可以为所有关系型数据库中的数据表,对应的程序语言为任意一种结构化查询语言。当用户在浏览器页面进行某项操作时,获取并解析用户操作对应的程序语句,将该语句中包含的所有数据表的字段信息分别导出。所述字段信息包括数据表的字段名、字段类型、字段最大宽度及是否允许字段为空。其中,字段类型包括字符型、整数型、日期型及浮点型。
举例而言,若现用户在某网站进行注册,点击注册按钮后,对应的程序语句为Insert intouser values,语句中包含的数据表为user表。获取user表中所有的字段信息例如下表所示。
字段名 | 字段类型 | 字段最大宽度 | 是否允许字段为空 |
user_id | 整数型 | 10 | 否 |
字符型 | 40 | 否 | |
pwd | 字符型 | 32 | 否 |
user_name | 字符型 | 24 | 否 |
birth | 日期型 | 10 | 是 |
类似地,若需要在学生查课系统中查询编号为A的学生的选课情况,用户在系统界面上点击查询按钮,对应的程序语句为Select course.*from course left join stu-course oncourse.id=stu-course.id where stu-id=A。语句中包含课程表course及学生课程关系表stu-course,则利用数据库功能分别导出上述两数据表的字段信息。所述字段信息格式与上表相同,字段信息具体内容可根据各数据表应用自行设置,于此不再一一举例说明。
步骤102:根据所述字段信息及用户指定数量为所述数据表的不同字段分别生成所述指定数量的呈正态分布的测试数据。
具体而言,根据字段信息中的字段类型、字段最大宽度及用户指定的数量为字段信息中包含的每个字段生成测试数据,且所述测试数据呈正态分布。若所述字段类型为字符型,该字段对应的测试数据由任意字符组成;若所述字段类型为浮点型,该字段对应的测试数据由包含小数点的数字组成;若所述字段类型为整数型或日期型,该字段对应的测试数据由整数组成。此外,于本实施例中,若数据表中含有字段内容为系统自动编号的字段,则不为该字段生成测试数据。
举例而言,按照步骤101的示例,若用户需要为程序语句Insert into user values包含的user表每个字段生成10万条测试数据。以user表的pwd字段为例,该字段的字段类型为字符型,且字段最大宽度为32。
下面以调用函数R,即NORMRND(MU,SIGMA,M,N)为例说明为pwd字段生成测试数据的过程。其中,MU值为pwd字段最大宽度与最小宽度的中间值。按照步骤101,pwd字段不允许为空,则该字段最小宽度为1,故所述MU值为(32+1)/2=16.5。于本实施例中,生成的测试数据按标准正态分布,故函数R中的SIGMA值为1,于其它实施例中,可按非标准正态分布生成测试数据,对此本发明不作限定。此外,当用户需对每个字段分别生成N条测试数据时,函数中M和N值为用户需生成的测试数据排列成矩阵后的行数和列数,即,若用户对pwd字段生成100000条测试数据,排列成矩阵为1*100000,故函数R中的M=1,N=100000。将上述各值代入函数,则程序调用函数NORMRND(16.5,1,1,100000)后,可为user表的pwd字段生成呈标准正态分布的100000条测试数据。
除上述调用函数生成测试数据的方式外,本实施例还提供以程序代码生成测试数据的方式。仍以pwd字段为例,生成100000条呈标准正态分布的测试数据的代码如下:
于本实施例中,生成正态分布测试数据的方式为调用函数及代码实现,于其它实施例中,也可以用户自定义方式实现,对此本发明不作限定。
图2所示为根据本发明的较佳实施例提供的数据库测试数据的生成系统的示意图。如图2所示,本发明的较佳实施例提供的数据库测试数据的生成系统包括生成模块201及处理模块202,所述生成模块201连接所述处理模块202。所述生成模块201,用于获取用户操作对应的程序语句,根据所述程序语句中包含的数据表名获取所述数据表的字段信息。所述处理模块202,用于根据所述字段信息及用户指定数量为所述数据表的不同字段分别生成所述指定数量的呈正态分布的测试数据。关于上述系统的具体操作流程同上述方法所述,故于此不再赘述。
综上所述,根据本发明提供的数据库测试数据的生成方法及系统,获取用户操作对应的程序语句,并根据语句中包含的数据表名获取数据表的字段信息。根据所述字段信息中字段类型、字段最大宽度及用户指定数量为每个字段分别生成呈正态分布的测试数据。如此,根据用户业务需求提取相关数据表的字段信息,增强了业务针对性。并且借助接近用户使用习惯的分布方式,增加了测试数据的真实度。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种数据库测试数据的生成方法,其特征在于,包括以下步骤:
获取用户操作对应的程序语句,根据所述程序语句中包含的数据表名获取所述数据表的字段信息;
根据所述字段信息及用户指定数量为所述数据表的不同字段分别生成所述指定数量的呈正态分布的测试数据。
2.根据权利要求1所述的方法,其特征在于,所述数据表的字段信息包括字段名、字段类型、字段最大宽度及是否允许所述字段为空。
3.根据权利要求2所述的方法,其特征在于,所述字段类型包括字符型、整数型、日期型及浮点型。
4.根据权利要求1所述的方法,其特征在于,所述数据库为关系型数据库,所述程序语言为结构化查询语言。
5.一种数据库测试数据的生成系统,其特征在于,包括生成模块及处理模块,所述生成模块连接所述处理模块,
所述生成模块,用于获取用户操作对应的程序语句,根据所述程序语句中包含的数据表名获取所述数据表的字段信息;
所述处理模块,用于根据所述字段信息及用户指定数量为所述数据表的不同字段分别生成所述指定数量的呈正态分布的测试数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012101595354A CN102722537A (zh) | 2012-05-22 | 2012-05-22 | 一种数据库测试数据的生成方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012101595354A CN102722537A (zh) | 2012-05-22 | 2012-05-22 | 一种数据库测试数据的生成方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102722537A true CN102722537A (zh) | 2012-10-10 |
Family
ID=46948298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012101595354A Pending CN102722537A (zh) | 2012-05-22 | 2012-05-22 | 一种数据库测试数据的生成方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102722537A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105095325A (zh) * | 2014-05-23 | 2015-11-25 | 中兴通讯股份有限公司 | 一种测试数据的生成方法及装置 |
CN105446825A (zh) * | 2014-06-12 | 2016-03-30 | 阿里巴巴集团控股有限公司 | 数据库测试方法及装置 |
CN105512042A (zh) * | 2015-12-22 | 2016-04-20 | 广东金赋信息科技有限公司 | 一种数据库的测试数据的自动生成方法、装置及测试系统 |
WO2016155516A1 (zh) * | 2015-04-03 | 2016-10-06 | 阿里巴巴集团控股有限公司 | 应用数据的生成方法和装置 |
CN106649108A (zh) * | 2016-12-13 | 2017-05-10 | 北京锐安科技有限公司 | 测试数据的生成方法及装置 |
CN107229617A (zh) * | 2016-03-23 | 2017-10-03 | 北京京东尚科信息技术有限公司 | 一种对指定数据字段进行赋值的方法 |
CN109117377A (zh) * | 2018-08-31 | 2019-01-01 | 杭州安恒信息技术股份有限公司 | 一种基于建表语句的测试数据自动生成方法、装置及设备 |
CN109241205A (zh) * | 2018-11-21 | 2019-01-18 | 南京安讯科技有限责任公司 | 一种可用于大批量生成关系型模拟数据的方法 |
CN109726096A (zh) * | 2017-10-27 | 2019-05-07 | 中移(苏州)软件技术有限公司 | 一种测试数据生成方法及装置 |
CN110674029A (zh) * | 2019-08-26 | 2020-01-10 | 平安科技(深圳)有限公司 | 自动生成测试数据方法、装置、电子设备及存储介质 |
CN118427110A (zh) * | 2024-07-05 | 2024-08-02 | 江苏华库数据技术有限公司 | 一种基于数据库查询语句的测试数据生成方法 |
CN118427110B (zh) * | 2024-07-05 | 2024-09-24 | 江苏华库数据技术有限公司 | 一种基于数据库查询语句的测试数据生成方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101908015A (zh) * | 2009-06-04 | 2010-12-08 | 中国工商银行股份有限公司 | 一种基于构件生成测试案例的装置及方法 |
CN102081655A (zh) * | 2011-01-11 | 2011-06-01 | 华北电力大学 | 基于贝叶斯分类算法的信息检索方法 |
CN102402430A (zh) * | 2010-09-14 | 2012-04-04 | 无锡中星微电子有限公司 | 一种利用脚本生成随机测试例方法和系统 |
-
2012
- 2012-05-22 CN CN2012101595354A patent/CN102722537A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101908015A (zh) * | 2009-06-04 | 2010-12-08 | 中国工商银行股份有限公司 | 一种基于构件生成测试案例的装置及方法 |
CN102402430A (zh) * | 2010-09-14 | 2012-04-04 | 无锡中星微电子有限公司 | 一种利用脚本生成随机测试例方法和系统 |
CN102081655A (zh) * | 2011-01-11 | 2011-06-01 | 华北电力大学 | 基于贝叶斯分类算法的信息检索方法 |
Non-Patent Citations (1)
Title |
---|
蒲俊等: "《MATLAB6.0数学手册》", 31 January 2002, 浦东电子出版社 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105095325A (zh) * | 2014-05-23 | 2015-11-25 | 中兴通讯股份有限公司 | 一种测试数据的生成方法及装置 |
CN105446825A (zh) * | 2014-06-12 | 2016-03-30 | 阿里巴巴集团控股有限公司 | 数据库测试方法及装置 |
CN105446825B (zh) * | 2014-06-12 | 2020-08-11 | 阿里巴巴集团控股有限公司 | 数据库测试方法及装置 |
WO2016155516A1 (zh) * | 2015-04-03 | 2016-10-06 | 阿里巴巴集团控股有限公司 | 应用数据的生成方法和装置 |
CN105512042B (zh) * | 2015-12-22 | 2018-09-04 | 广东金赋科技股份有限公司 | 一种数据库的测试数据的自动生成方法、装置及测试系统 |
CN105512042A (zh) * | 2015-12-22 | 2016-04-20 | 广东金赋信息科技有限公司 | 一种数据库的测试数据的自动生成方法、装置及测试系统 |
CN107229617A (zh) * | 2016-03-23 | 2017-10-03 | 北京京东尚科信息技术有限公司 | 一种对指定数据字段进行赋值的方法 |
CN106649108A (zh) * | 2016-12-13 | 2017-05-10 | 北京锐安科技有限公司 | 测试数据的生成方法及装置 |
CN109726096A (zh) * | 2017-10-27 | 2019-05-07 | 中移(苏州)软件技术有限公司 | 一种测试数据生成方法及装置 |
CN109117377A (zh) * | 2018-08-31 | 2019-01-01 | 杭州安恒信息技术股份有限公司 | 一种基于建表语句的测试数据自动生成方法、装置及设备 |
CN109241205A (zh) * | 2018-11-21 | 2019-01-18 | 南京安讯科技有限责任公司 | 一种可用于大批量生成关系型模拟数据的方法 |
CN110674029A (zh) * | 2019-08-26 | 2020-01-10 | 平安科技(深圳)有限公司 | 自动生成测试数据方法、装置、电子设备及存储介质 |
CN118427110A (zh) * | 2024-07-05 | 2024-08-02 | 江苏华库数据技术有限公司 | 一种基于数据库查询语句的测试数据生成方法 |
CN118427110B (zh) * | 2024-07-05 | 2024-09-24 | 江苏华库数据技术有限公司 | 一种基于数据库查询语句的测试数据生成方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102722537A (zh) | 一种数据库测试数据的生成方法及系统 | |
CN110413634B (zh) | 数据查询方法、系统、装置及计算机可读存储介质 | |
CN103412868B (zh) | 文书生成方法及装置 | |
CN106991196B (zh) | 一种通用的数据追溯方法及系统 | |
CN101308490A (zh) | 一种动态报表生成方法及平台 | |
CN101552701B (zh) | 一种记录参数维护变更的方法、系统及装置 | |
CN101944082A (zh) | 一种类Excel报表处理方法 | |
CN103020750A (zh) | 工艺报表的生成方法及装置 | |
CN102789487B (zh) | 数据查询检索处理装置和数据查询检索处理方法 | |
CN106844320B (zh) | 一种财务报表整合方法和设备 | |
CN102591960A (zh) | 农业经济电子地图数据服务接口方法 | |
CN110781183A (zh) | Hive数据库中增量数据的处理方法、装置以及计算机设备 | |
CN108959580A (zh) | 一种标签数据的优化方法及系统 | |
CN107729330B (zh) | 获取数据集的方法和装置 | |
US10824803B2 (en) | System and method for logical identification of differences between spreadsheets | |
CN101706829A (zh) | 一种数据存储方法和装置 | |
CN115617773A (zh) | 数据迁移的方法、装置和系统 | |
CN105912723A (zh) | 一种自定义字段的存储方法 | |
CN102866985B (zh) | 用于联机分析处理系统的数据格式化装置和方法 | |
US20200320250A1 (en) | Systems and Methods for Generating Logical Documents for a Document Evaluation System | |
CN105701641A (zh) | 一种贴合传统纸质化办公的工作流程生成方法 | |
CN102567796A (zh) | 数据导入方法和装置 | |
CN202433952U (zh) | 一种通用网络报表系统 | |
CN101908063A (zh) | 一种通用的报表查询工具 | |
CN101174268A (zh) | 软件搜索方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20121010 |