출처 : https://nesoy.github.io/articles/2018-01/Code-Coverage
코드 커버리지란
SW의 테스트를 논할 떄 얼마나 테스트가 충분한지를 나타내는 지표중 하나이다.
내부를 고려하므로 화이트박스 테스트라고 할 수 있다.
SW테스트를 진행했을때 코드 자체가 얼마나 실행되었는지 숫자로 볼 수 있다.
예를 들어보자
예제 코드
int foo (int x, int y)
{
int z = 0;
if ((x > 0) && (y > 0))
{
z = x;
}
return z;
}
1. 구문커버리지
: 코드가 한줄이상 실행된다면 충족한다
foo(1,1)은 모든 코드를 수행하므로 구문커버리지를 충족하나,
foo(1,0)은 모든 구문커버리지를 완벽하게 충족하진 못한다고 할 수 있다.
2. 결정커버리지
: 전체적인 결과가 참/거짓이면 충족
foo(1,1), foo(1,0)은 어쨌든 전체 결과가 참 또는 거짓으로 나오므로 결정커버리지를 만족한다고 할 수 있다.
3. 조건 커버리지
: 전체가 아니라 내부 코드 결과가 참/거짓이면 충족된다.
foo(1,1), foo(1,0)은 코드의 어떤 부분인 if문에서 참 또는 거짓의 결과를 충족하므로 조건 커버리지를 만족한다고 할 수 있다.
'개발 > QA' 카테고리의 다른 글
Defection 과 Failure 차이 (0) | 2019.12.24 |
---|---|
OR / AND 커버리지 문제 (1) (0) | 2019.12.24 |
TDD (테스트 주도 개발) 이란 (0) | 2019.12.24 |
폭포수 모델 vs 애자일 방법론 (0) | 2019.12.24 |
사이클로매틱 복잡도 (0) | 2019.12.23 |