俺には勉強しかない

140字のその先

テスト工程の楽しさ

有名な論理クイズの一つに、下の問題がある。

akizake.com

上記は「何をすれば言ってる事の正しさを証明できるか」を問うクイズだが、
システム開発におけるテスト工程には、このクイズと通じる面白さがある。

つまり、「システムが正常に動く事をどうやって証明するか」という課題に挑む面白さだ。


普通に考えると、システムがちゃんと動くか確認するには、思いつく限りの操作を片っ端から全部試すのが最も有効である。

しかし、テストに費やせる時間は限られている。全通りの操作を試すやり方は通常出来ない。

そのため、出来るだけ少ない手数で全ての機能の動作を確認し、出来るだけ多くのバグを見つける必要がある。

そのための効率的な手順を考えるのに頭を使う必要があり、そこが面白い。


複数の観点を一片に確認出来る手順を思いついた時や、
システムの実装を調べて(または想像して)、「こうすればバグりそうだぞ」という操作を見つけた時、
そして想定通りバグを見つけた時、
何というかシステムとその実装者を出し抜いたような快感が走る。


最小手で正しさを証明し、綻びを見つける楽しさがテスト工程にはある。