テスト密度とバグ密度をLOC・KLOCで計算
テスト件数とバグ件数をソースコード行数で割り、LOC・KLOC当たりの密度を計算します。
計算結果
- テスト密度
- — 件/LOC
- テスト密度
- — 件/KLOC
- バグ密度
- — 件/LOC
- バグ密度
- — 件/KLOC
使い方
- テスト件数とバグ発生件数を、画面に表示された単位と範囲に合わせて入力します。
- 同じ版・同じ範囲のソースコード行数を入力し、分母になる値が0より大きいことを確認します。
- 「計算する」を押し、テスト密度・バグ密度と使用した単位・前提条件を一緒に確認します。
計算式・考え方
テスト密度(件/LOC) = テスト件数 ÷ LOC、テスト密度(件/KLOC) = テスト件数 × 1000 ÷ LOC。バグ密度も同様にバグ件数をLOCで割ります。
注意事項
- テスト密度・バグ密度は、テストまたはバグの件数を同じ集計対象のソースコード行数で割った件数密度です。このページは入力された数値を既存の四則演算エンジンで処理する計算道具であり、機器を測定したり、ソースコードや通信ログを自動解析したりするものではありません。
- 入力単位は、入力コード量はLOCに固定し、結果を件/LOCと件/KLOCの両方で表示します。1 KLOCは1000 LOCです。同じ名前でもbitとbyte、10進接頭語と2進接頭語、秒とナノ秒のように倍率が違うため、画面に示した単位へそろえてから入力してください。単位を暗黙に推測する処理は行いません。
- 計算式は「テスト密度(件/LOC) = テスト件数 ÷ LOC、テスト密度(件/KLOC) = テスト件数 × 1000 ÷ LOC。バグ密度も同様にバグ件数をLOCで割ります。」です。式は参照カタログで対象と入力項目を確認したうえで、量の定義から独立に組み立て、実行文字列ではなく許可済みの加減乗除・べき乗ASTとして保存しています。
- 入力制約は、テスト件数とバグ件数は0以上の整数、ソースコード行数は1以上の整数に制限します。分母になる値は必ず0より大きく制限し、0除算が起きる条件では便宜的な0や巨大値を返さず、該当入力をエラーとして表示します。NaNや無限大も受け付けません。
- 結果の読み方は、300テスト・12バグ・10000 LOCなら30件/KLOCと1.2件/KLOCです。計算結果は理論式または入力期間の平均値であり、待ち時間、プロトコルのオーバーヘッド、キャッシュ、命令の種類、計測範囲など、入力していない要因まで説明する値ではありません。
- 比較するときは、物理行・論理行、生成コード、コメント、空行を含むかというLOC規則と、バグの重複除外をそろえてください。期間、対象機器、コード行の数え方、データサイズの定義などをそろえ、結果だけでなく入力値と単位も一緒に記録すると、後から同じ条件で再計算できます。
- 表示は最大8小数桁までとし、内部では表示前の浮動小数値を使って計算します。丸めは最後の表示段階だけで行います。境界に近い値や非常に大きい値を正式な報告へ使う場合は、採用する組織の丸め規則も確認してください。
- このページの対象範囲は、単純な件数密度であり、テスト品質、重大度、検出工程、コード複雑度を重み付けしません。参照先の文章、画面構成、コードは複製せず、説明文とテスト例はAlfa-Tools向けに新しく作成しています。IPアドレス、N進数、日時変換など文字列・暦処理が必要な機能は本バッチへ含めません。
- 単位、集計範囲、測定期間をそろえ、理論値と実測値を区別して使用してください。
よくある質問
テスト密度・バグ密度で0を入力できない項目があるのはなぜですか?
ソースコード行数が0では1 LOC当たりの件数を定義できません。件数側の0は、対象期間に該当件数がなかった境界として許可します。
結果が実測値と違うのはなぜですか?
LOCの数え方やバグの集計期間が異なると、同じ開発状況でも密度は変わります。このツールは表示した式と入力値だけを使うため、測定条件や追加の損失を含める場合は入力値へ反映してください。
単位を変更して入力できますか?
このv2ページでは入力コード量はLOCに固定し、結果を件/LOCと件/KLOCの両方で表示します。1 KLOCは1000 LOCです。別単位の値は換算してから入力し、bit/byteや10進/2進の取り違えを避けてください。
入力した性能値、件数、コード行数、データサイズ、転送時間はこの端末内だけで計算され、外部へ送信・保存されません。