BDD(Dan North、Dave Astels、Dave Chelimskyなど)は、配信プロセス全体をアジャイルにする運動です。
とは言うものの、BDDを実行するチームは、ATDDの手法、つまり受け入れ基準の実行可能な仕様から開始するプロセスを採用することになります。ポイントを伝えるのに効果的なグラフィックは、ATDDがTDDの内部サイクルをラップする場所です。
ATDDは、開発前に実行可能受け入れ基準から開始し、それを使用して基盤となるコードベースの設計を形成する方法にすぎません(TDDによく似ていますが、より分厚いレベルです)。
以下は完全に意見であり、完全に正確ではない可能性があり
ます。ATDDを実行している可能性がありますが、BDDを実行していない可能性があります。
たとえば、自動受け入れテストを書いている可能性がありますが、それは読み取り可能ではありません。意図を伝えていません。自動化された「回帰」テストの包括的なスイートを作成している可能性がありますが、システムが何を実行するのか、どのように機能するのかはわかりません。
- BDDは言語とコミュニケーションに強く重点を置いています。例:行動を指定する、つまり言う代わりに
XDoesYをテストする
BDDはそれを次のように指定します
StakeHolderとして、XはYを実行して、Zを実行できるようにする必要があります。
最後に、主な違い(発生する可能性はありますが、発生する必要はありません)は、ATDDがアクティブな開発+回帰のターゲットとして機能する包括的な自動スイートに変わる可能性があることです。BDDは、将来の建設的な会話を可能にする実行可能な例を介して、問題ドメインとソリューションドメイン間の共有言語+生きたドキュメントに針をさらに移動することをお勧めします