写点什么

BDD 就是做得比较好的 ATDD 吗?

  • 2011-02-22
  • 本文字数:1095 字

    阅读完需:约 4 分钟

在行为驱动开发社区,一个老问题又以一种新的形式被提了出来:行为驱动开发(BDD)是不是就是做得比较好的验收测试驱动开发(ATDD)?尽管社区成员列举出了一些不同点,但 Dan North 呼吁大家不要去关注这种叫做“神奇”测试驱动开发的观点。

当 Dan率先介绍行为驱动开发时,他改变了在TDD 中广泛使用的语言,转而使用行为性词汇来代替测试词汇。敏捷社区中有些成员认为BDD就是“做得比较好的TDD”。目前,像 Cucumber JBehave SpecFlow 之类的工具已经比较成熟,可以在 BDD 场景中,以用户的视角描述整个系统或应用的行为,为验收测试驱动开发注入了“Given,When,Then”这样的语言。BDD 的边界还不是很清晰,社区正在再次讨论这个老问题,并问道“是什么让 BDD 变得与众不同?”。

在他的发言“如何向企业推销 BDD ”中,Dan 提出了这个问题,然后解开了 BDD 的定义,展示了如何在软件开发的不同阶段和范围内应用 BDD:

“BDD 是第二代由外至内的、基于拉动的、多利益相关者的、多尺度的、高度自动化的敏捷方法。”

Dan 也承诺在日后会对BDD 做更清晰的定义 GivWenZen 框架的作者 Wes Williams回复到

“我认为这个定义漏掉了一个关键部分,我们一直在关注协作和学习。大概是 2005 年的时候,我做过一个项目,使用了‘ATDD’,我们有类似 BDD 的目标,但没有使用 Given When Then 这样的语言。”

在 Dan 最初的 BDD 介绍中,他说正是由于测试中使用语言的水平比较低,从而促使他使用“应该”来代替“测试”。 Neel Lakeshminarayan 就这点说道

“BDD 更多的是提倡使用‘恰当的词汇’——一个重要的区别。这很微妙,但非常强大……你开始思考各种差异很大的问题。你可能会听到‘预期的行为是什么?’,而不是‘我应该测什么?’。这会让你以不同的方式去思考,因此,你会编写出截然不同的代码。”

因此不同点是什么呢?除了使用不同的语言,Dan 从更广泛的哲学角度强调了 BDD 的自我学习方面,他称之为“蓄意发现”,“而不是偶然发现”。他把蓄意忽略我们的技术、人员和过程作为目标;尽管我们尽心尽力,但我们总是忽略了这一点。然而,他让社区缩小 BDD 和 TDD,或者做得比较好的 ATDD 之间的差异,他请求道

“我想避免‘因为……,BDD 要优于 TDD’,或者更有甚者‘BDD 不同于 TDD(就如原先设想的那样),因为……’。TDD 是令人惊叹的,它最初的概念就是用于解决我一直想用 BDD 解决的问题的……它并不是做出优秀设计的唯一方法,BDD 也不是。BDD 是有关了解客户需求,并让这种对需求的逐渐理解来驱动软件开发……总是试图去获取更深入的理解。但我敢打赌,如果你问 Kent Beck 什么是 TDD,他的回答会是相同的。”

查看英文原文: BDD: ATDD done well?

2011-02-22 01:404757
用户头像

发布了 38 篇内容, 共 85246 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

Spring高手之路20——深入理解@EnableAspectJAutoProxy的力量

砖业洋__

Java spring 后端

重磅发布!华为开发者空间:让每位开发者拥有一台云主机

华为云开发者联盟

华为云 华为云开发者联盟 云空间 企业号2024年6月PK榜

win版Driver Talent Pro (驱动人生) v8.1.11.46 特别版

iMac小白

win版CorelDRAW Graphics Suite 2024(cdr2024) v25.1.0.269 激活版

iMac小白

智源和港中文联合提出首个多功能3D医学多模态大模型(文本、定位和分割任务)

智源研究院

通义灵码上线 Visual Studio 插件市场啦!

阿里云云效

阿里云 云原生 通义灵码

Rust这5个自动验证工具,你知道几个?

伤感汤姆布利柏

大模型技术及趋势总结

京东科技开发者

win版iTop Data Recovery Pro(iTop 数据恢复) v4.4.0.687 专业激活版

iMac小白

win版4K Video Downloader Plus(4K视频下载器)特别版

iMac小白

通义灵码上线 Visual Studio 插件市场啦!

阿里巴巴云原生

阿里云 云原生 通义灵码

win版 CCleaner(系统优化工具)v6.23绿色便携版

iMac小白

独家|GenAI年中回顾,2024网络内容审核的API实战指南

爱AI的猫猫头

人工智能 网络安全 AIGC GenAI UGC

低代码开发:引领HR数字化变革新时代

不在线第一只蜗牛

低代码 数字化 HR

win版Radiant Photo(照片编辑美化软件) v1.3.1.458 (x64)特别版

iMac小白

液冷赋能,AI算力锐不可当

GPU算力

低代码开发:加速工业数智化转型发展

EquatorCoco

低代码 工业 数智化

凯捷咨询携手华为云发布数字化零售解决方案,共创数智零售新生态

Geek_2d6073

win版IDimager Photo Supreme 2024(图片管理软件)激活版

iMac小白

win版Topaz Gigapixel AI(人工智能图片放大工具) v7.2.2 (x64) 特别版

iMac小白

技术解读数据库如何实现“多租户”?

快乐非自愿限量之名

MySQL 数据库 多租户

Lombok注解引发的空指针问题分析

京东科技开发者

小红书 2024 大模型论文分享会来啦,与多位顶会作者在线畅聊!

小红书技术REDtech

acl 大模型 Iclr LLM

win版StreamFab Downloader(视频下载工具) v6.1.8.4 激活版

iMac小白

开发做一个欧洲杯直播比分预测平台,只需三步

软件开发-梦幻运营部

Aquila-Med LLM:开创性的全流程开源医疗语言模型

智源研究院

华为云618营销季来袭,数据灾备方案为云端业务筑牢安全防线

YG科技

win版Firetrust MailWasher Pro (垃圾邮件过滤软件) v7.12.216 激活版

iMac小白

AI大模型“行业数据集-场景应用创新计划”启动征集

智源研究院

大模型助力国际术语专业化,前后联动实现所见即所得

京东科技开发者

BDD就是做得比较好的ATDD吗?_研发效能_Elizabeth Keogh_InfoQ精选文章