功能测试的未来

  • Ben Hughes
  • 乔梁

2008 年 2 月 22 日

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

近来在功能测试驱动开发领域有很多活动Jennitta AndreaWard Cunningham 发布了一段“预见下一代功能测试工具”的 网络视频 。 思特沃克公司(Thoughtworks,简称 TW)也宣称他们打算携一款产品进军这一领域。自从去年在波兰举行了功能测试工具访谈会,功能测试领域的新生事物已经加快了它的发展步伐。

在这个网络视频中,Jenitta 对功能测试工具访谈会 上讨论的一些思想进行了补充,主要有以下几点:

  • 使用“红-绿-重构”的方法进行功能测试;
  • 将功能测试也纳入到 TDD 中;
  • 扩展产品规范(Product Specification),以便利用行为驱动开发 (Behaviour Driven Development) 和领域专用语言(Domain Specific Languages)在核心技术和纪律(the Core technologies and disciplines)上达成一个公用共享语言;
  • 在 IDE 中为功能测试领域设计的新功能 - 在软件开发社区已经有一些相关功能了;
  • 明确地表明,要将功能测试的生命周期从功能测试驱动的开发扩展到系统维护;
  • 根据受众的不同,定义不同的功能测试环境或视图(Contexts/Views)。例如,一个分析师可以使用与开发人员不同的测试视图;
  • 术语演进——提倡用“样例 (Example)”代替“测试(Test)”。

Elisabeth Hendrickson 在博客上发表了Ward Cunningham 在这一领域的进展,以及它的产品Process Explorer

Process Explorer 让你通过不同的表现形式来查看你的自动化功能测试。你可以用传统方式看到那些测试,比如一系列的命令像 “check(’这里填写数据’)。” ,可以直接看到已经执行过且有了结果的测试。当然,你也可以看到一个表格,其中有当前这批用例中任意一个动作 (Action) 被执行过多少次,还可以进一步查看每个动作,看是哪个用例调用了它。 更妙的是,你还可以看到一个泳道图,图中显示了在由某个 Actor 组织在一起的用例中所有的动作。

在泳道视图中,当你将鼠标放在该用例的每个步骤上时,一个弹出框会显示出该步骤的结果。这不是一个非得人工维护的静态图。它是通过 AJAX 发出请求后,服务器端负责返回该部分页面的代码即时生成并返回的动态 HTML。

这一领域发展迅速,亲爱的读者,你在功能测试工具方面有哪些经验呢?在你所在项目的交付生命周期,中这些工具在哪个环节派上用场了?

一如即往,我们将为你提供这一领域的最新发展动向,你可以使用Customers and Requirements这一标签查看更多关于这方面内容的主题。



查看英文原文:The Future Of Functional Testing
敏捷测试语言 & 开发架构文化 & 方法