BDD(ビヘイビア駆動開発)
BDD(ビヘイビア駆動開発)
新しいチームにジョインして、BDDが導入されていたのでメモとしてまとめる。 Androidでの実装方法やフレームワークは別途まとめる。
What is BDD?
- TDD(テスト駆動開発)の拡張版。
- TDDでは、 - どこから始めるか? - 何をテストするか? - 何をテストしないか? という課題がある。その課題解決のための手法。
- システムの予想される動作を確認するためのテストに重点を置く。
- BDDでは、ユーザーストーリーに重きを置き、エンジニアがユーザーの視点から実装すべき機能を考えることを促す。
Given-When-Then
- BDDはGiven-When-Thenの構造で記述される。
Given: 振る舞いまたはアクションを受け取るシステムの状態
When: 発生すると最終結果を引き起こす振る舞いまたはアクション
Then: 所定の状態で所定の振る舞いによって引き起こされる結果
参考
https://circleci.com/ja/blog/how-to-test-software-part-ii-tdd-and-bdd/ https://shiftasia.com/ja/column/%E3%82%A2%E3%82%B8%E3%83%A3%E3%82%A4%E3%83%AB%E9%96%8B%E7%99%BA%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8Btdd%E3%81%A8bdd/