読者です 読者をやめる 読者になる 読者になる

methaneのブログ

このブログに乗せているサンプルコードはすべてNYSLです。

品質保証なんて糞食らえ。職人による品質向上のためのテスト(2)

マトモなプログラマなら半分の関数を、コンパイルが通ったときに既にバグが無いように作る。そして、3回見直せば、ほぼその関数にバグは無いと言っても良い。

じゃぁなぜバグが発生するのか。バグが、関数の中ではなく、関数と関数の間にあるからだ。関数単体では「バグが無い」と自信を持つのは簡単でも、200行のソースファイルの中にバグが無いと確信を持つには時間がかかる。グローバル変数20個を使った、1000行を超えるソース?バグがあるに決まってる!

ここで、モジュールテストが必要になる。モジュールとは、複数の関数と、ひょっとしたら幾つかのグローバル変数を含むものだ。1関数=1モジュールとなる場合もあるだろうけど、それはクイックソートのような例外ね。