在 Agile 2009 大会之前的周日,第三届敏捷联盟功能测试研讨会召开了。任何有志于改进现有功能测试(相对单元测试而言)工具的人都可以参加开放空间议程。与会者中包括下列工具的创建者和贡献者: Selenium ,、 SWAT ,、 Cucumber ,、 WebTest ,、 RobotFramework 和 Twist 。
由于采取了开放空间的形式,会议大纲和日程都是现场决定的,本年度有 3 个时间档和 4 块场地,所以可以举办 12 个议程活动。
Lisa Crispin 是 Agile Testing 一书的联合作者,在她的记录中,第一个议程是多个工具的快速演示,这些工具不像 Selenium 和 Watir 那么知名,其中包括:Canoo WebTest 、 Twist 、 Cucumber 、 Robot Framework 和 SWAT 。Lisa 说道:“Robot Framework 给我留下了深刻印象,这是一个开源工具,开发者是 Pekka Klärck。它非常灵活,使用的表格形式非常类似 FitNesse,但是只有一种类型。你可以完成关键字驱动、数据驱动甚至是 BDD 风格的测试。它还可以使用命令行参数,允许你调用内部和像 Swing 这样的外部程序库。……SWAT 引起了人们很大兴趣,以前没人见过它,我想人们对其 IDE 尤其印象深刻。”
Paul King 是 WebTest 和 Groovy 的贡献者,他提议:“开发更多混合与匹配(mixing and matching)测试框架、驱动和实用工具。我们都同意测试运行工具已经足够多了,开发人员们应该把注意力放在解决新问题上。”
在另一天上午的议程中, Matt Wynne 、 Richard Lawrence 、Aslak Hellesøy 和笔者讨论了将 Cucumber 移植至.NET 平台需要做的工作。结果发现:只要 Cucumber 的用户准备好在 Ruby 下运行测试,如果 Cucumber 开发人员能够找到一种简单的方式与测试应用通信,那么将 Cucumber 与.NET 关联起来就没多大困难。人们提出了一种类似于 FitNesse Slim 的方法。在议程结束时,Matt 和 Richard 着手开始完成解决方案。
在去年的议程中,大家同意用文档记录现有的相关工具,但是没有完成。今年,Gerard Meszaros 创建了一个电子表格(想获得编辑权限,请联系笔者:mark AT mlevison DOT com),内容基于他上午看到的演示。在下午的一个议程中,一组人聚在一起,将更多工具填入到该表格中,截至今日,他们在表格中记录的工具包括: SWAT 、 Cucumber 、 WebTest 、 RobotFramework 、 Twist 、 TestSwarm 、 JBehave 、Fit、 FitNesse 、FitNesseSlim、UltiFit、 Watir 、 Watin 、 Abbot 、 Fest 、 White 、 Sahi 和 Sahi-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
评论