行為驅動開發是由 Daniel Terhorst-North 在 00 年代初率先提出的,正如他在 2006 年一篇名為《BDD 簡介》的文章中所解釋的那樣。它源自對測試驅動開發 (TDD) 的回應,作為一種幫助新敏捷團隊的程式設計師「直接進入重點」,了解如何處理測試和編碼,並最大限度地減少誤解的方式。BDD 已經發展成為接受層級的分析和自動化測試。Liz Keogh,另一位 BDD 先驅,從 2004 年開始撰寫和廣泛談論它。

早期支援 BDD 的工具

2003 年,Daniel Terhorst-North 開始編寫 JUnit 的替代品,名為 JBehave,使用基於「行為」而不是「測試」的詞彙。Liz Keogh 和 Chris Matts 也開始在早期做出貢獻。受到 Eric Evans 的領域驅動設計中引入的通用語言概念的影響,並專注於商業價值,開發了「Given/When/Then」範本,以可執行的形式擷取故事的接受標準。它部分源於 Connextra 的 Rachel Davies 建立的用於編寫用戶故事的「身為...,我...,以便...」範本,該範本已成為公認的標準。

2005 年,RSpec 專案在 Ruby 語言中支援 BDD,由 Dave AstelsSteven BakerAslak HellesøyDavid Chelimsky 創立。

Cucumber 的起源

在幫助改進 RSpec 的過程中,Aslak 對錯誤訊息、步驟定義程式碼片段和結果報告等領域的改進有很多想法。RSpec 是為程式設計師設計的,而 RSpec Story Runner 則適用於整個團隊,包括非編碼的利益關係人。

他開始了一個新專案,打算製作一個更好的 Story Runner 版本。他最初稱之為Stories,但要求他當時的未婚妻提供一個更吸引人的名字。她想到了 Cucumber,它就此定案。

您可以幫助我們改進此文件。編輯此頁面