プログラマ(SEも含む)の性賢説と性愚説というのを考えた。 どちらの立場をとるかによって、テストコードの意味合いが変わってくる。 ■性賢説 プログラマは、正しく完璧な設計と実装を行うことが可能である。 そのコードはメンテナンス性も良く、後日の機能追加、仕様変更も容易である。 テストコードは、その完璧な実装に近づけるための手助けとなるためのものである. ■性愚説 プログラマは、正しく完璧な設計と実装を行うことはできない。 そのため、後日の機能追加、仕様変更時にコードを少なからず書き換える必要がでてくる。 最悪の場合はコードを全て書き直す必要がある。 テストコードは、その不完全なコードを少しでも良くするためものである。 ---- 性愚説をもう少し考えると、以下の結論がでてくる。 テスト対象のコードは大幅に書き換えられる。時には外部公開APIも変わる可能性がある。 →テストコードはテスト対象のコ