Statement Coverage
- 프로그램에 있는 모든 문장(statement)이 수행될 수 있다면 조건 충족
- 가장 낮은 수준의 커버리지(제어구문에취약, 실용적이지 않음)
- 테스팅 완료 통과 조건으로 코드 커버리지를 사용 하는 것이라면 가정 먼저 시도하기 위한 조건이 됨
Decision Coverage(Branch Coverage)
- 코드 구조 내의 모든 분기가 TRUE와 FALSE인 경우를 각각 수행할 수 있다면 조건이 충족
Condition Coverage
Decision/Condition Coverage
Modified Condition/Decision Coverage (MC/DC)
- 분기(branch) 내에서 발생할 수 있는 모든 논리적인 조합 중 단위 조건 하나의 값으로 값이 고정된 다른 모든것을 True 또는 False로 변경하여 전체 분기의 평가에 영향을 주는 조합을 말한다. 이때에는 중복을 제거한 것이어야 한다.
- Multiple Condition Coverage 와 비슷한 수준의 결함 검출 능력을 가지면서 테스트 케이스의 수는 적게 산출하는 효과
- 일반적으로 n개의 입력을 가진 결정에서 최소 n+1 개의 테스트 케이스를 필요로 함
Multiple Condition
- 분기 내에서 발생할 수 있는 모든 논리적인 조합을 시험하는 조건
- 2의 n제곱개의 테스트케이스를 가진다. -> 커버리지 만족이 어려움
다음과 같은 구문이 있다고 하자.
예) if((a) || (b)) then ...
- Decision : TF, FF
- Condition : TF, FT
- Condition/Decision : TT, FF
- MC/DC : TF, FT, FF
- Multiple : TT, TF, FT, FF
'dev, tech > quality, testing' 카테고리의 다른 글
테스팅 문서 표준 (IEE829) (0) | 2010.08.29 |
---|---|
iso26262 (0) | 2010.08.29 |
Certification Kit ? (0) | 2010.08.29 |
White-Box Testing (0) | 2009.12.14 |
Software Testing (0) | 2009.12.08 |
댓글