ソフトウェア開発201の鉄則:原理125:テスティング:エラーの原因を分析せよ

要旨

* ソフトウェアでエラーが発生すると、その検出と修正には大きなコストがかかる
* なので、最初からエラーがないようにすることを目指すべきである
* その実現で有効な方法は、エラーが発生したときに、なぜそのエラーが発生したかの詳細を分析して明らかにし、それを開発者全員と共有することだ
* そうすれば、同じタイプのエラーが発生する確率は減るだろう

解説

ここでいう「エラーの原因分析」とは、

「なぜエラーが発生したのか、そのエラーを防ぐにはどうしたらよかったのか」を突き止める、ということ。

要するに、「振り返り」「反省会」に近い。

エラーが発生したら、速やかに修正をして正しい状態することが最優先。

で、修正が済んだら、終わり。

では、ない。ここからが大事。

「修正できた」のであれば、必ず、「最初から発生させないようにする」ことも出来たはず。

と考えて、では、どうすべきだったか、を突き止めよう。

* 機能を使う前に、引数の正当性をチェックすべきだった
* サンプルコードで動作確認すべきだった
* ドキュメントをきちんと読んでおくべきだった

といったことに加え、管理上の、人間上の?要因も挙げよう。

* 自分でやらずに、専門家のX さんに依頼すれば精度は挙がっただろう
* 忙しかったので、端折ってはいけないところをカットした

とか、そういったもの。

そして、それらが発生しないようにするための、想定される最善の施策を考えよう。

* 引数は正当性の範囲を必ずチェックしよう

といった注意事を上げるとか、プロセスを見直すとか。

そして、それを記録し、共有する。

エラーが一つ発生したら、その修正には大きなコストがかかる。しかし、こういった活動を繰り返して、開発者に知見が溜まり、段階的にエラーが発生しづらくなっていけば、そのコストに見合う、いやそれ以上のものが得られるだろう。

「転んでもただは起きぬ」「災い転じて福となす」である。




この記事が気に入ったらサポートをしてみませんか?