テスト駆動開発(TDD)
概要
テスト駆動開発(Test-Driven Development, TDD)は、Kent Beck が提唱した開発手法で、プロダクトコードを書く前にテストを書き、そのテストを通すように実装を進めます。短いサイクルを繰り返すことで、設計を漸進的に育て、回帰を防ぎます。
基本サイクル
テスト駆動開発の記事(2025-06-08) に記載された流れ:
- テストの作成
- テストの失敗(Red)
- コードを書く
- テストの成功(Green)
- リファクタリング(Refactor)
- 繰り返し
いわゆる Red → Green → Refactor のサイクルです。
浸透させるための実践知
テスト駆動開発を浸透させるには何をすべきか? でまとめられた考え:
- アウトプット(完成したテストコード)を見ても理解しにくい — 書いた順序が分からないため
- ペアプロ・モブプロ・ハンズオン で体験的に浸透させるのが有効
- バグ修正を TDD で行う のは特に有用
- バグの原因を理解する
- その関数/メソッドに対し、fail するテストケースを追加する
- テストを通すようにソースコードを修正する
- 「テストの実行がコードを書く助けになる」と理解してもらうとよい
- ローカルのアプリ環境での確認ではなく、テスト実行を繰り返し確認する 習慣へ
- TDD 本(理論)を読んでもらうだけでは浸透しないかもしれない — 実践が鍵
関連トピック
- リファクタリング・整頓の精神は Tidy First(同じ Kent Beck)と共通
- バグ修正を fail テストから始める流れは Claude Code のバグチケット対応とも相性がよい
関連ページ
参考資料
- ケント・ベック『テスト駆動開発』
- テスト駆動開発の記事(2025-06-08)(thectoclub.com)
- テスト駆動開発を浸透させるには何をすべきか?