쉽게 이해하기
A는 회원 여부, B는 결제 완료 여부라고 생각해 봅니다. 조건 커버리지는 A와 B 각각이 참·거짓을 경험했는지, 결정 커버리지는 전체 식의 결과가 참·거짓을 경험했는지 확인합니다. MC/DC는 여기에 각 조건 하나가 결과를 바꾸는 증거를 요구합니다. 아래 표는 독립적인 조건 둘을 단락 평가 없이 모두 평가하는 추상 진리표입니다. 다른 조건을 고정하고 하나만 바꿔 결과까지 바뀌는 두 테스트를 찾는 방식은 unique-cause 방식입니다. 모든 조합을 검사하는 다중 조건 커버리지와도 구분합니다.
눈으로 따라가기
| 번호 | AND 입력(A,B) | AND 결과 | OR 입력(A,B) | OR 결과 |
|---|---|---|---|---|
| 1 | 참, 참 | 참 | 거짓, 거짓 | 거짓 |
| 2 | 거짓, 참 | 거짓 | 참, 거짓 | 참 |
| 3 | 참, 거짓 | 거짓 | 거짓, 참 | 참 |
AND: 1번(참,참)과 2번(거짓,참)은 B를 유지한 채 A만 바꾸어 결과가 바뀝니다. 1번과 3번은 A를 유지한 채 B만 바꿉니다. OR: 1번(거짓,거짓)과 2번(참,거짓)은 A의 영향, 1번과 3번(거짓,참)은 B의 영향을 보여 줍니다. 각 식은 이 세 테스트로 두 조건의 독립성을 확인합니다.
시험 함정
A와 B를 동시에 바꾸어 결과가 달라진 것만으로 각 조건의 독립성을 증명할 수 없습니다. 실제 Python and/or, Java·C의 &&/||는 오른쪽 조건을 생략할 수 있으므로 입력값을 정한 것과 실제 평가한 것은 다릅니다. 단락 평가에서 미평가 조건을 다루는 masking 방식과 아래 unique-cause 진리표 훈련을 혼용하지 않습니다. 반복 조건이나 조건 사이의 제약이 있는 식에 무조건 조건 수+1을 적용하지 않습니다.
함께 보는 관련 주제
비슷한 개념의 핵심과 함정을 이 페이지에서 비교합니다.
즉시 문제 · 4개
정답을 제출하면 해설과 관련 개념을 확인합니다. 틀린 문제는 자동으로 오답노트에 저장됩니다.
즉시 3문제관련 문제 전체검증 근거
기술 문서/실행 검증 · 마지막 검증 2026-09-27 · 출제기준 관련 핵심 학습 · 실제 출제 횟수는 집계하지 않음