テストコードを書きながら開発することでバグの発生低下と生産性の増大が見込める ということだが、かなり怪しい。 1.テストコードの対象はメソッド・関数の単位であること。 それらのメソッドが複数使われるアルゴリズム全体の流れの検証はできない。 しかしこれが仕様を満たしているかどうかの最も大切なテストとなる。 この最も大切なテストについては完全に沈黙しているように見える。 2.オブジェクトの状態を制御するようなメソッドの検証の困難性 単に入力と出力があるメソッドならばテストコードを書くことは可能だろう。 しかし複数のメソッドで制御されるオブジェクトを触るようなメソッドを 検証するようなテストコードは難しいだろう。 しかもそのようなメソッドは決して珍しいものではない。 3.テストコードの複雑さについての対処法がない 複雑なメソッドのためのテストコードは複雑になるだろう。 その場合のテストコードが正
![TDD(テスト駆動開発)は怪しいな - Javaの日々](https://cdn-ak-scissors.b.st-hatena.com/image/square/2279a66233541e3a7ec0df7193bb8496db5c4f75/height=288;version=1;width=512/http%3A%2F%2Fjava-etc.cocolog-nifty.com%2F.shared-pleasy%2Fnifty_managed%2Fimages%2Fweb%2Fogp%2Fdefault.png)