




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Datafactory 实际使用案例一、 简介Quest DataFactory 是一种快速的、易于产生测试数据工具,它能建模复杂数据关系,且有带有GUI界面。DataFactory是一个功能强大的数据产生器,它允许开发人员和QA毫不费力地产生百万行有意义的测试数据。二、 原理说明通过和数据库进行连接后,首先读取数据库中表的schema(概要),即表的定义之类的内容,以列表的形式显示;然后由用户定制要产生数据的具体内容,如数字范围、字符串长度、要产生数据记录的个数等等,最后运行工程,批量生成数据,Datafactory支持各种主流数据库(oracle、DB2、MS SQL),甚至excel、access等。下面以以主流的oracle为例进行说明。三、 安装说明第一步:解压Quest DataFactory v5.6 英文正式版.zip,执行setup.exe文件,按向导安装。第二步:运行Keygen.exe,在Site Message中设置名称,下拉框中选择DataFactory生成 key。第三步:安装成功后,使用key在bin文件中的工具(dfactory.exe)进行注册,选择DataFactory,点击Edit key,输入第二步中生成的key以及Site message中设置的名称即可。四、 数据库环境说明图表 1数据库中有3个表,一个是FW_DEPARTMRNT(部门表),一个UP_STAFFROOM(教研室表),另一个为JH_COURSE(课程表)。现在我们需要用datafactory往JH_COURSE中插入记录,JH_COURSE中的STAFFROOMID需要读取UP_STAFFROOM中的STAFFROOMID,而 UP_STAFFROOM中的STAFFROOMID又取自FW_DEPARTMRNT的DEPID,所以我们需要先给UP_STAFFROOM插入记录,才能在继续添加课程记录。下图为JH_COURSE中的字段信息:图表 2下图为UP_STAFFROOM中的字段信息图表 3五、 详细操作步骤1、 连接数据库,创建工程文件安装完datafactory之后,进入file菜单下面点击new,然后选择oracle数据库类型。图表 4下一步,输入需要连接数据库服务、用户名和密码。下一步,选择需要插入数据的表UP_STAFFROOM和JH_COURSE。注意:“Fetch Dependent Tables”按钮,用来加入对应所选表在数据库设计中有依赖关系的表,防止生成数据库时的疏漏。(不建议使用)下一步,输入工程名称为“JH_test后,下一步完成即可。2、 设置数据量及生成数据方式Datafactory可对每个字段进行设置,在导入数据表时工具已通过数据字典读取每个字段的数据类型,根据不同的数据类型datafactory可进行不同的规则设置:首先选择左侧的表设置需要插入的数据数量,如图:Datafactory工具栏中的setting可进行通用设置,如下所示3、 常见的三种数据类型的设置1) 数字型A. 从本地表格中选择数据将本地数据文件导入DataFactory的配置中,下次可以方便选择。导入数据文件的操作如下:第一步:准备数据文件,要求TXT格式,文件模版。COURSENAME:varchar(64)评论写作论文写作外贸英语专业英语低温物理导论英语影视英语听说训练 第二步:按图将数据文件导入DF。B. 取相关联的表的数据信息(主从表关系的字段)比如,有2张表课程表(COURSE)和教研室表(STAFFROOM),课程的STAFFROOMID需要部门表STAFFROOMID中取值,如图设置:C. 从数据库的查询结果中选择数据(具有主键关系和转码的字段)将查询的sql 语句粘入文本框,如教研室表中的STAFFROOMID信息需要在部门表的PEDID中取值,如图设置: D. 插入连续的值 我们能够设定起始值及增长值的大小,系统自动计算结果,如:起始值为001,增长值为1,则产生的数据序列为001,002,003,例如编号(COURSENO),具体设置如下图:E. 插入一定范围内的随机值插入随机值,我们可以设置其范围,则结果大小在设定范围之内,所以选择Insert random values方式,例如学分(CREDITHOUR)设置为020之间随机取值,具体设置如下图:F. 插入常量将字段信息设置为一个常量,例如总学时(TOTALPERIOD)设置为80,方法如图所示:2) 字符型A. 从本地表格中选取数据具体方式参考:(A.从本地表格中选择数据)B. 取相关联的表的数据信息(主从表关系的字段)具体方式参考:(B取相关联的表的数据信息(主从表关系的字段))C. 从数据库的查询结果中选择数据(具有主键关系和转码的字段)具体方式参考:(C从数据库的查询结果中选择数据(具有主键关系和转码的字段))D. 插入随机的字符组合插入随机的字符组合,可以设置字符组合的长度,例如SHORTNAME(课程简称),具体设置如下图:E. 插入常量字符串将字段信息设置为一个常量字符串,例如“是否实践环节”(ISPRACTICE)这个字段,可以根据体的业务要求输入一个常量字符串“是”或“否”,具体设置如图所示:F. 插入组合文本,可以插入文本,数字,日期时间混合的文本。设置一个固定字符串+一个递增值为1的流水号的字段。例如课程名称(COURSENAME)需要设置固定字符串为“英语”,递增值为1,具体操作如下:第一步:选择Build a composite field(组合文本)方式。第二步:通过点击的 add 按钮得到下图界面第三步:根据具体要求选择首先选择Text字符型,点击Ok,得到下图,进行设置如下:第四步:点击Add,因为要插入递增流水号,随意选择Numerice,点击ok得到下图进行设置:3) 日期/时间A. 取相关联的表的数据信息(主从表关系的字段)具体方式参考:(B取相关联的表的数据信息(主从表关系的字段))B. 从数据库的查询结果中选择数据(具有主键关系和转码的字段)具体方式参考:(C从数据库的查询结果中选择数据(具有主键关系和转码的字段))C. 插入连续的时间插入连续的时间,可以指定起始时间和增长时间,例如入学时间(ENROLDATE)设置如下图:D. 插入随机的时间(可以设置时间范围)插入随机的时间,可以设置时间范围,例如毕业时间(GRADUATEDATE)具体设置如下图:E. 插入当前系统时间插入系统当前的时间,可以设置日期的格式。格式设置方式如下:第一步:点击Format(日期格式)设置按钮第二步:进入页面进行设置4、 Run(运行)5、 运行时出现的一些关于约束的问题出现一些字段有关于约束的提示根据提示的字段到数据库中进行相关约束的查找查询,后根据具体的字段约束,选择合适的方式进行设置。+ 从数据表插入数据,这里的数据表是系统提供的。 从数据库插入数据,我们需要自己编写SQL语句从数据库中提取数据。 用表达式产生数据,我们可以编写表达式,系统将使用结果生成数据。 插入连续的值,我们能够设定种子及增长值的大小,系统自动计算结果,如:种子为1,增长值为2,则产生的数据序列为1,3,5,7 插入随机值,我们可以设置其范围,则结果大小在设定范围之内。 插入常量,结果将为常量值实例说明:数据型有4种设置规则 Insert values from an arithmetic expression、Insert sequential values、Insert random values、Insert a constant value.1. Insert values from an arithmetic expression方式如下用表达式产生数据,我们可以编写表达式,系统将使用结果生成数据,如下图:2. Insert sequential values方式如下:如JH_COURSE表中的COURSENO(教研室编号),COURSENO编号字段为long integer类型,这里设定为插入顺序值(insert sequential values)。3. Insert random values方式设定规则如下:如JH_COURSE表中的TOTALPERIOD(总学时)为number类型,这里设定一个随机数值(Insert random values),数字跨度为1200如下图:4. Insert a constant value.方式例如TOTALPERIOD(总学时),我们需要设置它为一个固定的数字,就直接选择Insert a constant value(插入常量)方式,然后自定义将要应用的常量数据,如下图:4) 字符型 从数据表中插入数据。 从数据库中插入数据。 从外部文件中插入数据。 插入随机的字符组合,可以设置字符组合的长度。 插入常量字符串 插入组合文本,可以插入文本,数字,日期时间混合的文本。实例说明:1、 外部数据(TXT 文档)的引入说明: 在测试数据库时,很多情况要求根据真实的数据来做必要的测试,这就需要我们可以通过外部自定义的文档来产生数据表中的数据,比如我现在有一个 TXT 文档,里面我想要录入到数据表”港口”的值,上海,大连,香港,福建,青岛 首先创建一个 TXT 文件,名字任意,格式如下注意: 字段名称:字段类型 (字段类型长度)引入 TXT 文件的方法: 右击项目名称(比如说这里的 JH_COURSE),如图下图所视选择 Insert Create Datatable 进入如下图界面点选 Import data from file,点击下一步,点击 Browse 选择相应的 TXT 文件,点击下一步,然后为该引入的 TXT 自定义一个名字,下一步,最后完成引入 TXT 文件的操作.引入成功后,然后选择Insert value from data table方式,在data中选择刚刚定义的那个名称。例如JH_COURSE表中的COURSENAME(教研室名称),我们需要设置的字段要求是:教研室+一个自动增加的流水号,方式如下:首先选择Build a composite field(创建一个合成字段)方式,然后我们来对这个合成字段做格式设置,通过点击的 add 按钮得到下图界面因为我们要产生COURSENAME这个固定的字符,所以我们选择 Text 类型,点击 OK,进入下图界面,在 Option 中选择对应的 Insert a string constant ,然后在 Constant Text Expression 中输入自定义的字符,比如这里的教研室,完成后保存设置因为还要生成一个流水账号,所以还要通过点击的 add 按钮,我们选择 Numeric 类型点击 OK,进入下图界面,在 Option 中选择对应的 Insert sequential values,然后进行字段规则的设置,start表示开始流水号,Increment表示递增值,完成后保存设置对于合成字段的元素,选取后可以进行策略修改(Modify),删除(Remove),顺序上移(Move up),顺序下移(Move down)5) 日期/时间 从数据表中插入数据。 从数据库中插入数据 插入连续的时间,可以指定起始时间和增长时间。 插入随机的时间,可以设置时间范围 插入当前系统时间日期/时间有3种设置规则 Insert sequential values、Insert random values、Insert the current system date1. Insert sequential values方式例如JH_COURSE表中的CREATETIME(创建时间),我们需要设置当前时间+递增值为1,递增类型为月的规则,我们将在Option中先选择Insert sequential values方式,start选择当前时间,Increment为1,类型选择month,进行设置,如下图:2. Insert random values方式例如JH_COURSE表中的CREATETIME(创建时间),在Option中先选择Insert random values方式(某一个时间段),我们在Between this date时间选填控件中进行设置,时间跨度选择为2005年-2013年的任何一天,如下图:3. Insert the current system date 方式 例如JH_COURSE表中的LASTMODIFYTIME(最后修改时间),在Option中先选择Insert the current system date方式(插入系统当前时间),既然是最后修改时间那我们就设置为系统当前日期。4. 此外可以通过weekdays and weekend days(工作日+周末)/weekdays only(只有工作日)/weekend days only(只有周末)来设置周末,如下图: 可通过format选项来设置日期格式,分别设置Date和Time的格式,生成数据将以设置样式保存到数据库中,样式可参照最下方Sample。此外,也可以在Custom Format选项中指定自定义格式,如2010-08-18。6、 外键字段的产生说明:外健是数据库关系中最普通也是使用最平凡的约束方式,我们可以通过二种方式来实现外健约束. 一种是 Insert value from a data table,另一种是 Insert value from an sql database1) Insert value from an sql database 方式 例如:UP_STAFFROOM表中STAFFROOMID和 FW_DEPARTMENG表中 DEPID 之间是外健关系, 所以选择从数据库插入数据,我们需要自己编写SQL语句从数据库中提取数据,STAFFROOMID需要取DEPID值,因此我们使用Insert value from an sql database方式。我们把DEPID字段产生的方式先设置成为写 SQL 语句的方式,然后在SQL Statement 中填入Select DEPID from GDS_CS.FW_DEPRATMENT 这个简单的SQL语句使STAFFROOMID 得到 DEPID 的值,并且用户可以在 SQL 返回的结果中,筛选所需要的内容 if more than one recode is returned(如果返回的条件超过一行),Use first record(只选择第一行作为当前字段值),Select a record at random(随机选择一个值作为当前字段值) 注意:由于教研室ID字段是唯一的,所以要
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山西信息职业技术学院《秘书学》2023-2024学年第二学期期末试卷
- 贵州农业职业学院《口腔探究性学习(1)》2023-2024学年第二学期期末试卷
- 2025年河南省安全员《C证》考试题库及答案
- 兰州交通大学《建筑通风工程安全》2023-2024学年第二学期期末试卷
- 汕头职业技术学院《硼产品开发与应用》2023-2024学年第二学期期末试卷
- 珠海艺术职业学院《车辆工程专业课程设计》2023-2024学年第二学期期末试卷
- 湖南外贸职业学院《生物防治》2023-2024学年第二学期期末试卷
- 2025贵州省安全员-C证考试(专职安全员)题库及答案
- 新乡医学院《装饰材料与构造》2023-2024学年第二学期期末试卷
- 山东旅游职业学院《地理信息系统及海洋应用》2023-2024学年第二学期期末试卷
- 术后镇痛泵的使用与护理
- GB 19522-2024车辆驾驶人员血液、呼气酒精含量阈值与检验
- 2024年成都新都投资集团有限公司招聘笔试冲刺题(带答案解析)
- 危险预知训练表(KYT)
- 2024年湖南铁路科技职业技术学院单招职业技能测试题库及答案解析
- 《书籍装帧设计》 课件 项目1 走进书籍装帧设计
- ASTM标准全部目录(中文版)
- 《汽车电气设备构造与维修》 第4版 课件 第3、4章 电源系统、发动机电器
- 辽海版小学美术六年级下册全册教案
- 2023年南京市鼓楼区建宁路街道安监办招聘专职安全员考试真题及答案
- 乡镇精神卫生工作总结
评论
0/150
提交评论