실무 팁

요구사항 커버리지, 코드 커버리지 헷갈리지 말기

아즈마민초 2026. 1. 14. 09:49

코드 커버리지 90퍼센트 이상이라는 의미가 고객의 요구사항에 대한 커버를 90퍼센트 이상을 겠다는 거야? 아니면 만들어 놓은 검증하기록 계획한 테스트 케이스 명세서 대비 90퍼센트 이상을 충족하겠다는거야?

 

 

“코드 커버리지 90% 이상”이라는 표현은 고객 요구사항 커버리지와는 다른 개념입니다. 여기서 말하는 건 보통 테스트 케이스 실행 결과가 소스코드의 실행 경로를 얼마나 커버했는지를 뜻해요.

🔎 두 가지를 구분해 보자

  1. 요구사항 커버리지 (Requirements Coverage)
  2. 코드 커버리지 (Code Coverage)
  • 실제 실행된 테스트 케이스가 소스코드의 문장, 분기, 조건 등을 얼마나 실행했는지를 보는 지표.
  • 예: Statement coverage, Branch coverage, MC/DC coverage.
  • 현실적으로는 90% 이상을 목표로 잡는 경우가 많습니다. (특히 ISO 26262 같은 안전 표준에서는 ASIL 수준에 따라 MC/DC ≥ 90%를 요구하기도 합니다.)

📌 따라서

  • “코드 커버리지 90% 이상” = 테스트 케이스 실행 결과, 코드의 실행 경로가 90% 이상 커버되었다는 뜻.
  • “요구사항 커버리지 100%” = 모든 고객 요구사항이 테스트로 검증되었다는 뜻.
  • 두 지표는 서로 다른 관점이지만, 둘 다 필요합니다.
  • 요구사항 커버리지는 고객 관점의 완전성 보증.
  • 코드 커버리지는 구현 관점의 테스트 충분성 보증.

✅ 결론:
민규님이 작성한 “제어 SW 테스트 커버리지 > 90%”는 테스트 케이스 명세서 대비 코드 실행 커버리지를 의미하는 게 맞습니다. 고객 요구사항 커버리지는 별도의 지표로 관리해야 하고, 그건 최종적으로 100%를 목표로 해야 해요.

?