F.Ko-Jiの「一秒後は未来」

バグの再現条件を特定することは大事

ごく当たり前のことですが、最近ひしと感じたので。

バグは単純なものから複雑なものまでありますが、たまに再現条件がよくわからないものに出くわすことがあります。

ある日「よくわからないけど、こういうエラーが発生する」という報告を受けてソースコードを調べ、エラーログからそれっぽいバグの箇所を見つけて修正するとバグが発生しなくなりました。

ところが、まだ完全に治っていなかったようで、またエラーが発生していると言われました。こちらとしてはエラーログを手がかりに修正していて、開発環境では再現しなくなったのでもう治したつもりだったのですが。

そこで色々と画面遷移させて入念に調べてみると、偶然ある条件でエラーが必ず発生することがわかりました。

エラー自体は「B」という画面で発生していたので「B」のプログラムのみ調べていたのですが、実際にエラーが発生する条件は、「A → B」という順で画面遷移した場合で、バグの原因は「A」のほうに潜んでいました。

再現条件がわからない間はエラーの発生している「B」のみ調べていたので、完全に原因が特定できなかったわけです。しかも原因は「A」のほうにあったとある一行だったという単純なもの。

というわけでバグを修正するときは、なんとなくではなく、再現条件を突き止めることを心がけましょうという話でした。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

著者について

fkoji

F.Ko-Ji

Webエンジニアやってます。最近は ドットインストール の開発がお仕事です。その傍ら、個人で Meity電車遅延なう梅酒.in#グラドル自画撮り部 の部室といったネットサービスを開発・運営してます。梅酒と草野球とリアル脱出ゲームが好きです。

» 詳しいプロフィールや運営サービスの一覧など