MC/DC (Modified Condition / Decision Coverage)

I. MC/DC의 개요

가. MC/DC (Modified Condition / Decision Coverage)의 개념

  • 개별 조건식이 다른 조건식의 영향을 받지 않고 전체 조건식의 결과에 독립적으로 영향을 주는 테스트케이스 도출 구조적 테스트기법
  • 개별 조건식이 전체 조건식의 결과에 영향을 주는 조건 조합을 찾아 커버리지를 테스트하는 방법
  • 커버리지: 소프트웨어 테스트 시 테스트가 충분한지 나타내는 지표

나. MC/DC의 특징

결과에 독립적Condition / Decision 커버리지를 만족하고 결정에서 각 조건들은 결과에 독립적이어야 함
N + 1
테스트 케이스
일반적으로 N개 입력을 가진 결정에서 N+1개의 테스트 케이스 필요

다. 테스트 커버리지 간 포함관계 개념도

 

II. MC/DC 결정테이블

가. MC/DC 결정 테이블 소스 구문

흐름도분기문 소스
if (A && B) { // A, B는 개별 조건 식
 C = e + f; // A && B 는 전체 조건식
}else{
  C = e – f;
}

나. MC/DC 조건식 테이블

개별조건식전체조건식MC/DC
TC
설명
ABA&&B
TTTY– A, B 중 일부 변경 시 전체조건식 영향
TFFY– B가 T로 변경 시 전체조건식에 영향
FTFY– A가 T로 변경 시 전체조건식에 영향
FFFN– A, B 중 일부 변경 시 영향없음, TC 제외
  • 전체 조합을 테스트하는 것은 현실적으로 불가능하며, 가능한 의미 있게 조합 수를 줄여 테스트하는 것이 MC/DC 커버리지 핵심개념

 

III. MC/DC 커버리지를 활용하는 최근 국제 표준 동향

9 Comments

콘텐츠 사용 시 출처 표기 부탁 드리고, 궁금한 점이나 의견은 댓글 남겨주세요^^