一、简介:
Quest DataFactory 是一种快速的、易于产生测试数据工具,它能建模复杂数据关系,且有带有GUI界面。DataFactory是一个功能强大的数据产生器,它允许开发人员和QA毫不费力地产生百万行有意义的测试数据。
二、工作原理:
首先读取数据库中表的schema,即表的定义之类的内容,以列表的形式显示;然后由用户定制要产生数据的具体内容,如数字范围、字符串长度、要产生数据记录的个数等等,最后运行工程,生成数据。
三、安装:
看到网上DataFactory有5.6版本,但是这里使用的是5.2破解版。笔者没有详细研究这两个版本的区别,有兴趣的读者可以自己查阅相关资料。
四、使用说明:
DataFactory支持的数据库类型有:DB2、SQL Server、Oracle以及Sybase,最后是ODBC数据源。虽然不知道mysql,但可以通过ODBC来连接mysql。本文以ODBC为例来作介绍。在产生数据之前,需要首先设置好系统ODBC数据源, 即添加待操作的数据源(开始--》控制面板--》管理工具--》ODBC数据源)。简单起见,创建一个Access数据库 DataFactory.accdb,并在其中创建一个customer表。设数据源名称为test,添加完成之后,如下图所示:
五、产生数据的具体操作方法:
1. 新建工程,在添加数据库时选择ODBC
图2 :
2. 在“Machine Data Source”选项卡中选择test数据源(图3)
,确定之后会提示输入密码来登录(图4)
3. 接下来指定工程的存放位置(如d:/ )
(图6),确定之后,数据源test会出现在界面左侧的框中,然后在“Database Property”对话框中选择要插入生成数据的表
(即customer,图7)。
4. 完成之后,数据库和表的内容便在界面上显示出来(图8)。
现在,用户可以对表的每一个属性进行定制,设定对属性值的约束(图9)。
图9中以设置ID为例,可选的属性值在列表中列出。
5. 属性设置完成后,再对表进行设置。双击customer,在出现的对话框的General选项卡中可以修改表名,也可以设定要生成数据的条数(图10)
在Output选项卡中可以选择将生成数据直接插入到数据库的表中,也可以输出到文件中(图11)
重点在于根据情况设计插入的值。
===========================================
下面看一个实例
实例:
数据库中有DF_AUTHORS_TITLES(作者与标题对应表)、DF_TITLES(作品标题表)、DF_AUTHORS(作者表)三张表。关联关系如下:
创建数据库要求:
1、 创建100名作者。
2、 创建200个作品标题。
3、 创建10000个著作关联记录。
操作步骤:
A.新建剧本
1、 新建script(剧本)文件,单击按钮。
2、 选择数据库连接方式(这里用sqlserver,注意,可以支持odbc,所以工具的扩展性很强)
3、 下一步,输入连接信息,根据自己做实验的数据库属性填写。
4、 下一步,选择三张表DF_AUTHORS_TITLES、DF_TITLES、DF_AUTHORS到INCLUDED TABLE编辑栏,注意,此处有一个按钮为“Fetch Dependent Tables”按钮,用来加入对应所选表格在数据库设计中有依赖关系的表,防止生成数据库时的疏漏。
5、 下一步,输入名称为“MANYTOMANY”后,完成。
B.创建两个主表信息(著作表和作者表)
1、点击DF_AUTHORS和DF_TITLES表,选择右边属性栏的Create temporary data table复选框。并且在Records分别输入100,200,表DF_AUTHORS_TITLES的Records输入10000。
1、 打开表DF_AUTHORS的树,选择字段AUTHORID,选择Option为Insert Sequential Values,start输入为100,Increment by输入1。
2、 选择字段DF_AUTHORS,Option选择Insert value from data table,Data Table选择First Names (male and female). Retrieval Method 选择Select a record at random。
3、 选择字段LASTNAME,Option选择Insert value from data table,Data Table选择Last Names,Retrieval Method选择Select a record at random。
4、 选择表DF_TITLES,选择字段titlid,选择Option为Insert Sequential Values,start输入为100,Increment by输入1。
5、 选择字段title,Option选择Build a composite field。
6、 点击 Add。 选择Text,输入名称为 'First Word'。Option选择Insert value from a data table,选择Data Table为words。
7、 点击 Add。 选择Text,输入名称为 'Space'。Option选择Insert a string constant.,在Constant Text输入' '(空格)。
8、 点击 Add。 选择Text,输入名称为 'Second Word'。Option选择Insert value from a data table,选择Data Table为words。
C. 创建关联表信息(作者与标题对应表)
1、 选择表DF_AUTHORS_TITLES,选择字段AUTHORID,Option选择Insert value from a data table,Data Table选择~DF_AUTHORS,Field选择AUTHORID。
2、 选择字段titleidfield,Option选择Insert value from a data table,Data Table选择~DF_TITLES,Field选择TITLEID。
3、 点击运行按钮数据库创建完成。
====================================
以下将分别介绍最常用的三种数据类型产生的设置。
Numeric:
Numeric的数据产生方式有六种:
A. 控制面板--》管理工具--》数据源(ODBC) B. 文件DSN --添加 -- 选择MySQL ODBC 5.1 Driver ![]() ![]() 写了ip/user/password,之后的Database就会弹出来了,并且可以利用“Test”测试一下 C:保存 |
评论