소프트웨어 테스팅
지금까지 구문 커버리지와 결정 커버리지에 대해 알아보았는데요. 구문 커버리지로는 발견할 수 없는 버그를 결정 커버리지에서 발견할 수 있기 때문에 구문 커버리지가 결정 커버리지의 하위 집합이라 할 수 있습니다.
즉 결정 커버리지를 100% 달성했다면 구문 커버리지도 100% 달성한 것이기 때문에 구문 커버리지는 고려하지 않아도 됩니다. 위와 같은 로직일 경우 구문 커버리지는 True 값에 대해서만 테스트 커버리지 100% 달성 가능합니다. 하지만 결정 커버리지는 True뿐 아니라 False 조건까지 테스트 커버리지 100% 달성 가능하므로 결정 커버리지가 구문 커버리지보다 더 유용합니다. 하지만 테스트를 빠르게 해야 하는 상황일 땐 설계 리소스가 적은 구문 커버리지가 효과적입니다.
단, 결정 커버리지는 전체 조건에서 참과 거짓이 나타나도록 설계하면 테스트 커버리지 100% 달성이 가능한데요.
만약 어떠한 조건이 있고 그 조건의 개별 조건식에서 오류가 있다면 어떻게 될까요? 그러한 경우는 결정 커버리지로 발견하기 어렵습니다. 이로 인해 등장한 기법이 있는데요. 바로 조건 커버리지입니다.
다음 장에선 조건 커버리지에 대해 알아보겠습니다.