私はテスト・ファーストが嫌いだ。 君はテスト・ファーストを知っているか? 知らないなら簡単に説明しておこう。テスト・ファーストというのは,XP(エクストリーム・プログラミング[用語解説] )というソフトウエア開発手法で紹介されている実践項目(プラクティス)だ。プログラムを作る前にテストを作れ,と説く。 テスト・ファーストで言うテストは,ソフトウエア全体のテストではないんだ。ソフトウエアを構成する単体プログラムのテスト,すなわち「単体(ユニット)テスト」を意味する。これまでテストと言えば,ソフトウエアがある程度完成してからのテストがメインで,テスト担当者(テスター)が行う作業,という意味合いが強かっただろう? しかしテスト・ファーストでは,単体テストをテストの中心に置くんだ。 まず最初にテスト・プログラムを作る。それもテスターではなく,プログラマ自らが作る。それからテスト・プログラムが成功す