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