発見・修正したバグの件数を時間で追って品質を管理する図。
バグ管理図とは、テスト工程の中で発見・修正したバグの件数を時間(週や日)に沿って記録し、品質の安定度を管理するグラフです。多くは累積件数を縦軸、経過時間を横軸にとった折れ線で表します。
身近な例で考えると、大掃除でゴミ袋がいっぱいになっていく様子に似ています。最初はどんどんゴミが出ますが、片付けが進むにつれて新しく出るゴミは減り、最後はほとんど出なくなります。その「出なくなった」状態を見て掃除を終える、という判断と同じです。
上のツールで▶ボタンを押すと、8週間のテストで累積バグが急増し、やがて横ばい(収束)に向かう様子を確認できます。
累積バグ件数のグラフは、一般にS字(アルファベットのSを寝かせたような形)の曲線を描きます。これを信頼性成長曲線と呼びます。テストが進むほどソフトウェアの信頼性(=安定して動く度合い)が育っていく様子を表すからです。
曲線は3つの局面に分けて読むと分かりやすいです。
・初期(急増):未発見のバグが多く残るため、発見件数が一気に増える(傾きが急)
・中期(鈍化):見つけやすいバグが減り、増加がゆるやかになる
・後期(横ばい):残りバグがほぼ尽き、新たな発見がまれになる
代表的なモデルにゴンペルツ曲線などがあります。いずれも「最終的にバグの総数は一定の値に落ち着く」という考え方に基づきます。上のツールの初期・中期・後期のステップで、傾きが急→ゆるやか→水平へと変わる様子を確認できます。
収束とは、グラフの傾きが十分に小さくなり、ほぼ横ばいになった状態のことです。これは「もう新しいバグがほとんど出てこない=品質が安定してきた」というサインで、テストを終えてよいかどうかの目安になります。
収束したと判断するときの主なチェックポイントは次のとおりです。
・曲線が横ばい:直近の数週で発見件数がほとんど増えていない
・発見と修正がほぼ一致:見つけたバグがきちんと直され、未修正がたまっていない
・件数が想定の範囲内:あらかじめ見積もった総バグ数に近い
逆に、まだ傾きが急なままであればバグが残っている可能性が高く、テストを続ける必要があります。また、テストの手を抜いてバグが見つかっていないだけで横ばいになることもあるため、「テストの量(実施件数)」と合わせて見るのが大切です。上のツールの収束判定のステップで、発見と修正の2本がほぼ重なり横ばいに近づく様子を確認できます。