ソフトウェア開発201の鉄則:原理125:テスティング:エラーの原因を分析せよ
要旨
* ソフトウェアでエラーが発生すると、その検出と修正には大きなコストがかかる
* なので、最初からエラーがないようにすることを目指すべきである
* その実現で有効な方法は、エラーが発生したときに、なぜそのエラーが発生したかの詳細を分析して明らかにし、それを開発者全員と共有することだ
* そうすれば、同じタイプのエラーが発生する確率は減るだろう
解説
ここでいう「エラーの原因分析」とは、
「なぜエラーが発生したのか、そのエラーを防ぐにはどうしたらよかったのか」を突き止める、ということ。
要するに、「振り返り」「反省会」に近い。
エラーが発生したら、速やかに修正をして正しい状態することが最優先。
で、修正が済んだら、終わり。
では、ない。ここからが大事。
「修正できた」のであれば、必ず、「最初から発生させないようにする」ことも出来たはず。
と考えて、では、どうすべきだったか、を突き止めよう。
* 機能を使う前に、引数の正当性をチェックすべきだった
* サンプルコードで動作確認すべきだった
* ドキュメントをきちんと読んでおくべきだった
といったことに加え、管理上の、人間上の?要因も挙げよう。
* 自分でやらずに、専門家のX さんに依頼すれば精度は挙がっただろう
* 忙しかったので、端折ってはいけないところをカットした
とか、そういったもの。
そして、それらが発生しないようにするための、想定される最善の施策を考えよう。
* 引数は正当性の範囲を必ずチェックしよう
といった注意事を上げるとか、プロセスを見直すとか。
そして、それを記録し、共有する。
エラーが一つ発生したら、その修正には大きなコストがかかる。しかし、こういった活動を繰り返して、開発者に知見が溜まり、段階的にエラーが発生しづらくなっていけば、そのコストに見合う、いやそれ以上のものが得られるだろう。
「転んでもただは起きぬ」「災い転じて福となす」である。
この記事が気に入ったらサポートをしてみませんか?