google-code-prettify

2009-12-23

プログラマ性愚説

プログラマ(SEも含む)の性賢説と性愚説というのを考えた。
どちらの立場をとるかによって、テストコードの意味合いが変わってくる。

■性賢説

プログラマは、正しく完璧な設計と実装を行うことが可能である。
そのコードはメンテナンス性も良く、後日の機能追加、仕様変更も容易である。

テストコードは、その完璧な実装に近づけるための手助けとなるためのものである.

■性愚説

プログラマは、正しく完璧な設計と実装を行うことはできない。
そのため、後日の機能追加、仕様変更時にコードを少なからず書き換える必要がでてくる。
最悪の場合はコードを全て書き直す必要がある。

テストコードは、その不完全なコードを少しでも良くするためものである。

----

性愚説をもう少し考えると、以下の結論がでてくる。

テスト対象のコードは大幅に書き換えられる。時には外部公開APIも変わる可能性がある。
→テストコードはテスト対象のコードが変わっても使える様にしておくべきである。
→テストコードは、再利用できる部分とできない部分に分けておくべきである。

例えばAPIのテストを行うときには、以下の二つのコードがある。
1. テストに使用するテストパターン
2. テスト対象の関数の呼び出し
このうち、1.は再利用が可能なので、2.とは別にしておくのが望ましい。

0 件のコメント: