行为驱动开发是由 Daniel Terhorst-North 在 21 世纪初开创的,正如他在 2006 年的一篇文章 Introducing BDD 中所解释的那样。它是对测试驱动开发 (TDD) 的一种回应,旨在帮助新敏捷团队的程序员“直接进入好东西”,了解如何进行测试和编码,并最大限度地减少误解。BDD 已经发展成为验收级别的分析和自动化测试。 Liz Keogh 是另一位 BDD 先驱,从 2004 年开始撰写和发表有关 BDD 的文章。

支持 BDD 的早期工具

2003 年,Daniel Terhorst-North 开始编写一个名为 JBehave 的 JUnit 替代品,使用基于“行为”而不是“测试”的词汇。Liz Keogh 和 Chris Matts 也在早期就开始贡献。受 Eric Evans 在 领域驱动设计 中提出的通用语言理念的影响,并且也专注于业务价值,“Given/When/Then” 模板被开发出来,用于以可执行的形式捕获故事的验收标准。它部分源于 Connextra 的 Rachel Davies 创建的用户故事写作模板“作为一个…,我…,这样…”,该模板已成为公认的标准。

2005 年,由 Dave AstelsSteven BakerAslak HellesøyDavid Chelimsky 共同创立了 RSpec 项目,该项目在 Ruby 语言中支持 BDD。

Cucumber 的起源

在帮助改进 RSpec 的过程中,Aslak 对错误消息、步骤定义代码片段和结果报告等方面的改进有很多想法。RSpec 是为程序员设计的,而 RSpec Story Runner 是为整个团队设计的,包括非编码利益相关者。

他开始了一个新项目,打算制作一个比 Story Runner 更好的版本。他最初称之为Stories,但请他当时的未婚妻想一个更吸引人的名字。她想到了Cucumber,这个名字就一直沿用至今。

您可以帮助我们改进这份文档。 编辑此页面.