2008-09-23 86 views

回答

9

我非常喜歡做BDD = TDD陣營。如果您按照Beck最初描述的方式進行TDD並且由許多人實踐 - 那麼這兩者基本上沒有區別。

什麼BDD帶來的表是用來描述程序語言中的一些有趣的變種。通過在流程和工具描述中使用替代術語,BDD民衆希望鼓勵更好的實踐 - 一個值得稱讚的目標。

我已經做TDD了這麼久,現在它是我很難判斷這是否實際上幫助。我認爲(希望:-)我已經學到了很多BDD工具/語言鼓勵的教訓,以至於他們似乎沒有爲我提供太多額外的價值。當然YMMV--我還沒有使用BDD工具完成一個完整的「真實世界」項目 - 所以我可能正在進行我的個人實驗並推斷太遠。

我倒是是BDD工具/語言可能更有用民間被引入到接近發展這種方式 - 因爲它們避免了更多傳統意義上被使用,「測試」整個混亂。我還沒有自己做過 - 如果這裏的民衆有任何這樣的經歷,我會感興趣。

9

BDD與TDD類似,但具有不同的思維模式。在BDD中,您試圖創建可執行規範而不是測試。這主要通過使用與TDD不同的詞彙表而類似的機制來完成。

BDD似乎是很多,人們聲稱做TDD,但在編寫集成測試,而不是單元測試的情況下的反應。 BDD的人認爲談論測試是誤導性的,因此測試成爲了規格。這似乎有點形而上學,但它背後有一些很好的想法。

2

BDD就是運行場景。與TDD類似,我們將測試每個場景作爲故事。

故事會由客戶來解釋..立足於故事情節中的場景將被寫入。像CUCUMBER這樣的工具可以輕鬆編寫場景。

0

TDD和BDD幾乎相同。不同之處在於我們如何解釋它,因此成功的團隊最終如何才能爲他們工作。

BDD通過正式的最佳TDD從業人員的良好習慣建立在TDD。 TDD是編寫優秀軟件的開發人員工具或指南,BDD是幫助外部開發的好工具,因爲它使用無處不在的語言開發,因此更容易從商業中獲益。

我的經驗是,BDD幫助協作,並利用業務可讀,可執行的規格有助於建立時,大家在團隊參與編寫描述系統應該做什麼文檔共同的語言。這有助於整個團隊一起學習域名的語言。

BDD是使TDD成功所需要的。