テストの進行に伴うバグ累積件数の収束を表す曲線。
信頼性成長曲線とは、テストを進めるにつれて見つかったバグ(=不具合)の累積件数が、どのように増えて最後は収束していくかを表した曲線です。テストを重ねるほどソフトウェアの信頼性が「成長(向上)」していく様子を表すので、この名前で呼ばれます。
身近な例で考えると、部屋の片づけで見つかる「いらない物」の数に似ています。片づけ始めは少しずつ、途中でどんどん出てきて、最後は探してもほとんど出てこなくなる。この「だんだん出尽くしていく」感覚が信頼性成長曲線です。
上のツールで▶ボタンを押すと、累積バグ件数が序盤・中盤・終盤と形を変えながら飽和値(上限)に収束していく様子を確認できます。
信頼性成長曲線の代表的な形がゴンペルツ曲線です。アルファベットの「S」のような形(S字曲線)を描くのが最大の特徴で、傾き(増え方)が3つの時期で変化します。
・序盤:テスト環境の準備や慣れの問題で、バグの発見はゆるやか(傾きが小さい)
・中盤:テストが軌道に乗り、次々とバグが見つかって急増(傾きが最も急)
・終盤:見つけやすいバグが出尽くし、伸びが鈍る(傾きが小さくなる)
やがて曲線は飽和値(これ以上はほぼ増えない上限の値)に近づき、水平に寝ていきます。直線でもなく、ずっと急増し続けるのでもなく、「ゆっくり→急→ゆっくり」と変化して頭打ちになる、というS字の動きを押さえておきましょう。
収束とは、テストを続けても累積バグ件数がほとんど増えなくなり、グラフが水平に近づいた状態のことです。曲線が飽和値に張りついて平らになったら、収束したと判断します。
収束したということは、これ以上テストしてもバグがほとんど出てこないということです。つまりソフトウェアの品質が一定の水準に達したと考えられ、テストを終える(リリースしてよい)かどうかの判断材料になります。
逆に、テスト終盤になっても曲線がまだ急に上がり続けている場合は、まだバグが潜んでいる可能性が高く、収束していないと読みます。この場合はテストを続けたり、原因を調べたりする判断につながります。曲線の「寝具合」で品質の達成度を見る、というのが収束判定の考え方です。