如图三所示,在功能测试的录制监视窗口,测试员可以根据提示启动被测应用系统,执行测试用 例中规定的测试步骤,实现测试脚本的录制。在测试脚本录制过程中,测试员可以根据需要插入验证点和数据驱动的测试脚本,验证点是在指令中比较实际结果和预 期结果的测试点,自动化功能测试工具正是通过它实现对被测系统功能需求的验证。
图三、测试脚本录制窗口
完成脚本录制过程以后,RFT会自动生成用工业标准语言Java描述的测试脚本,如下所示:
import resources.ThirdwithDatapoolHelper; import com.rational.test.ft.*; import com.rational.test.ft.object.interfaces.*; import com.rational.test.ft.script.*; import com.rational.test.ft.value.*; import com.rational.test.ft.vp.*; /** * Description : Functional Test Script * @author ndejun */ public class ThirdwithDatapool extends ThirdwithDatapoolHelper { /** * Script Name :ThirdwithDatapool* Generated :2005-4-17 15:22:36 * Description : Functional Test Script * Original Host : WinNT Version 5.1 Build 2600 (S) * * @since 2005/04/17 * @author ndejun */ public void testMain(Object[] args) { startApp("ClassicsJavaB"); // Frame: ClassicsCD classicsJava(ANY,MAY_EXIT).close(); } } |
中加入各种客户化脚本,实现各种高级测试功能。
3.2 使用RFT轻松实现数据驱动的软件测试
RFT具有基于向导(Wizards)的数据驱动的功能测试能力。在功能测试脚本的录制过程中,如图四所示,我们可以方便 选择被测应用图形界面上的各种被测对象,进行参数化,通过生成新的数据池字段或从数据池中选择已存在数据字段,实现数据驱动的功能回归测试。图四、数据驱动的功能测试
在生成测试脚本的同时,RFT还能够帮助测试员在验证点中使用正则表达式或使用数据驱动的方法建立动态验证点。动态验证点用来处理普通验证点的期望值随着输入参数不同而发生变化的情况。在下面的例子中,如图五所示,订单总金额会随着购买商品数量的不同而变化,通过数据驱动的功能测试方法,测试员首先要对购买的商品数量和订单总金额进行参数化,然后编辑验证点中的期望值,将其用数据池中的对应订单总金额代替,这样验证点中的总金额就随着购买商品数量的不同而得出正确的总金额。通过简单操作、无需任何编程,测试员就可以很方便地实现动态验证点的功能。
图五、生成动态验证点
此外,测试员还可以通过在验证点中使用正则表达式,建立更加灵活的验证点,保证测试脚本的重用性。
图六、正则表达式在验证点中的应用