Window Control Action Arguments Calculator Menu View, Standard Calculator Pushbutton Click 1 Calculator Pushbutton Click + Calculator Pushbutton Click 3 Calculator Pushbutton Click = Calculator Verify Result 4 Calculator Clear Calculator Pushbutton Click 6 Calculator Pushbutton Click - Calculator Pushbutton Click 3 Calculator Pushbutton Click = Calculator Verify Result 3
这个表格代表了一个完整的测试,为了表示一系列测试可以根据需要增加。一旦你创建了数据表,你就可以简单地编写用来读取每一个步骤的程序或脚本集,基于Action字段中的关键字执行步骤,完成错误检查,然后记录任何相关的信息。这种程序或脚本集看上去象下面的伪代码: Main Script / Program Connect to data tables. Read in row and parse out values. Pass values to appropriate functions. Close connection to data tables. Menu Module Set focus to window. Select the menu pad option. Return. Pushbutton Module Set focus to window. Push the button based on argument.Return.
Verify Result Module
Set focus to window.
Get contents from label.
Compare contents with argument value.
Log results.
Return.
从这个例子里你可以看到为了生成许多的测试用例,这种框架只要求非常少的代码。用数据表生成不同的测试用例却可以重用相同的代码。IBM Rational工具集可以通过使用交互式的文件读取,查询或数据池延伸开来,或者你可以连同IBM Rational一起使用其他的工具(免费,其他的开发工具等)来构建这种类型的框架。 数据驱动测试框架(The Data-Driven Testing Framework)数据驱动测试是测试从数据文件(数据池,ODBC源,cvs文件,Excel文件,DAO对象等)中读取输入和输出数值并载入到捕获的或手工编码的脚本中变量里的一种框架。在这种框架里,输入数值和输出验证数值都使用变量。在测试脚本中编写贯穿程序的导航,数据文件的读取,记录测试状态和信息的日志的代码。测试用例包含在数据文件里而不是在脚本里的方面上,这种框架和表格驱动测试有些相似;脚本只是一种“驱动器”(driver)或传送数据的机制。尽管导航的数据不包含在表结构中,但和表格驱动测试还是不同的。在数据驱动测试里,只有测试数据包含在数据文件中。如果使用SQABasic语言和IBM Rational的数据池功能,IBM Rational工具集里有自带的数据驱动功能。为了演示这种框架的使用,我们将测试一个简单应用程序中的订单表格。 如果我们录制这个窗口中的数据输入,得到以下脚本: 我们可以使用数据池来设置测试有效和无效信用卡号和过期日期的测试用例。例如,下图中是用于测试数据字段的测试用例中的数据池, 为了接收这些数据,我们修改脚本如下: 为了使用数据池,我增加了SQABasic命令,还增加了“While”循环来处理在数据池中每一行数据。我必须说明一下在“If…Then”语句中的Ucase(SQABasic命令)函数。Ucase用于将参数(在这个例子里是指数据池返回的数值)全部转换成大写。这种方法不是大小写敏感的,所以代码更强壮。这个框架趋向于减少你为了实现所有测试用例而需要的全部的脚本数量,并且在开发绕开错误的办法(Workaround)和维护方面提供了最好的灵活性。和表格驱动测试非常相似的是,表格驱动测试只需要非常少的代码就可以产生大量的测试用例。用IBM Rational工具集实现这种框架是非常容易,并且它也提供了大量的关于指引和例子的详细文档。 混合的测试自动化框架(The Hybrid Test Automation Framework)最常见的已实现的框架是上述技术的组合,抽取它们的优点,剔除其弱点。这种混合的测试自动化框架是发展时间较长且应用项目最多的框架。下图可以让你对如何用IBM Rational工具集组合不同的框架有初步的认识。 总结我描述了自动化测试小组可以考虑使用的5种测试自动化框架,而不是依赖某一种捕获工具。你可以使用一种或它们之间的组合。你可以通过嵌套测试脚本实现模块化并使用SQABasic库文件来实现功能和过程。不管你选择哪一种数据驱动技术,你都可以使用数据池,或者你还可以扩展Robot来处理其他数据存贮类型。应用最好的框架的窍门和解决他们的唯一方法是投入进去并开始使用它们。
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/