BT

ビヘイビア駆動開発を始めよう - 重要なのはデータベースではなくドメインだ

| 作者: Jan Stenberg フォローする 29 人のフォロワー , 翻訳者 吉田 英人 フォローする 0 人のフォロワー 投稿日 2013年7月16日. 推定読書時間: 2 分 |

原文(投稿日:2013/07/09)へのリンク

アプリケーション設計にはビヘイビア駆動開発 (Behaviour-Driven Development/BDD) を導入して,データベースではなくドメインに注目すべきだ,とJulie Lerman氏がMSDN Magazineの記事で主張している

BDDとは,ビジネスドメインにおけるユーザストーリと振る舞い(ビヘイビア)に注目してロジックとテストの構築を行う手法で,クライアントと承認基準を議論する際にもしばしば用いられる,と氏は説明する。氏は2003年にMicrosoft MVPを取得し,現在は .NETプラットフォームのコンサルタントおよびメンタとして活動している。BDD初心者のために氏は,Visual StudioとC#,SpecFlowを使った小さなサンプル実装を開発した。

SpecFlowはBDDのためのオープンソースツールで,.NETプラットフォームで動作する。Cucumberファミリという,さまざまなプラットフォームをサポートするツールの中のひとつだ。これらのツールでは,ユーザストーリの記述にGherkinによるシナリオを使用する。Gherkinはキーワードに基づく記述言語で,もっとも重要なのはGiven, When, Thenなどだ。その言語を用いて,氏は小さなシナリオの例を示している。

前提(Given) – 顧客に関する情報は入力済
いつ(When) – 追加情報の入力完了時
ならば(Then) – 顧客情報をシステムに格納する

SpecFlowはVisual Studioに統合されて,シナリオ評価テストの生成や実行が可能だ。氏はこのシンプルなユーザストーリをもとに,これらのツールを使って,ひとつのテストプロジェクトを生成する。そこからユーザストーリを記述したシナリオのテストを作成し,実行するステップを,順を追って実演してみせている。

データギークを自称してはいるが,氏は顧客との連携を重視し,彼らのビジネスを理解している。そのような立場から,ドメイン駆動設計 (Domain Driven Design/DDD) とビヘイビア駆動開発を,遵守すべき重要な原則であると考えているのだ。

入門者向けガイド(Getting Started)などのより詳しい資料は,SpecFlowサイトで公開されている。
BDDは2006年頃,Dan North氏によって開発された。氏はBDDを紹介する文書や,BDDの立場から見たストーリについて記事を書いている。
また,BDDとも深く関連した例示による仕様(Specification by Example)という仕様定義手法もある。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT