テスト駆動開発 (TDD) は "Red-Green-Refactor" のサイクルに準ずる有名なソフトウェア開発手法だ。振る舞い駆動開発 (BDD) は自然言語を用いてユニットテストのシナリオを表すアイデアを引き合わせる TDD から派生した手法だ。 BDD に使用できる有名なテスティングフレームワークには、xUnit.net、NUnit、StorvQ、MSpec、NSpec、NBehave などがあげられる。これらは流れるようなインターフェースで記述できるため、読みやすいコードを提供してくれる。さらに、いくつかのフレームワークでは、パスしたユニットテストから自然言語を用いて仕様を生成する機能を提供している。 仕様とはなんだろうか? "仕様とは素材、製品、またはサービスが満たすべき要件の明確な集合だ" American Society for Testing and Materials