InfoQ

新闻

通过FIT和FitNesse进行业务沟通

作者 Geoffrey Wiseman译者 包亮 发布于 2007年11月23日 上午4时44分

社区
Agile
主题
商业,
企业级敏捷
标签
Fit/Fitnesse,
验收测试

FIT(集成测试框架)和 FitNesse虽然都被用于敏捷项目进行集成测试(integration test)和验收测试(acceptance test),但很多人已经尝试将两者结合起来作为通用的测试框架。一些人指出FIT只能用于进行业务沟通或者客户沟通的交叉功能测试(cross- functional test),而且这一点是相当重要的。

要是FIT和FitNesse使用不当,多半是由于相关方面的共享经验不足引起的。

Naresh Jain指出目前还没有足够成熟的模式(pattern)和反模式(anti-pattern):

我们是否应该用静态方式在各个环节中共享数据?如何设计Fixtures?继承与否?

在过去的几个月中,有些人已经分享了关于FIT和FitNesse的使用经验。James Shore描述了五种误用FIT的方式,其中他提到,人们尝试使用FIT来实现自动化,而这并非FIT所长,与客户沟通才是FIT所长。

当然,它被称作“集成测试框架”。但关键词在于“集成”,而不是“测试”。实际上,做为自动测试工具,Fit则显得相当劣 势。卓越的自动测试工具有很多,例如xUnit、Watir、Selenium,更不用说昂贵的屏幕抓取工具(screen scraper)了,它们都强于Fit。

Fit的长处——我所知道的,做得比其他工具要好的方面——“能够用表格提供示例”这一点会让客户觉得很舒服,Fit是用于客户沟通的卓越的工具。如果用它来自动化回归测试,将会令人捶胸顿足;如果用它来增强与客户沟通,将会使人眉开眼笑。

他总结了以下几点:

  • Fit有利于沟通,不利于自动化测试
  • 人们更多的使用Fit来进行测试自动化,而很少在沟通中使其发挥作用

Naresh Jain分享了一些关于FitNesse的模式与反模式。Naresh Jain同意了James Shore对FIT的看法,并且建议FIT不应该作为单元测试的替代品:

FitNesse不是QA测试工具。为了让FItNesse保持简单而且专司其职,我们只能用它来编写验收测试,而不是其他类型的测试。没有了对测试维护的支持,QA有效地使用它确实成了大问题。

此外,他建议FIT应该被用于交叉功能测试(cross-functional test):

将基于FitNesse的验收测试应用于交叉功能测试团队成员间的协作,是一个帮助团队内部交流的好方法。它鼓励团队中的每个成员讨论业务实体,从而在故事初期就使用业务术语(domain language)。

Naresh Jain和James Shore都指出其他一些模式和反模式,他们也一致认可了FIT在软件项目中扮演的角色。

InfoQ之前的文章就涵盖了有关FIT和FitNesse的内容, 包括DbFit、FitNesse与.NET、FitNesse与Ruby以及一本关于FIT验收测试的初级读本。

查看英文原文Communicating with Business Using FIT and FitNesse
译者简介: 包亮,一名普通的程序员,喜欢敏捷实践,喜欢"懒惰",减少重复,尽可能让工作变得简单。几年来,一直通过网络汲取知识,也希望通过网络将知识与人分享 。志愿参与InfoQ中文站内容建设,请邮件至china-editorial@infoq.com

没有回复

回复

独家内容

剖析短迭代

敏捷教练Dave Nicolette提出:我们应该如何设定迭代长度?是要根据发布周期的时间么?使用短迭代又有哪些好处?

应用JSF、Ajax和Seam开发Portlets(1/3)

本文主要讲述了如何用JBoss Portlet Container 和JBoss Portlet Bridge创建新项目,怎样配置一个JSF应用去使用JBoss Portlet Bridge,以及JBoss Portlet Bridge所具备的功能。

AtomServer:数据分发的发布动力(第二部分)

在这篇文章里,Bryon Jacob和Chris Berry将和我们继续探讨AtomServer,它是基于Apache Abdera的完整Atom存储实现。作者还创建了几个Atompub规范扩展,其中包括自动标记、批处理和Feeds聚合。

架构师(试刊第二期)

InfoQ中文站的电子杂志《架构师》试刊第二期出版了!相比于上期,我们在内容的选择安排和版式上都根据读者的意见重新做了修正。“细节决定成败”,我们希望基于InfoQ中文站的专业内容,《架构师》能逐渐成为大家喜欢的电子刊物!

一种正规的性能调优方法:基于等待的调优

在本文中,Steven Haines探讨了Web应用性能调优问题。该领域过去更像是一门艺术而不是一门科学。他提出了一种称为基于等待调优的方法,使整个调优过程更加可度量,也因此更具科学性。

Java程序员ActionScript 3入门

通常来说,改变技术路线时最艰难的部分是辨别语言语法之间的不同。这篇文章就为Java开发者提供了一份如何转向Flex基础语言ActionScript的指南。

浅谈如何创建Rails应用

本视频主要以财帮子为例,介绍了如何创建一个PV为百万级的Rails应用。其中包括:Rails应用的服务器架构、Rails Cache的优化、负载均衡的处理、Web服务器的调试、分布式解决方案、Open API的设计等等。

Alexandru Popescu谈InfoQ.com网站架构

InfoQ首席架构师Alexandru Popescu在采访中谈论了InfoQ架构、Webwork与DWR、Hibernate与JCR、Hibernate可扩展性、最新的InfoQ视频流系统和InfoQ的未来规划。