Technical Note/etc

코드 커버리지는 소프트웨어 테스트 시 사용되는 측정 기준 중의 하나

소스코드가 테스트된 정도를 의미함

당연히, 소스코드 내부를 들여다 봐야 하므로, 화이트박스 테스트에 속한다.


코드 커버리지 기준은 다음과 같이 7개 기준이 있다

특정 테스트케이스를 어느기준을 적용하여 테스트하느냐에 따라 커버리지 비율이 틀려지게 된다.


Function coverage : 소프트웨어 내에 정의된 Function이 호출되는 정도

Statement coverage : 소프트웨어 내에 정의된 Statement 가 호출되는 정도

Decision coverage : 소프트웨어 내에 정의된 조건문이 참/거짓 모두 수행되는 정도

Condition coverage (or Predicate coverage) : 소프트웨어 내에 기술된 조건문에서 사용되는 개별 조건이 참/거짓  모두 수행되는 정도

Modified Condition / Decision Coverage (MC/DC) : 소프트웨어 내에 기술된 조건문에 참/거짓이 되기 위한 조건들의 가능한 조합 모두가 수행되는 정도

Path coverage

Entry / Exit coverage


문제는 어느 기준을 적용하여 코드 커버리지분석을 하느냐 인데,

이는 해당 소프트웨어의 중요성 및 수행비용에 따라 결정됨

당연히, 더 상세한 커버리지 분석을 위해서는 더 많은 테스트케이스가 필요하게 되며

이는 비용과 직결되게 된다.

따라서 어느 수준까지 커버리지 분석을 수행할지는 프로젝트 별로 비용 및 중요성을 판단하여 조기에 결정하여 수행하면 된다.