用語集 最終更新 2026.07.03

TDD

TDD は Test-Driven Development(テスト駆動開発)の略で、これから作る機能のテストを先に書き、それを通すように実装を進める開発手法です。「動くコードを書いてから確認する」のではなく、「何を満たせば正解かを先に決めてから作る」という順番が特徴です。1990年代後半に Kent Beck が広めました。

まず押さえたいポイント

  • テストを実装より先に書く
  • 基本は Red(失敗するテストを書く) → Green(通す最小実装) → Refactor(整える)の繰り返し
  • テストが「仕様書」と「壊れたら気づく安全網」を兼ねる

どんな場面で使うか

  • 料金計算・バリデーション・状態遷移など、入出力が明確でロジックが複雑な中核部分
  • バグ修正(再現する失敗テストを先に書いてから直すと、再発防止テストが残る)
  • 安心してリファクタリング(refactoring)したいとき

よくある誤解や注意点

TDDは「テストを丁寧に書くこと」ではなく、テストで設計を駆動する点が普通のユニットテストと違います。普通のテストが「実装した後に動作を検証する」のに対し、TDDは「実装の前にテストを書いて正解を先に決める」ため、順番と目的が逆になります。似た言葉のBDD(振る舞い駆動開発)は、開発者目線のTDDに対して、利用者から見た振る舞いを軸にする点が違います。

慣れるまでは遅く感じ、まだ仕様が固まらない試作や見た目中心のUIには向きにくい面もあります。全部に適用しようとせず、壊れると困る中核から小さく始めるのが現実的です。AIでコードを速く量産できる時代は、先に正しさをテストで固めておく価値が上がっています。詳しくは TDD(テスト駆動開発)とは?Red-Green-Refactorと実務での使いどころ で整理しています。