跳转到主要内容

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

当您初次登录到 developerWorks 时,将会为您创建一份概要信息。您在 developerWorks 概要信息中选择公开的信息将公开显示给其他人,但您可以随时修改这些信息的显示状态。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容一同显示。

所有提交的信息确保安全。

  • 关闭 [x]

当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

所有提交的信息确保安全。

  • 关闭 [x]

使用 Rational Functional Tester 和开源的 SAFS 解决方案进行关键字驱动测试

Daniel Gouveia (dgouveia@us.ibm.com), 销售工程师, IBM
Dan Gouveia 是一位 IBM 的销售工程师,最初他把主要的精力放在 Rational 的功能和性能测试工具上。他与客户一起用最有效的方式来实施这些工具,经常处理的一些主题包括关键字驱动测试,开发自动化框架,等等。

简介: 本文引入了一种使用 Rational Functional Tester 来支持关键字驱动(Keyword-Driven)测试的开源架构 SAFS(Software Automation Framework Support)。它覆盖了实现此方案所需要的一些不同的组件。

发布日期: 2006 年 10 月 12 日
级别: 初级
访问情况 : 1642 次浏览
评论: 


介绍

您已经拥有了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文件
an example of a MAP file

Step Table (.SDD)文件是一些“固定的”步骤,用来告诉Functional Tester该做些什么。每一行都表示一个指令。例如,以下行 …

T,ClassicsMainwin,PlaceOrderButton,Click

…指示Functional Tester点击在ClassicsMainWin上发现的PlaceOrderButton。Functional Tester参照MAP文件中的PlaceOrderButtonClassicsMainWin关键字,并Functional Tester知道需要点击的对象叫作 placeOrder ,并且这个对象能够在基于classicsJava的窗口上被找到。下图显示了执行测试用例的SDD文件的片断。


图2. 执行测试用例
Carrying out a test case

Suite Table (.STD) 文件是一个中间媒介文件,它可以用于把多个SDD文件组织在一起。这些文件可以用在许多事情上,比如测试一个包含多个输入的用例。这个功能与Functional Tester中的shell脚本概念有些相似。下图展示了一个调用3个独立SDD文件的STD文件。


图3. 调用三个独立的SDD文件
Calling three separate SDD files

Cycle Table (.CDD)文件是更高层的文件,它用于调用多SDD文件并且设置一定的元数据。例如,一个CDD文件可以被用于调用所有描述系统级测试的SDD文件。STD文件通过调用相应的SDD文件可以管理应用程序不同部分(组件,用例,功能的主要区域,等等)的回归测试。CDD文件可以通过调用必要的STD文件管理整个应用程序的回归测试。下图阐述了一些元数据的设置(例如测试版本,什么应用映射被使用,等等)同时调用了一个 Suite Table 文件。


图4. 设置元数据并且调用一个 Suite Table 文件
Setting metadata and calling a Suite Table file

最后,safstid.ini文件是配置SAFSDRIVER执行的方法。它可以告知SAFS使用哪些测试自动化工具,在哪里可以找到我们的项目目录 (包含了我们的表格文件),我们想要获得什么样的日志,以及如何自动启动。下图阐述了 Rational Functional Tester Engine 的配置。


图5. Rational Functional Tester Engine 配置
Rational Functional Tester Engine configuration

结论

总的来说,引入了一个关键字驱动体系架构,比如像SAFS,可以极大地提高您测试团队的生产力。然而,就如同自动化本身一样,它不是万能的。在实现这个框架,开发最佳实践,开发必需的表、映射以及配置文件等时仍然会存在许多问题。此外,您还需要计算成本/收益,以分析哪些地方应该采用自动化,而哪些地方则不必采用。


参考资料

学习

获得产品和技术

讨论

关于作者

Dan Gouveia 是一位 IBM 的销售工程师,最初他把主要的精力放在 Rational 的功能和性能测试工具上。他与客户一起用最有效的方式来实施这些工具,经常处理的一些主题包括关键字驱动测试,开发自动化框架,等等。

关于报告滥用的帮助

报告滥用

谢谢! 此内容已经标识给管理员注意。


关于报告滥用的帮助

报告滥用

报告滥用提交失败。 请稍后重试。


developerWorks:登录


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 使用条款

 


当您初次登录到 developerWorks 时,将会为您创建一份概要信息。您在 developerWorks 概要信息中选择公开的信息将公开显示给其他人,但您可以随时修改这些信息的显示状态。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容一同显示。

请选择您的昵称:

当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

(长度在 3 至 31 个字符之间)


单击提交则表示您同意developerWorks 的条款和条件。 使用条款.

 


为本文评分

评论

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Rational
ArticleID=167465
ArticleTitle=使用 Rational Functional Tester 和开源的 SAFS 解决方案进行关键字驱动测试
publish-date=10122006
author1-email=dgouveia@us.ibm.com
author1-email-cc=rjbence@us.ibm.com

标签

Help
使用 搜索 文本框在 My developerWorks 中查找包含该标签的所有内容。

使用 滑动条 调节标签的数量。

热门标签 显示了特定专区最受欢迎的标签(例如 Java technology,Linux,WebSphere)。

我的标签 显示了特定专区您标记的标签(例如 Java technology,Linux,WebSphere)。

使用搜索文本框在 My developerWorks 中查找包含该标签的所有内容。热门标签 显示了特定专区最受欢迎的标签(例如 Java technology,Linux,WebSphere)。我的标签 显示了特定专区您标记的标签(例如 Java technology,Linux,WebSphere)。