NestJS · Coverage

커버리지를 품질 신호로 쓰는 방법

테스트 커버리지는 숫자가 높을수록 안전하다는 뜻이 아니라, 변경 위험이 큰 도메인 규칙과 실패 분기가 테스트로 잠겨 있는지 보는 보조 신호다.

01

위험 영역 선정

권한, 결제, 데이터 삭제, 외부 연동처럼 장애 비용이 큰 코드를 표시한다.

02

분기 확인

성공 경로보다 guard, exception, conflict 분기가 빠졌는지 branch coverage를 본다.

03

임계값 적용

전체 평균만이 아니라 핵심 module별 threshold를 다르게 설정한다.

04

품질 보정

단순 getter를 테스트해 숫자를 올리는 방식은 리뷰에서 걸러낸다.

Line
실행 여부 테스트가 해당 줄을 지나갔는지 표시
검증 품질을 보장하지 않음
Branch
분기 검증 오류, 권한, edge case 누락을 찾기 좋음
가장 유용한 신호 중 하나
Threshold
회귀 방지 커버리지 급락을 CI에서 차단
모듈별 기준 권장
Mutation
검증 강도 코드를 일부 바꿔도 테스트가 실패하는지 확인
비용이 높아 핵심 영역 위주

분기 · 숫자 집착 · CI 점검

분기 권한 없음, 중복, not found, validation 실패가 테스트에 있다.
숫자 집착 커버리지 상승을 위해 의미 없는 테스트를 추가하지 않는다.
CI threshold 미달 시 병합이 차단된다.
리포트 커버리지 리포트에서 미검증 라인을 리뷰할 수 있다.