본문 바로가기
CS

[Testing] MC/DC ( Modified condition / Decision coverage ) 의 개념 및 이해

by Warehaus 2022. 2. 9.

근래들어 회사에서 테스트 관련한 중요성을 강조하고 있어서 간단하게 개념만 정리하려고 한다.

 

개념

 

개별 조건식이 다른 조건식의 영향을 받지 않고, 전체 조건식의 결과에 독립적 영향을 주는 구조적 테스트 기법

 

 

특징

특징 내용
전체조건식최소 한번수행 프로그램에 있는 모든 결정포인트 전체 조건식은 적어도 한번 모든 가능한 결과값을 취함
모든 개별 조건식 최소 한번 수행 프로그램에 있는 모든 결정포인트 모든 개별 조건식은 적어도 한번 모든 가능한 결과값 취함
개별 조건식은 결과에 독립적 영향 결정 포인트에 있는 각각의 개별 조건식은 결정 포인트의 결과값에 독립적으로 영향
N + 1 Test Case 테스트 상황으로 구성된 조합의 개수는 (조건식 + 1) 

 

MC/DC 결정 테이블

 

소스

if ( A && B ) { // A, B 는 개별 조건
	C = e + f ; // A && B 는 전체 조건
} else {
	C = a - b;
}

 

 

MC/DC 조건식 테이블

개별조건식 전체조건식 MC/DC TC 설명
A B A&&B
T T T Y – A, B 일부 변경 전체조건식 영향
T F F Y – B T 변경 전체조건식에 영향
F T F Y – A T 변경 전체조건식에 영향
F F F N – A, B 일부 변경 영향없음, TC 제외
// 하나의 개별 조건식이 변경된다고 해서 전체 조건식이 변하지 않음.

 

그 외

MC/DC 커버리지를 활용하는 표준으로는 ISO 26262, DO-178B, DO-178C 등이 있다.