tags: 📝ソフトウェアテスト

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

ビヘイビア駆動開発, または振る舞い駆動開発(Behavior-Driven Development, BDD).

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

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

Given/When/Then

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

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

BDDライブラリ

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

  • RSpec

BDD のこころ

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

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

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

Insights

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

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

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

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

References