このエントリはタイトルが秀逸すぎる。
一体誰のためにテストを書くのか?それはコードを見る人のためだ。
コードを見る人は未来の自分かもしれない。もしくは自分以外の誰か。
そのためには良いテストを書かなければならない。
良いテストとは何か?コードがどのように働くのかを教えてくれるテストが
良いテストだ。
良いテストの条件を簡単にまとめると次のようになるでしょう。
●コンテキスト、出発点、満たすべき事前条件がわかる。
●ソフトウェアがどのように起動されるかがわかる。
●期待される結果と、確認すべき事後条件がわかる。