当前位置:文档之家› 测试数据生成工具DataFactory的使用

测试数据生成工具DataFactory的使用

DATA FACTORY的使用
Data Factory是一个数据库测试数据生成工具。
Data Factory主要可以利用在以下两个方面:1.按照数据表中要
求数据的格式,快速产生标准或不标准的测试数据,用来测试系统的
功能;2.产生大量的随机数据,用来测试在海量数据的情况下的系统
性能。3.从其它数据库中相关数据重新组合生成测试数据。
使用Data Factory生成测试数据,先要连接数据库,选择数据库
中存在的表,根据不同的字段类型选择不同的数据生成方式:在这里,
可以从文档、其他数据库、随机数据、软件自带的数据字典等多种方
式生成测试的数据。然后将这些生成的测试数据添加到选择的表中。
同时,Data Factory也有许多附带的功能,提供了灵活的数据生成方
式。
第一章新建项目

安装好该软件后,进入系统界面:
Filsnew新建项目,输入项目名
称后点击add;选择数据库,输入用户名
以及密码后,系统会产生一个文件,选
择保存路径后新建项目成功.
双击数据库的图标,如下图所示
(图2),左栏是能选择数据库名和表名,
右栏则是已选中的表,确定后进入详细
的设置页面.
图2
双击表名能进入(图3)对表进行一些设置.这里能调整数据的产
生量(默认是100条),右栏中的是选中的字段,可以把不需要添加数
据的字段移到左栏中,对这些字段将不插入数据.
利用move up和move down对字段优先级进行设置.(优先级影
响着下文中一些函数的使用。)
在output书签中可以选择将产生的测试数据直接保存到数据库
中,还是保存到新到文本中去。
图3
data factory会读入所选择的表中的所有字段名及其属性,但data
factory 的数据格式只有3种:text、numeric、date;所以一些例如oracle
数据库中long ,varchar等属性会统一为text属性,只是长度不同而
已。

第二章 数据生成
一、 TEXT有6种输入方式
以下为TEXT模式中一些通用的附加设置,在后面不做介绍:
(
Extract是的功能和substr差不多,截取字段用.
Upper case,lower case,mixed case表示输入字母为大写,小写还是混合.
Unique表示该字段不能重复,
key(无使用,作用不明),
Null表示在插入数据的时候在该字段插入null值的概率,默认为0,即
不插入null值
)
1. insert text from a data table(图 4)
从该软件的自带字典中选择数据

图4
Data为选择数据字典名;field是选择不同的字段;option为选择数
据生成方式:1随机选择一条,2递增选择,3和其它字段同步.
2. insert text from a sql database table
图 5
将其它数据表中数据添加到本数据库中,可以在sql中添加where条件,
例如想在xh这个字段中把zjgs表中开业的企业的nbxh中的数据取过
来,可以输入(select nbxh from zjgs.hz_qyhznr where zt=’k’ ).其中这里
有两个选项:1永远选择第一条数据,2随机选择一条数据
小技巧:在插入的数据中,要求插入两个字段和其它表中的两个字段统
一,可以利用该软件中的{F}函数,例如想要在dw字段输入企业名称,
可以输入:Select qymc from zjgs.hz_qyhznr where nbxh={f:xh}
不过前提是xh字段的优先级要比dw字段要高,而且dw字段为text
属性.修改优先级可以参照第二页.
{r}函数则是从中去随机数值:{r:1:500}表示从1~500中随机取数.
3. insert text from a file: (没怎么使用过)
如果文件夹中有多个txt文本的话会随机选择一个文本内容输入数据
库,而其它文件类型的话输入的是乱码.
4. insert random charaters
输入随机字符,可以选项固定长度,大小写模式等状态.
5. insert a string constant
插入固定的字符串.
6. build a composite field
属于混合模式,在这,你可以选择所有模式,也可以将不同模式组合起
来,例如可以将“user”和“递增数字”组合 ,形成user001,user002这类模
式的字段.同时也能使用move up和move down变换组合的优先级。
二、 NUMERIC有6种输入方式
(
Decimal:保留几位小数
Width:显示几位数值,不足用0补足(例如:00001)
)
1. insert text from a data table
同text,但里面的数据必须是数字.
2. insert text from a sql database table
同text
3. atithmetic expression
算术表达式,可以利用{f}函数对其它列的值进行操作,例如
{F:xh}+{F:bh}, xh,bh为字段名,且里面的数据为数字,同时注意的是优
先级问题.
4. sequential values
递增数列, 需要选择选择基值和递增数.
5. random values
选择起止数值,自动从中选择..
6. constant value
固定数值.
三、 Date 有5种输入方式
(
Weekdays only,weekend days only,weekdays and weekend days可以选
择:只产生工作日,只产生周末和混合日期.
Format:用来规范产生日期的格式,可以使用标准的日期格式也可以编
写自己的日期格式.
)
1. insert text from a data table
同text,但里面的数据必须是日期.
2. insert text from a sql database table
同text
3. sequential values
连续的日期,选择起始时间以及增量(秒,分,小时,日,月,年),
自动生成日期
4. random values
规定起止时间后,自动选择范围内时间输入数据库.
5. current system date
将当前的时间输入数据库中.

第三章 其它功能
将测试数据添加到数据库中,利用data table的效率远大于database
table,所以对于一些不需要sql条件选择的数据,建议利用date table 插
入数据,同时利用系统自带的工具能够将文本和数据库制作成data
table.
Filescteate data table (图 6)

图 6
Import data from text file
利用文本文件将数据录入数据字典中去,不过对对中文的支持有问
题,经常出现乱码。
Import data from database
从其它数据库中的数据输入到data table中.
将数据库中的数据添加到data table中去,先要利用连接数据库,然后利
用sql选择需要的字段生成data table.
例如只想将 bfxh和nbxh这两个字段生成data table :select bfxh,nbxh
from bf_qyhznr 输入名称后就能在以后调用这些数据了.
Child table:

(图 7)
利用child table 能够轻松的实现两个表中关联数据的添加,右键点击
表名 ,会出现new child table(图 7)
在标签general菜单中,可以选择表、字段以及对应关系数量.
Relationship:选择两表中有对应关系的字段,在主表生成测试数据的时
候,也会在child表中插入相同的数值。

相关主题