@ テスト駆動開発による組み込みプログラミング by James Grenning
レガシーコードの問題のひとつは、そのコードが何をしているのか確信が持てないことだ。...現在の望ましい振る舞いを、テストとして記録しよう。マイケル・フェザーズはこれを「仕様化テスト (Characterization Test)」と呼んでいる。
...
仕様化テストは、チームの長期記憶としての役割も果たしてくれる。
振る舞いについては仕様書を別途用意することも大切だが、テストとすることでコードのアップデート時に「壊れる」状況に気付きやすくなる。