テスト駆動開発やJUnitを使い始めた頃に読んだ本。手元の本は2004年5月発行の初版なので、もう6年(!)も前の本になる。JUnit自体は(やや乱暴な言い方かも知れないけど)Assertによる検証をシステマティックに行うものであり、特に難しいものではない。例えば、「1+1の演算結果」が「期待通りの値である2になるか?」を確認するというという基本的なサンプルがよく紹介されているし、使い方としてはこれに尽きると思う。 むしろ難しいのは、ソフトウェアの設計として「いかにテストしやすい形の構成にするか?」という点だろう。仕様書通りに組み上げたソフトウェアでは残念ながら粒度が荒すぎるし、テスト対象も広過ぎる。様々なしがらみが付いて回るので、検証のためにはダミーデータを準備しておく必要があるかも知れない。だから、コードの設計を少し変えて、検証しやすい形態にする方がずっと重要なのだ。これらの考え方を総