言葉だけはたまに見かけてましたが、どんなものか全く知ろうとせず、ずっとどうでもいいやと思っていました。
ところがこれ、TDD を進化させたようなものだったんですね。
「テスト駆動開発」ではどうしても「品質のため」と誤解されがちで、「設計のため」って言っても中々信じてもらえません。でも「ビヘイビア駆動開発」ならきっと大丈夫。
これからは TDD を捨てて BDD へ移行していきたいと思います。
ただ、.NET 界隈だと残念ながら BDD はあまり浸透してない感じですね。具体的にどういう方法で実践していくのが良いか悩みどころです。
[Web 上で見つけた BDD 関連のリンク]
BDD とは何なのかがわかります。
NUnit で BDD を実践する方法の一例が紹介されてます。
- NUnitでBDD - サピア・ウォーフの仮説は当てはまらないが。(-.-) - NAgilerの日記
- NUnitでBDD - スペックリスト (^_^) - NAgilerの日記
- NUnitでBDD-継続的インテグレーション (-.-) - NAgilerの日記
- NUnitでBDD-素振り重要 (>_<) - NAgilerの日記
MbUnit で BDD を実践する方法の一例が紹介されてます。
.NET 用の BDD フレームワーク「NSpec」
.NET 用の BDD フレームワーク「NSpecify」
.NET 用の BDD フレームワーク「NBehave」
Ruby 用の BDD フレームワーク「RSpec」 (IronRuby を使えば .NET に対応可らしい)
Ruby 用の BDD フレームワーク「Cucumber」 (IronRuby を使えば .NET に対応可らしい)
.NET 用の BDD フレームワーク「Specter」 (Python ライクの .NET 言語である Boo で記述する)
[修正履歴]
2009/05/29
・リンクに Specter を追加。