日々常々

ふつうのプログラマがあたりまえにしたいこと。

テストのジレンマ

  • 簡単な問題は自動テストを書くまでもない。
  • 難しい問題は自動テストを書くのが難しい。

テストが書き辛い問題ほど、自動テストの価値は上がる。同時に自動テストを作成するコストも増えていく。ならば、自動テストが有効な状況なんてないのではないか?


なんて思ったりもするけれど、この問題は簡単に解決出来る。書いていることを裏返せば、テストを書くまでもないような問題のテストコストは非常に低い。そのコストが無視出来る程度に十分小さくすることができれば、「テストを書くまでもない」と思った時には既にテストを書き終えていることになる。

問題が複雑化して手に負えなくなる前に、小さい、見通しの良い状態でテストを書いておけば、その領域をテストに任せることが出来る。つまり、手に負えなくなってから「テストはコストが高い!」とか言うのをやめればいい。

半ば夢物語に思えるかもしれないし、適用出来ない領域も存在するけれど、全ての問題がそんなもののはずがない。一部がそうだからといって全体を諦めるようなのは、銀の弾丸が無いと狼男に甘んじて喰われるようなものだ。

私はそんなの御免だ。