功能测试工具研讨会

  • Mark Levison
  • 郑柯

2009 年 9 月 19 日

话题:敏捷测试语言 & 开发架构文化 & 方法

Hatching Cuke for .NET: Photo by Paul King 在 Agile 2009 大会之前的周日,第三届敏捷联盟功能测试研讨会召开了。任何有志于改进现有功能测试(相对单元测试而言)工具的人都可以参加开放空间议程。与会者中包括下列工具的创建者和贡献者:Selenium,、SWAT,、Cucumber,、WebTest,、RobotFrameworkTwist

由于采取了开放空间的形式,会议大纲和日程都是现场决定的,本年度有 3 个时间档和 4 块场地,所以可以举办 12 个议程活动。

Lisa CrispinAgile Testing一书的联合作者,在她的记录中,第一个议程是多个工具的快速演示,这些工具不像 Selenium 和 Watir 那么知名,其中包括:Canoo WebTestTwistCucumberRobot FrameworkSWAT。Lisa 说道:“Robot Framework 给我留下了深刻印象,这是一个开源工具,开发者是 Pekka Klärck。它非常灵活,使用的表格形式非常类似 FitNesse,但是只有一种类型。你可以完成关键字驱动、数据驱动甚至是 BDD 风格的测试。它还可以使用命令行参数,允许你调用内部和像 Swing 这样的外部程序库。……SWAT 引起了人们很大兴趣,以前没人见过它,我想人们对其 IDE 尤其印象深刻。”

Paul King 是WebTest和 Groovy 的贡献者,他提议:“开发更多混合与匹配(mixing and matching)测试框架、驱动和实用工具。我们都同意测试运行工具已经足够多了,开发人员们应该把注意力放在解决新问题上。”

在另一天上午的议程中,Matt WynneRichard Lawrence、Aslak Hellesøy 和笔者讨论了将Cucumber移植至.NET 平台需要做的工作。结果发现:只要 Cucumber 的用户准备好在 Ruby 下运行测试,如果 Cucumber 开发人员能够找到一种简单的方式与测试应用通信,那么将 Cucumber 与.NET 关联起来就没多大困难。人们提出了一种类似于 FitNesse Slim 的方法。在议程结束时,Matt 和 Richard 着手开始完成解决方案。

在去年的议程中,大家同意用文档记录现有的相关工具,但是没有完成。今年,Gerard Meszaros 创建了一个电子表格(想获得编辑权限,请联系笔者:mark AT mlevison DOT com),内容基于他上午看到的演示。在下午的一个议程中,一组人聚在一起,将更多工具填入到该表格中,截至今日,他们在表格中记录的工具包括:SWATCucumberWebTestRobotFrameworkTwistTestSwarmJBehave、Fit、FitNesse、FitNesseSlim、UltiFit、WatirWatinAbbotFestWhiteSahiSahi-Java。可以注意到,人们没有记录 Selenium。

下午晚些时候,人们举办了一个讨论,议题是像 Selenium IDE 这样的录制和回放工具。Lisa Crispin认为捕获 / 回放工具“对于学习新工具很有帮助,而且也能帮人们调试测试脚本,或是找到某个测试中应该使用的正确语句。然而,人们不应该仅仅使用捕获 / 回放工具,否则就会遇到问题。”Jason Huggins是 Selenium 的开发人员,他解释道:他对于 Selenium IDE 的通用性也很困惑(因为那仅仅是个录制 / 回放工具而已)。这个工具本来就是用来培训“新手”的,就像“刚学飞行的飞行员要从训练机开始。飞行员能从训练机上学到很多东西,不过最终还是要开真正的飞机。”为了让这个区别更加明显,人们提出的建议包括(选自Mike Longin的笔记):

  • 将 Selenium IDE 的名字改为 Selenium Trainer,让大家知道:录制不是自动化的终点。
  • 在录制器上创建某种复杂度表,当录制内容过于复杂时要告诉人们:也许应该学习一些新的自动化测试技术了。

Mike这样回应 Paul 的评论:“我们已经有了数不胜数的驱动程序、框架和运行器,现在也许该开始寻找一些集成方面的技术了,尝试如何利用这些出色的工具,并将它们组合利用。”

Pekka Klärck对 Jennitta Andrea 和 Elisabeth Hendrickson 组织今年的研讨会表示了感谢之情。

查看英文原文:Functional Test Tools Workshop

敏捷测试语言 & 开发架构文化 & 方法