MCP로 연결 →

계산 입력

공식

광고

결과

결함 밀도 (KLOC당)
2.5
bugs/KLOC
테스트 밀도 (LOC당) 0.05 tests/LOC
테스트 밀도 (KLOC당) 50 tests/KLOC
결함 밀도 (LOC당) 0.0025 bugs/LOC
결함 밀도 (KLOC당) 2.5 bugs/KLOC
환산된 코드 규모 10,000 LOC

이 계산기로 무엇을 할 수 있나요

이 도구는 소프트웨어 엔지니어링에서 널리 쓰이는 두 가지 품질 지표를 계산합니다. 하나는 테스트 밀도(코드 규모 대비 보유한 테스트 케이스의 수)이고, 다른 하나는 결함 밀도(코드 규모 대비 발견된 버그의 수)입니다. 두 지표 모두 LOC(코드 라인 수, Lines Of Code)당 값과 KLOC(코드 라인 수 1,000줄 단위)당 값으로 함께 제공됩니다. 업계에서는 보통 KLOC를 표준 보고 단위로 사용하기 때문입니다. 특정 국가의 규정과 무관한 범용 지표입니다.

사용 방법

실행한 테스트 케이스 수, 발견한 버그 수, 소스 코드 규모를 입력하세요. 코드 규모를 입력할 때는 그 값이 순수 라인 수(LOC)인지, 아니면 1,000줄 단위(KLOC)인지 선택하면 됩니다. 계산기가 내부적으로 이를 순수 LOC로 환산한 뒤 모든 밀도 값을 자동으로 산출합니다.

공식 풀이

먼저 코드 규모를 환산합니다.

$$\text{locLines} = \text{loc} \times \text{factor}$$

이며, factor는 LOC일 때 1, KLOC일 때 1000입니다. 그런 다음 LOC당 테스트 밀도 = 테스트 수 / locLines, LOC당 결함 밀도 = 버그 수 / locLines로 계산합니다.

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

KLOC당 값은 단순히 LOC당 값에 1000을 곱한 것입니다. 테스트 수와 버그 수는 정수 개수이므로 별도로 환산하지 않습니다.

광고
코드 줄 수에 대한 비율로 표현한 버그 밀도와 테스트 밀도 다이어그램
두 지표 모두 개수(버그 또는 테스트)를 코드 크기로 나누고 KLOC당 단위로 환산합니다.

예제로 살펴보기

테스트를 500건 실행했고, 버그를 25개 발견했으며, 코드베이스가 10 KLOC라고 가정해 봅시다. 환산된 규모는 \(10 \times 1000 = 10{,}000\) LOC입니다. 테스트 밀도 \(= 500 / 10{,}000 = 0.05\) tests/LOC, 즉 50 tests/KLOC입니다. 결함 밀도 \(= 25 / 10{,}000 = 0.0025\) bugs/LOC, 즉 2.5 bugs/KLOC입니다.

자주 묻는 질문

왜 LOC당 값과 KLOC당 값을 모두 보여주나요? LOC당 값은 숫자가 너무 작아 읽기 어렵기 때문에, 업계에서는 관례적으로 KLOC 단위로 보고합니다. 두 값은 똑같은 정보를 담고 있으며, 한쪽이 다른 쪽에 1000을 곱한 값일 뿐입니다.

결과가 비어 있거나 오류가 나는 이유는 무엇인가요? LOC가 0이면 밀도는 수학적으로 정의되지 않습니다(0으로 나누기). 따라서 계산기는 무한대 값 대신 오류를 표시합니다.

이 수치를 프로젝트끼리 비교할 수 있나요? LOC를 세는 기준이 서로 같을 때만 가능합니다. 주석 줄과 빈 줄을 포함할지 여부를 일관되게 정해야 합니다. 이 선택에 따라 밀도 값이 크게 달라지기 때문입니다.

최종 업데이트: