Development――以降TDDと略す)について解説する。TDDは,その名の通りテストを主としてプログラムを開発する手法だ。ここで重要なのは,TDDはテスト手法ではないということだ。何かと言えば,TDDはその名の通り開発手法なのだ。正確に言えば,プログラムの開発工程を設計,実装,テストの3段階に分割した場合の最初の段階,すなわち設計を主眼とした開発手法なのである。その意味では設計手法と言い切ってもそれほど間違いではない。TDDによってプログラムの開発工程(設計,実装,テスト)がイテレーション(反復)される以上,最初に来る「設計」がTDDの主眼となることはある意味当然のことだ。本稿の目的は,TDDがテストのためのものだというありがちな誤解を解くことである。それと同時に,なぜプログラムの設計工程以降にTDDが有効なのか,逆に言えば実装の詳細を細部まで,プログラミング工程の前にあらかじめ机上で設計する従来型の手法の何が問題なのかを解説する。最初にTDDの概略を説明しておこう。TDDでは次の手順でプログラムを開発する。実装する機能を決定する。該当機能をテストするプログラムを書く。テスト・プログラムがコンパイルエラーとなることを確認する(まだ該当機能は実装されていないからだ)。プログラムの該当機能の枠組みを書く。機能は実装されていないため,エラーとなる。