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

ビヘイビア駆動開発

  • 振る舞い駆動開発(Behavior-Driven Development, BDD).
  • Spec駆動開発

仕様を元にテストをするような手法. BDDではテストをスペック(Spec)という.

📝アジャイル開発においては, ユーザーストーリーの単位でSpecを書いていく.

Given/When/Then

BDDでのテストにおける慣用表現.

  • Given: 振る舞いを実行する前の状態.
  • When: 振る舞い, 操作, トリガー.
  • Then: 振る舞いの結果, 事後の状態.

BDDライブラリ

よくxSpecという名前がついている.

  • RSpec

BDD のこころ

Tests as Documentation(ドキュメントとしてのテスト)

テストをドキュメントとして扱うアプローチ.

Specification by Example(例示による仕様)

🤖Spec駆動開発(SDD)

ドキュメントを元にCoding Agentが実装するスタイル.

BDDの発展. AI時代のBDD. ドキュメント駆動開発.

🤖Kiro

  • Kiro spec:
  • Kiro hook: バックグラウンドで定型業務を完了. リリース前のチェックリスト代わり.

<2025-07-26 Sat 13:30> アイコンが👛Phantom Wallet

https://kiro.dev/

Insights

✨BDDはブラックボックステストでTDDはホワイトボックステスト

ソフトウェアの内部がどうなっているのかわからない前提で外部からみた仕様をテストするのがBDD.

ソフトウェアの内部が明白な上で, そのロジックをテストするのがTDD.

cf. :sparkles:実験科学はブラックボックステストで認知科学はホワイトボックステスト

References