フリーキーズ | 独学プログラミング

BDD(ビヘイビア駆動開発)とは

最終更新日

BDD(ビヘイビア駆動開発)は、テスト駆動開発(TDD)から発展したソフトウェア開発手法です。TDDが機能の実装方法に焦点を当てるのに対し、BDDはエンドユーザーに対するアプリケーションの動作に焦点を当てます。BDDは、開発者、QA、そしてソフトウェアプロジェクトに参加する非技術者やビジネス関係者のコラボレーションに重点を置いています。

BDDの開発プロセス

以下は、BDDの簡略化されたステップバイステップのプロセスです。

1. 動作の定義

ユーザーの視点からソフトウェアの動作を定義することから始めます。これは通常、非技術的な利害関係者を含むすべての関係者にとって理解しやすい方法で動作を記述する単純なドメイン固有言語(DSL)を使用して行われます。例としては、次のようなものがあります。

例)ユーザーがホームページにいるとして、『ログイン』ボタンをクリックすると、『ログインフォーム』が表示されるようにする。

2. テストを書く

次に、その動作を特定のテストケースにします。このテストは通常、Gherkinのような言語で書かれ、Given、When、Thenの構文を使用し、簡単に理解できます。先ほどの例では、Gherkinのテストは次のようなものになります。

  • ユーザーがホームページを訪問する
  • ユーザーが「ログイン」ボタンをクリックする
  • ログインフォームが表示される

3. テストを実行する

TDDと同様に、テストを実行すると、その動作はまだ実装されていないため、失敗するはずです。

4. コードを書く

次に、動作を実装し、テストをパスさせるコードを書きます。

5. テストの再実行

コードを書き終えたら、再びテストを実行します。テストが通れば、次の動作に移ることができます。

6. リファクタリング

TDDと同様に、テストが合格しているので、何も壊していないと確信して、コードをリファクタリングできます。

まとめ

BDDは、アプリケーションがどのように振る舞うべきかについての共通理解を作るのに役立ち、誤解や誤認を避けることができます。BDDは、技術的に健全で、ビジネスニーズを満たすソフトウェアを作成するために設計されています。