テスト駆動開発(TDD:Test-Driven Development)とは、プログラムの実装コードを書く前に、まずそのプログラムが満たすべき動作を確認するための「テストコード」を先に作成し、そのテストに合格するように実装を進めていく開発手法です。
一般的な開発では、コードを書き終えた後にテストを行いますが、TDDでは手順が逆になります。まず、わざと失敗するテストを書き(Red)、次にそのテストを通過する最小限のコードを書き(Green)、最後にコードを綺麗に整える(リファクタリング)という短いサイクルを繰り返します。これにより、バグを早期に防ぎ、常に動作が保証された綺麗なコードを維持することができます。