MCPで接続 →

計算を入力してください

公式

広告

結果

バグ密度(KLOCあたり)
2.5
件/KLOC
テスト密度(LOCあたり) 0.05 tests/LOC
テスト密度(KLOCあたり) 50 tests/KLOC
バグ密度(LOCあたり) 0.0025 bugs/LOC
バグ密度(KLOCあたり) 2.5 bugs/KLOC
正規化後のコード規模 10,000 LOC

この計算ツールでできること

本ツールは、ソフトウェア開発の現場で広く使われる2つの品質指標を計算します。1つはテスト密度(コード規模に対してどれだけのテストケースを用意したかを表す指標)、もう1つはバグ密度(コード規模に対してどれだけの不具合が検出されたかを表す指標)です。いずれもLOC(コード行数)あたり、およびKLOC(1,000行あたり)の両方で算出します。業界の慣例としてはKLOC単位での報告が一般的です。地域や国による特別なルールはなく、どこでも共通して使える指標です。

使い方

実施したテストケース数、検出したバグ件数、そしてソースコードの規模を入力してください。コード規模については、行数そのまま(LOC)で入力するか、1,000行単位(KLOC)で入力するかを選べます。計算ツールが内部でLOC(実行数値)に換算したうえで計算するため、各種密度は自動的に算出されます。

計算式の考え方

まずコード規模を正規化します。\( \text{locLines} = \text{loc} \times \text{factor} \) とし、factorはLOCのとき1、KLOCのとき1000になります。続いて、

$$\text{Test Density} = \frac{\text{Test Count}}{L} \times 1000, \qquad \text{Bug Density} = \frac{\text{Bug Count}}{L} \times 1000$$

LOCあたりのテスト密度 = テスト件数 ÷ locLines、LOCあたりのバグ密度 = バグ件数 ÷ locLines で求めます。KLOCあたりの値は、LOCあたりの値に1000を掛けるだけです。なお、テスト件数とバグ件数は整数のカウント値であり、スケーリングは行いません。

コード行数に対する割合としてのバグ密度とテスト密度の図
どちらの指標も件数(バグまたはテスト)をコードサイズで割り、KLOC単位に換算したものです。

計算例

テストを500件実施し、バグが25件見つかり、コード規模が10 KLOCだったとします。正規化したコード規模は \( 10 \times 1000 = 10{,}000 \) LOC です。テスト密度は \( 500 \div 10{,}000 = 0.05 \) 件/LOC、すなわち 50 件/KLOC となります。バグ密度は \( 25 \div 10{,}000 = 0.0025 \) 件/LOC、すなわち 2.5 件/KLOC です。

よくある質問

なぜLOCあたりとKLOCあたりの両方を表示するのですか? LOCあたりの値は非常に小さく読み取りにくいため、業界では慣例的にKLOC単位で報告します。両者が示す情報は同じで、一方を1000倍したものがもう一方になるだけです。

結果が空欄やエラーになるのはなぜですか? LOCが0の場合、密度は数学的に定義できません(0での除算になります)。そのため計算ツールは無限大を表示せず、エラーを返します。

プロジェクト間でこれらの数値を比較できますか? LOCの数え方のルールが一致している場合に限り比較できます。コメント行や空行を行数に含めるかどうかは、密度の値を大きく左右します。基準を統一して数えるようにしてください。

最終更新: