BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース .NETにおけるBehavior Driven Development

.NETにおけるBehavior Driven Development

原文(投稿日:2011/08/15)へのリンク

Behavior Driven Development (BDD) は、テスト駆動開発へのアプローチの代替手段として、増々認識されるようになってきている。 SpecFlowNSpec は、.NETにおいてBDD用の人気のあるフレームワークである。これらは、非プログラマーにとっても読むのが易しい、テスト仕様書を作成するのに役立つ。そして、ソフトウェアの設計がその目的によって、駆動されるようになる。

BDDには 主に二種類 ある。 xBehave と xSpecである。最初のものは、主に高レベルな受け入れテストに向き、二つ目のものは、ユニットテストレベルでテストするのにもっと役立つものである。 Cucumber に似ている SpecFlowは、最初のカテゴリに属し、一方 NSpec (非常に RSpec) に刺激されて)は、後者に属する。両方共、それぞれの使い方で有益であり、しばしば、1つのプロジェクト内で両方使うのは、意味の有ることである。 SpecFlowは、シナリオレベルのテストに向き、 NSpecは、詳細なユニットレベルのテストに向いている。

単体レベルのテストに、 NUnitMSUnit のようなユニットテスト フレームワークではなく、NSpecのようなものを使うことの利点は、テストコードを複雑にしないで、漸増的にコンテキストのビルドができることである。 またDave Astels氏の A New Look at Test Driven Development も、JUnit と Rspecを比べながら、いかにわずかな差が、もっと読みやすいテストを書くのをずっと簡単にしてくれるかを示す、非常に良い例を与えている。

様々な チュートリアル があり、プロジェクトのサイト自身はさておき、始めてみるには良いものである。

SpecFlow も Nspecも.NETにおけるBDDで使えるフレームワークであるばかりでなく、非常に人気のあるフレームワークのようである。他にも多くのものがあり、例えば、Cuke4Nuke, NBehaveMSpec があり、それぞれ一長一短がある。

Test Driven Development (TDD)の進化であるBDDは、アジャイルのプラクティスとして始められた。それは、QAや非技術者、すなわちビジネス側の参加者がソフトウェアプロジェクトにもっと効果的に参加できるようにしている。TDDを拡張して、テストケースを自然言語と ドメイン駆動設計組み合わせて 書いており、コードを書く前に、コードの目的と利点を記述している。

あなたは、.NETでBDDを試したことがありますか?もしあるなら、その経験はどうでしたか?

この記事に星をつける

おすすめ度
スタイル

BT