몇%
myutper
calculator bench🎓몇%
교육 / IT

버그 생존율

테스트 단계별 검출률에 따른 버그 생존율을 계산합니다.

버그 생존율 계산기는 소프트웨어 개발의 각 테스트 단계(코드 리뷰, 단위 테스트, 통합 테스트, QA, 프로덕션 모니터링)별 검출률에 따라 최종적으로 사용자에게 도달하는 버그 비율을 계산하는 도구입니다. 각 단계의 검출률이 80%라면, 3단계를 거친 후 버그 생존율은 (1-0.8)³ = 0.8%입니다. 하지만 검출률이 50%인 단계가 하나라도 있으면 생존율이 급증합니다. 업계 평균적으로 프로덕션까지 도달하는 버그 비율은 전체 버그의 약 5~15%입니다. 이 계산기를 통해 어떤 테스트 단계를 강화하는 것이 가장 효과적인지 비용 대비 효율을 분석할 수 있습니다.

input / result surfaceLIVE

입력

코드 리뷰, 유닛 테스트, QA 등 각 검증 단계

%
1%99%
버그 생존율
0.243000%

1 in 412 — 프로덕션까지 살아남을 확률

전체 검출 확률
99.757000%

모든 단계에서 잡힐 확률

검출 확률99.8%
생존 확률0.2%

단계별 버그 생존율

차트 로딩중...

단계별 상세

단계단계 검출률누적 검출률생존율
1단계70.0%70.00%30.0000%
2단계70.0%91.00%9.0000%
3단계70.0%97.30%2.7000%
4단계70.0%99.19%0.8100%
5단계70.0%99.76%0.2430%

workflow

사용 방법

총 소요 시간: 약 1분
01

테스트 단계 설정

각 테스트 단계의 이름을 입력합니다.

02

검출률 입력

각 단계의 버그 검출률(%)을 입력합니다.

03

결과 확인

단계별 누적 생존율과 최종 프로덕션 도달 비율을 확인합니다.

principle

계산 원리

## 버그 생존율의 수학적 배경

### 기본 생존율 공식 각 테스트 단계의 검출률을 d₁, d₂, ..., dₙ이라 하면, 각 단계의 통과율(생존율)은 (1-dᵢ)입니다.

최종 버그 생존율 = ∏(1 - dᵢ) = (1-d₁)(1-d₂)...(1-dₙ)

### 예시 검출률이 모두 70%인 4단계: 생존율 = (0.3)⁴ = 0.81% 검출률이 모두 50%인 4단계: 생존율 = (0.5)⁴ = 6.25%

### 한계 검출률 분석 목표 생존율을 S, 단계 수를 n이라 하면 각 단계에 필요한 최소 검출률:

d_min = 1 - S^(1/n)

생존율 1%를 4단계로 달성하려면: d_min = 1 - 0.01^(1/4) = 1 - 0.316 = 68.4%

### 비용 효율 분석 각 단계의 비용을 Cᵢ, 검출률 개선량을 Δdᵢ라 하면:

비용 효율 = |Δ생존율| / Cᵢ

일반적으로 초기 단계(코드 리뷰, 단위 테스트)의 비용 효율이 가장 높습니다.

faq

자주 묻는 질문

cases

실생활 예시

CASE 01

4단계 테스트 파이프라인

코드 리뷰(검출률 65%), 단위 테스트(70%), 통합 테스트(60%), QA(80%)를 거치면 버그 생존율은 0.35×0.30×0.40×0.20 = 0.84%입니다.

100개 버그 중 약 1개만 프로덕션에 도달합니다. 4단계 조합의 위력입니다.

CASE 02

단위 테스트 누락의 영향

위 파이프라인에서 단위 테스트를 생략하면 생존율이 0.35×0.40×0.20 = 2.8%로 3.3배 증가합니다.

한 단계를 건너뛰면 효과가 급격히 떨어집니다. 모든 단계를 유지하는 것이 중요합니다.

CASE 03

Google의 테스트 자동화 사례

Google은 코드 변경 시 자동 코드 리뷰(검출률 약 60%), 단위 테스트(85%), 통합 테스트(75%), 카나리 배포(90%)의 4단계를 운영합니다. 버그 생존율은 0.40×0.15×0.25×0.10 = 0.15%입니다.

높은 자동화 수준과 카나리 배포의 조합으로 1,000개 버그 중 약 1.5개만 사용자에게 도달합니다.

CASE 04

Microsoft의 보안 개발 생명주기(SDL)

Microsoft SDL은 설계 리뷰(40%), 정적 분석(35%), 코드 리뷰(60%), 보안 테스트(70%), 침투 테스트(50%) 5단계로 보안 버그를 걸러냅니다. 보안 버그 생존율은 0.60×0.65×0.40×0.30×0.50 = 2.34%입니다.

보안 버그는 일반 버그보다 생존율이 높아 더 많은 단계가 필요합니다. 5단계로도 약 2%가 통과하여 지속적인 모니터링이 필수입니다.

CASE 05

스타트업 vs 대기업 버그 생존율 비교

스타트업(코드 리뷰 50% + QA 60%): 생존율 0.50×0.40 = 20%. 대기업(4단계 풀 파이프라인): 생존율 약 1%. 스타트업의 버그 생존율이 20배 높습니다.

리소스가 제한된 스타트업은 자동화된 테스트 도입만으로도 버그 생존율을 극적으로 개선할 수 있습니다.

glossary

용어 사전

버그 검출률(Defect Detection Rate)
특정 테스트 단계에서 유입된 버그 중 발견된 버그의 비율입니다. 검출률 70%이면 10개 버그 중 7개를 발견합니다.
버그 탈출률(Defect Escape Rate)
검출되지 않고 다음 단계로 넘어간 버그의 비율입니다. 검출률의 반대 개념으로, 검출률이 70%이면 탈출률은 30%입니다.
코드 리뷰(Code Review)
다른 개발자가 작성된 코드를 검토하여 결함, 설계 문제, 코딩 표준 위반 등을 찾는 과정입니다.
회귀 테스트(Regression Test)
코드 변경 후 기존 기능이 정상 동작하는지 확인하는 테스트입니다. 수정한 버그의 재발을 방지합니다.
정적 분석(Static Analysis)
코드를 실행하지 않고 소스 코드 자체를 분석하여 잠재적 결함을 찾는 기법입니다. SonarQube, ESLint 등이 대표적입니다.
테스트 커버리지(Test Coverage)
테스트가 실행한 코드의 비율입니다. 라인 커버리지, 브랜치 커버리지 등의 종류가 있으며, 높을수록 테스트가 코드를 넓게 검증합니다.
카나리 배포(Canary Deployment)
새 버전을 전체 사용자의 소수(1~5%)에게만 먼저 배포하여 문제를 조기 발견하는 배포 전략입니다.

next tools

관련 계산기