ビヘイビア駆動開発 とは
動作仕様に基づく開発
BDD(ビヘイビア駆動開発)
BDDは、TDDとビジネスが理解できる言語でのシステム動作記述を組み合わせたソフトウェア開発方法論です。
Given/When/Then 構文
| キーワード | 目的 | 例 | |------------|------|-----| | Given | 初期状態 | 認証されたユーザーがいる場合 | | When | アクション | 「購入」をクリックしたとき | | Then | 期待される結果 | アイテムがカートに追加される | | And | 追加条件 | 通知が表示される |
シナリオ例(Gherkin)
Feature: ショッピングカート
Scenario: カートにアイテムを追加
Given ユーザーが商品ページにいる
And アイテムが在庫にある
When ユーザーが「カートに追加」をクリック
Then アイテムがカートに表示される
And カートカウンターが1増加する
BDD vs TDD
| 側面 | TDD | BDD | |------|-----|-----| | 焦点 | コードとユニット | システム動作 | | 言語 | 技術的 | ビジネス言語 | | 参加者 | 開発者 | チーム+ビジネス | | ドキュメント | コードとしてのテスト | 生きたドキュメント |
人気ツール
- Cucumber — Ruby、Java、JS
- SpecFlow — .NET
- Behave — Python
- Jest + Cucumber — JavaScript
- Behat — PHP