【けっかんみつど】

欠陥密度 とは?

最終更新:
💡 見つかった欠陥を、同じ規模の単位で比べる

発見した欠陥数をソフトウェアの規模で割った指標。KLOCを使った計算例、比較に必要な条件、テスト不足や欠陥の重大度によって数字の解釈が変わる理由を解説します。

📌 このページのポイント
欠陥密度:見つかった欠陥を規模で割るコード10,000行= 10 KLOC発見した欠陥20件20件 ÷ 10 KLOC = 2件/KLOC1,000行を1 KLOCとする計算例工程・範囲・数え方・単位をそろえるテストの量と内容も合わせて比較小さい数字だけで高品質とは決めない重大度・未修正の欠陥も別に確認
架空の計算例で合格基準ではありません。テスト不足で発見数が少ない場合もあり、未発見の欠陥がないとは判断できません。
ひよこ ひよこ
欠陥密度は、どう計算するの?
ペンギン先生 ペンギン先生
見つかった欠陥数を、対象のソフトウェアの規模で割るんだ。コード行数を使うなら、1,000行を1 KLOCとして計算できる。1万行で20件を発見した例なら、20÷10=2件/KLOCになるよ。
ひよこ ひよこ
行数で割ったら、20÷10,000じゃない?
ペンギン先生 ペンギン先生
それは1行あたりの値で、0.002件/行だよ。同じ結果を1,000行あたりに直すと2件/KLOCになる。分母が行数なのかKLOCなのか、単位を書かないと1,000倍の違いが出るんだ。
ひよこ ひよこ
数字が小さいほど、品質が高い?
ペンギン先生 ペンギン先生
それだけでは決められないよ。テストが不十分で欠陥を見つけられていない場合もある。逆に、よく調べたために発見数が増える場合もある。テストの量や内容、どの工程で見つかった欠陥かも確認しよう。
ひよこ ひよこ
ほかのチームの数値と比べてもよい?
ペンギン先生 ペンギン先生
コードの数え方、言語、対象範囲、欠陥の数え方、計測する工程などをそろえる必要があるよ。同じ現象を複数件で数えた値と、原因を1件として数えた値を混ぜると、比較の意味が変わってしまう。
ひよこ ひよこ
品質を良くするためには、どう使う?
ペンギン先生 ペンギン先生
似た条件のモジュールや過去の案件と比べ、追加のテストや原因調査が必要そうな部分を探す手掛かりにするんだ。重大な障害と小さな表示ミスを同じ1件として数える指標なので、重大度や未修正の欠陥も別に見よう。
もっと詳しく知りたい人へ

「何件/KLOC以下なら合格」という共通の基準はある?

すべての言語・工程・製品にそのまま適用できる一律の合格値として扱うことはできません。類似案件の実績、求める信頼性、テストの方法などを使って、自分たちの判断基準を定めます。外部の統計を参照する場合も、計測条件と対象が合うかを確認します。

欠陥密度が0なら、欠陥は残っていない?

観測した範囲で欠陥を発見しなかったことと、未発見の欠陥が存在しないことは違います。検出した欠陥数を使った密度と、残っている欠陥数を推定した密度も区別します。コード行数以外の規模で割る場合は、その尺度と単位を明記します。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「欠陥密度」って出てきたら「見つかった欠陥を規模あたりで見る指標」と思えばだいたいOK!
📖 おまけ:英語の意味
「Defect Density」 = 欠陥の密度
💬 欠陥数を規模の単位で割るため、密度と呼びます。KLOCなら1,000行あたりの件数です。規模にはコード行数以外の尺度を使う場合もあります。

参考資料

← 用語集にもどる