🧪 Software Testing · 3/8 · 약 8분
커버리지는 검증 진행 상황을 빠르게 보여 주는 강력한 요약값이다. 그래서 처음에는 비율이 높으면 충분히 확인한 것이고, 낮으면 시험을 더 추가해야 한다고 단순하게 생각했다.
하지만 숫자만으로는 어떤 중요한 조건이 빠졌는지, 실행하지 못한 이유가 무엇인지, 관찰한 경로가 실제 요구사항과 어떻게 연결되는지 알 수 없었다. 커버리지는 결론이 아니라 다음 질문을 고르는 지도에 더 가까웠다.
#Coverage · #RiskBasedTesting · #Traceability · #Testing
| 커버리지가 알려 주는 것 | 커버리지만으로 알기 어려운 것 |
|---|---|
| 정의한 측정 기준에서 어느 범위를 관찰했는가 | 관찰한 결과가 요구사항을 충족했는가 |
| 미실행 항목이 어디에 남아 있는가 | 미실행 이유가 위험한 누락인지 정당한 예외인지 |
| 회차 사이 관찰 범위가 어떻게 변했는가 | 중요한 조건 조합이 충분히 포함됐는가 |
| 추가로 살펴볼 후보가 무엇인가 | 어떤 후보부터 확인해야 하는가 |
같은 비율도 의미가 다를 수 있다. 중요도가 낮은 반복 경로를 많이 실행한 경우와, 핵심 실패 조건을 포함한 경우를 숫자 하나로는 구분하기 어렵다. 먼저 측정 대상과 범위를 명확히 하고, 요구사항과 연결해 해석해야 한다.
커버리지 수치
↓
미실행 경로 확인
↓
REQ-001과 연결
↓
위험·실행 가능성·예외 사유 판단
↙ ↓ ↘
추가 시험 입력 보완 예외 검토
가상의 REQ-001에 정상 흐름과 예외 흐름이 있다고 하자. 커버리지 리포트에서 예외 흐름이 미실행으로 보였을 때 바로 실패라고 단정하지 않고 다음 순서로 살펴볼 수 있다.
| 가상 상황 | 해석 | 다음 행동 후보 |
|---|---|---|
| 핵심 요구사항의 실패 경로가 미실행 | 영향은 크고 관찰 근거는 부족함 | 우선 시험 입력을 설계 |
| 현재 환경에서 만들 수 없는 조건 | 시험 가능성에 제약이 있음 | 대체 관찰 방법 또는 예외를 검토 |
| 더 이상 사용하지 않는 기능의 경로 | 측정 범위 자체가 오래됐을 수 있음 | 요구사항과 범위를 재확인 |