본문 바로가기
dev, tech/quality, testing

기본 코드 커버리지 종류

by 구띵 2009. 12. 16.

 

 

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

댓글