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
活动推荐:
2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。
评论