• このエントリーをはてなブックマークに追加

バグ分析を行ううえで重要な4つの観点

  • このエントリーをはてなブックマークに追加

こんにちは。

GWも終わり、また仕事か。。と若干五月病気味のZaco Shinです。

今回は私が仕事で携わっている、ソフトウェア開発(アプリケーション開発)やっていると必ず直面するバグの分析についてお話しようと思います。

バグってイヤですよねー。それも後工程で発生するとなおさら。。。

でもバグがないシステムってないんですけどねー。。。

バグが発生した場合、私はこの4つの観点で分析を行っています。

バグが発生した原因を探る

何が起因してそのバグが発生したのか?を突き止めます。なぜなぜですね。

・コーディングミスなのか?

・試験項目が不足しているのか?

・設計ミスなのか?はたまた仕様がそもそもおかしかったのか?←よくこれを私は仕様バグと言っています。

ほかにプログラマーに依存したりして、ある特定の機能とかにバグが多発したりなど、人に起因することもあったりします。

カテゴリごとに分類すると分析がしやすくなります。

バグが検知されるべき工程はどこだったのか

ウォータフォールだと特に製造/単体試験/結合試験/総合試験/受入試験などいろんな試験工程を経ていくと思いますが、

今回検出されたバグが本来どこで検知すべきだったのかを確認します。

よくあるのが、本来単体試験で検出すべきだったのが、すり抜けて総合試験などで検出されるなど。。

これをやっておくと今後どうやっておくべきかが見えてきます。

類似箇所のバグがないかの確認

ここはバグ分析というよりも、ソフトウェア品質担保のためにやっているほうが強いですが、、

今回検出されたバグと同じような処理をやっているところはないか。似たような機能とかを探ります。

例えば、処理の仕方が本来、同期処理であるべきところが、非同期処理になってたバグとかあったら、ほかにも非同期処理になっているところはないのか?

みたいな観点で探っていきます。

今度どうやったら防ぐことが出来るのか?(再発防止)

一番重要な所です。同じことは二度と繰り返さない!

でもこれが一番難しいんですよねー。

例えば、バグの原因が試験項目の抽出漏れでした。のときはじゃあどうやって抽出漏れを防ぐのか?

・マトリックスを作ってて観点の漏れないよねを確認します。とか

・人でやると漏れるのでテスト自動化ツールを使います。とか

バグの原因とかプロジェクトの特性とか色んな要素が絡んでくるので、一概にこれだ!これさえやれば大丈夫っていうことでもないんですよね。

コストとの兼ね合いもありますし。。

バグ分析を行うとつくづく、品質の良いソフトウェアを作るって難しいなーと思います。

今後テスト自動化とか品質が高くかつ開発スピードが向上するやり方とかいろいろ取り組んでいきたいと思っているので、それに対する内容も時々投稿したいと思います。

では。

Zaco Shin

スポンサーリンク
Sponsords Link
  • このエントリーをはてなブックマークに追加

ZacoDesign

スポンサーリンク
Sponsords Link