创建数据驱动的测试和普通的功能测试有什么区别?怎么理解数据驱动?数据如何驱动?
我的理解是这样的。普通的功能测试中,我们测试的是当输入框的值有了变化之后,程序再跑一次能否跑得依然正确。比如第一次版本1.0跑了一遍没问题了,但是下次跑版本1.1不一定没问题,所以功能测试把之前跑1.0版本的过程录下来,以后再播放给版本1.1让它自动执行就可以了。
但是,可能测试脚本跑第二遍的时候,外界的输入发生了变化。也就是说,输入的步骤不变,但是输入的内容变了。为了应对这个变化,就有了数据驱动的测试。把可能改变的变量专门的记录来一个数据池中。
但是还有个问题,如果要变化的输入对应着程序的输入框,那么还好办。因为输入框在RFT中本来就被理解为一个接收变化值的部件;而如果要变化的输入对应着程序的一个文本标签label的话,那么我们需要人工去把这个常量做一次转化,使得它可变。具体的,可以在“验证点数据”页面工具栏上,单击将值转化为数据池地址。
因为IBM RFT软件自带的帮助看着其实并不方便,翻页的等待比较花时间,并且解释得也不够突出重点。所以我想对帮助做一个整理。
下面的内容参考了帮助,是对帮助的提炼。
禁用简化的脚本编制和应用程序可视功能
创建项目
开始脚本
在“记录”工具栏上,单击启动应用程序。
选择 ClassicsJavaA - java。
单击确定。 ClassicsJavaA 是随 Functional Tester 提供的样本应用程序 ClassicsCD 的构建版 1。
在 ClassicsCD 应用程序中,在作曲家下面,双击 Schubert 以打开该作曲家所作的待售 CD 的列表,然后单击 String Quartets Nos 4 & 14。
单击下订单。
单击确定以关闭“成员登录”窗口。
在“下订单”窗口中,在卡号字段中输入 1234567890,然后在截止日期字段中输入 09/09。
在“记录”工具栏上,单击插入数据驱动命令。 记录暂停。
现在获取数据对象。数据驱动测测试的核心有两步,这里是第一步。
在“插入数据驱动操作”页面,使用鼠标将对象查找程序拖动到 ClassicsCD 应用程序上的下订单窗口的标题栏中。 Functional Tester 用红色边框勾勒整个“下订单”窗口。
释放鼠标按钮。 在“数据驱动操作”页面中,在数据驱动命令表下面,显示了关于所选对象的信息。 将他们依次修改为以下内容,这样更加具有可读性。
作曲家
项
数量
卡号
卡类型
截止日期
名称
街道
城市与省/自治区/直辖市邮编
电话
数据驱动的测试的核心有第二步来了:以数据池地址来创建验证点。
在记录工具栏上,单击插入验证点或操作命令。
在“验证点和操作向导”中,使用鼠标将对象查找程序 () 拖动到 $18.99,该金额位于 Classics CD 应用程序中“总计”的旁边。 Functional Tester 以红色边框勾勒 $18.99。
如果未显示“选择操作”页面,请单击下一步。
在“选择操作”页面中,单击执行数据验证点以测试 CD 价格是否更改。
单击下一步。
在“插入验证点数据命令”页面,单击下一步。
在“验证点数据”页面工具栏上,单击将值转化为数据池地址以便在验证点中使用数据池而不是字面值。
“数据池地址转换器”对话框将打开。
在“数据池变量”字段中,输入价格以替换用于数据池标题的新变量。
选中向数据池中的新纪录添加值复选框,以将价格添加到先前练习中创建的现有数据池纪录中。
单击确定。
单击完成。
向数据池添加数据。
在“脚本浏览器”中,双击测试数据池,然后双击专用测试数据池。在测试脚本编辑器中,双击测试数据池选项卡以展开数据池编辑器,以便您进行编辑。
数据池编辑器将打开,添加数据完成后,结果应与下表类似:
作曲家 项 数量 卡号 卡类型 截止日期 名称 街道 城市与省/自治区/直辖市邮编 电话 价格
0 Schubert String Quartets Nos. 4 & 14 1 1234567890 Visa 09/09 Trent Culpito 75 Wall St. Ny, Ny 12212 212-552-1867 $18.99
1 Schubert String Quartets Nos. 4 & 14 2 1234567890 Visa 09/09 Trent Culpito 75 Wall St. Ny, Ny 12212 212-552-1867 $18.99
2 Schubert String Quartets Nos. 4 & 14 3 1234567890 Visa 09/09 Trent Culpito 75 Wall St. Ny, Ny 12212 212-552-1867 $18.99
在测试数据池选项卡上,单击 X 以关闭数据池编辑器,然后单击是以保存对数据池所做的更改。
回放脚本,观察日志。