テスト駆動開発(Test-Driven Development: TDD)は、テストを書くことでソフトウェア開発をガイドするソフトウェア構築手法である。 1990年代後半にKent Beckがエクストリームプログラミングの一部として開発したものである。 基本的には、以下のシンプルな3つのステップを繰り返して実行する。 これから追加したい機能についてのテストを書く そのテストをパスするまで機能のコードを書く 新旧のコードをリファクタリングして適切な構造にする テストケースのリストを書き出す → ひとつのテストを選択する → テストを書く(レッド) → テストをパスさせる(グリーン) → リファクタ → ひとつのテストを選択する 学んだことがあればリストを更新する この3つのステップ(レッド・グリーン・リファクタと呼ばれる)がプロセスの中心だが、 最初にテストケースのリストを書き出すという重要