2009-08-26 62 views
2

我看到許多開發人員不同意在開始新項目時使用哪種測試風格。我想知道爲什麼你選擇這種特別的風格。BDD或TDD?你喜歡哪個?爲什麼?

+0

投票結束爲「主觀和議論」。至少應該是CW(在我的愚見) –

回答

3

TDD v BDD確實是一種心態。我看到的方式是,在TDD中,很多強調的是這個值應該在這個點上,當我看到BDD時,它也會測試當然的價值以及我們如何得到它們,當更多時候處於這種狀態,我的應用程序的這部分應該做什麼。

4

我通常使用以外的原理。你是否會稱TDD或BDD對我來說不重要。

這是什麼意思是我開始在最重要的我想實現的功能的一部分,並從那裏工作。這通常是用戶界面,但它不一定是。有時最重要的區域是服務操作或後臺進程,然後我從那裏開始。

我使用Test Doubles來定義我定義的類如何與其環境交互,然後在實現該功能時實現越來越多的由這些Test Doubles定義的抽象。

所以我想你可以說我以BDD的思維開始,然後越來越多地走向TDD,因爲我沿着調用堆棧走下去,可以這麼說。

5

BDD和TDD不排除對方。我認爲,從需求分析開始,BDD更多地涉及整個軟件開發。 TDD純粹與實現有關,實際上是開發人員的個人工作技巧。

+0

這是正確的。 BDD旨在將開發過程中的領域專家(根本不需要技術上的頭腦)包括進來,以便嚴格遵守業務要求。 TDD技術性很強,只與軟件開發者本身有關。 – Matthias

2

我學會了以BDD風格進行TDD。這一切都與你的思維方式有關。
很多人都認爲TDD是關於測試的錯誤。因此,BDD的創建是爲了通過強調行爲而非測試來最大限度地減少混淆。

相關問題