코드 커버리지란?
- 소프트웨어의 테스트를 논할 때 얼마나 테스트가 충분한가를 나타내는 지표 중 하나로 말할 수 있다.
- 말 그대로 얼마나 커버가 되었는가? 를 뜻함
- 코드의 구조를 이루는 것은 크게 구문(Statement), 조건(Condition), 결정(Decesion)이다. 이러한 구조를 얼마나 커버했느냐에 따라 코드커버리지의 측정기준은 나뉘게 된다.
- 조건 커버리지 - 각 내부 조건이 참 혹은 거짓을 가지면 충족된다.
- 결정 커버리지 - 각 분기의 내부 조건자체가 아닌 이러한 조건으로 인해 전체 결과가 참 혹은 거짓이면 충족된다. 그리고 조건과 결정을 복합적으로 고려하는 MC/DC 커버리지 또한 있다. 커버리지를 측정하는 법은 사람이 로그를 찍어가거나 디버거를 이용하여 볼 수 있으나 매우 힘든과정이다. 시중에는 많은 코드커버리지 측정 도구가 나와 있으며, 대표적인 도구로 DT10, LDRA, VectorCAST 등등