근래들어 회사에서 테스트 관련한 중요성을 강조하고 있어서 간단하게 개념만 정리하려고 한다.
개념
개별 조건식이 다른 조건식의 영향을 받지 않고, 전체 조건식의 결과에 독립적 영향을 주는 구조적 테스트 기법
특징
특징 | 내용 |
전체조건식최소 한번수행 | 프로그램에 있는 모든 결정포인트 내 전체 조건식은 적어도 한번 모든 가능한 결과값을 취함 |
모든 개별 조건식 최소 한번 수행 | 프로그램에 있는 모든 결정포인트 내 모든 개별 조건식은 적어도 한번 모든 가능한 결과값 취함 |
개별 조건식은 결과에 독립적 영향 | 결정 포인트에 있는 각각의 개별 조건식은 결정 포인트의 결과값에 독립적으로 영향 |
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 등이 있다.
'CS' 카테고리의 다른 글
[CS overview] Docker container 구성요소 ( 도커 구성요소 ) (0) | 2022.02.20 |
---|---|
[shell/csh] csh 디렉토리 유무/ 경로의 디렉토리 여부 확인하기 - 디렉토리 확인 조건문 (0) | 2022.02.13 |
[CS/AWS] 아마존 웹 서비스 신규 계정생성과 Free Tier 이용하기 (0) | 2022.01.14 |
[CS] 코드커버리지(Code coverage) 란? (0) | 2022.01.10 |
[Linux/C++] main 함수에서 전달받는 argv 임의로 초기화 하는 방법 (0) | 2021.11.01 |