介绍
您已经拥有了IBM®Rational®Functional Tester。购买它用来实现"更加快速开发质量更好的软件"的范例。它使您能够做许多事情,如创建动态验证点,在记录的同时进行数据驱动测试,等等。但是,您发现您的软件测试自动化工程师和非技术测试人员和/或者业务分析师产生了脱节。非技术测试团队对Functional Tester感到畏惧。他们宁愿停留在使用英文进行脚本的编写,而不愿使用Functional Tester的Java™ 语言。所以您如何消除这两组人员之见的脱节问题呢? 何不尝试实现一个关键字驱动的自动化体系架构,比如SAFS。
软件自动化框架支持(Software Automation Framework Support,或者SAFS),起初是一个开源架构,由SAS研究所的Carl Nagle开发。最早它被设计用来作为实现关键字驱动测试的一个待定工具框架。这就意味着SAFS可以在多种测试自动化工具中使用同样的关键字文件。这是通过让在下层的 SAFSDRIVER(SAFS如何执行)命令调用不同的"工具引擎"来实现的。其中一个引擎用于Rational Functional Tester,它可以使非技术测试人员开发自动化的测试。现在,自动化测试可以覆盖整个测试团队--不仅仅局限在只有测试自动化工程师才可以完成。
实现
将SAFS应用在Functional Tester环境中并不是一件很困难的事情。实际上,您会发现它把需要书写的Java代码减少到了最低程度。它的安装包括了以下高层的步骤:
安装SAFS(框架的本身)
安装STAF(用于实现工具独立服务的软件测试自动化框架,比如写日志)
设置已存在的项目(包括一些目录更改以及安装java/class文件)
一旦安装和配置工作完成,测试的开发将会包括以下表文件:
.MAP 文件
Step Table (.SDD) 文件
Suite Table (.STD) 文件
Cycle Table (.CDD) 文件
safstid.ini 文件
MAP文件将Functional Tester对象(例如classicsJava, tree2, placeOrder,等等)和对您的团队有意义的日常关键字(例如ClassicsMainWin,ComposerTree,PlaceOrderButton,等等)关联在一起。它还可以让您指定应用程序的常量,比如输入文本(例如 composer="Haydn")。以下的例子描述了MAP文件的样子。
图1. MAP文件
Step Table (.SDD)文件是一些“固定的”步骤,用来告诉Functional Tester该做些什么。每一行都表示一个指令。例如,以下行 …
T,ClassicsMainwin,PlaceOrderButton,Click
…指示Functional Tester点击在ClassicsMainWin上发现的PlaceOrderButton。Functional Tester参照MAP文件中的PlaceOrderButton和ClassicsMainWin关键字,并Functional Tester知道需要点击的对象叫作 placeOrder ,并且这个对象能够在基于classicsJava的窗口上被找到。下图显示了执行测试用例的SDD文件的片断。
图2. 执行测试用例