バグは後から湧いてくる

不思議なものでプログラムのバグというのは、後から後から湧いてくる。実際には湧いてくるわけではなくて、元々潜んでいるんだけどね。

しっかりと調べで、問題ないと確認できていたところなのに、気がついてみるとバグになっている。おそらくはどこかを修正したときに関連して影響を受けてしまったのだと思う。

まるで「あちらを立てればこちらが立たず」みたいな状態になってしまっている。これはプログラマーならば誰でも経験してることだ。

もしくは、ある特定の条件下にならないと発生しないバグと言うものもある。これは実に厄介でリリースした後、たくさんの人が使うことによって判明してくるということがよくある。

一般的なクライアントはバグが出てくるとプログラマーに不満を言ったりするんだろうけど、私自身がそういう経験をたくさんしているので外注で作ってくれている人たちに対しては「そういうこともあるよね」と言う感じで受け止めている。

とは言うものの、それらバグを一つ一つ探り出していくというのがとても大変な作業。ものすごい労力を使ってしまうので疲れ果ててしまう。

「もしかしたら、こうしたら」と言う推測をしながらバグを見つけていくと言う作業。直感のようなものでバグを見つけ出さなければならない。

それらは経験があるからこそできる作業なのではないかと思う。一般的なクライアントであれば一般的な作業を行って、問題がなければそのままオーケーを出してしまうだろう。例えば、電話番号を入力する欄に英字を入れてみたり、ものすごく長い数字を入れてみたり、全角の数字にしてみたり、そのようないろんなパターンを考え出さなければならない。

と大変な話ばかりしていたけども、実際のところやってみると意外に楽しい作業だったりするんだよね。バグは存在していると言う前提で作業しているから、まるでゲームで言うところの隠れキャラを見つけたみたいな気分なんだよね。

ということで今日も一生懸命バグ発見作業してました。明日もまだまだ続きそうだ。