Ⅰ.11 如何实现Keyword-Driven Testing

Keyword-driven testing 是一种测试方法,数据驱动且基于高级行为。它允许测试者使用熟悉的操作,如 'Add Item' 或 'Delete Item',创建测试数据表格,无需深入技术细节。本文介绍了如何创建 keyword-driven 测试,包括创建测试案例、执行测试数据、实现AUT-specific测试函数,以及构建通用的Keyword Driver函数。示例代码和测试数据在Squish的示例目录中提供。
摘要由CSDN通过智能技术生成

Keyword-driven testing测试(也称作'table-driven testing' 和 'action-word testing')是一种测试方法论,使用这种方法测试完全由数据驱动。使keyword-driven testing不同于data-driven testing的是:用后者我们读进数据项,例如,为了定位一个GUI table,但是用前者时数据项不仅仅是数据也可以使特定AUT函数的名字,以及当测试运行时它们执行的参数。

根据高级AUT行为如'Add Item' 或者 'Delete Item',keyword-driven testing 最大的优点是可以纯粹的作为数据tables创建一个测试,上述AUT行为是测试者熟悉的并且AUT可以关联到的,期间不需要知道更多的引擎下的技术。

keyword-driven 测试包括两个方面。首先是一次性的创建一些特定的AUT测试脚本函数来翻译数据,一次性的创建一个通用'driver' 函数,该函数从数据资源中读取数据,执行AUT-specific基于数据的测试脚本函数。第二个是创建一个或者多个测试案例以及相应的用于驱动测试的数据tables。

在这个部分我们将首先看一下一个测试员在创建一个测试案例和相应的测试数据时是如何做的,以及结果是如何产生的,然后我们会看一下场景背后一次性必须完成的工作,这样可以使它全部工作。

这个部分展示的所有的例子都在Squish的示例目录中(Python版:SQUISHDIR/examples/qt/addressbook/suite_keyword_py; JavaScript 版:SQUISHDIR/examples/qt/addressbook/suite_keyword_js,以此类推)。测试案例叫做 tst_keyword_driven。

尽管我们已经使用了一个基于Qt的AUT,基础的GUI工具包并不影响——使用该部分给出的思想你可以为任何Squish支持的工具包创建 keyword-driven testing。

Ⅰ.11.1 如何创建一个 keyword-driven 测试

keyword-driven需要的测试案例通常是相同的——并且极为简单:

 

source(findFile("scripts", "driver.py"))

def main():
    drive("keywords.tsv")

首先在通用的“驱动程序”功能中加载测试程序,然后它在一个测试数据文件中执行 drive() 函数。测试数据文件精确的指定了什么样的行为应该发生,以开启AUT开始,以终止AUT结束。

 

下面是一个典型的类似这样的数据文件:

 

->
KeywordArgument ->1Argument ->2Argument ->3Argument 4->
startApplicationaddressbook->->
chooseMenuItemFileNew>->
verifyRowCount0->->->
addAddressRedHerringred.herring@froglogic.->com555 123 4567->->->
addAddressBlueCodblue.cod@froglogic.->com555 098 7654->->->
addAddressGreenPikegreen.pike@froglogic.->com555 675 8493!
verifyRowCount3->
removeAddressgreen.pike@froglogic.com->
removeAddressblue.cod@froglogic.com->
removeAddressred.herring@froglogic.com->
verifyRowCount0
terminate

(我们已经用符号->标出的以tab作为间隔。)第一行包含了字段名,其

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值