MCDC 구현 로직 정리

MCDC 기본 (2항목)

A and B

A B Results
1 1 1
0 1 0
1 0 0

MCDC 기본 (2항목)

A or B

A B Results
0 0 0
0 1 1
1 0 1

MCDC 확장 : A AND ( B OR C)

  • 먼저 A의 경우의 수
A Results
1 1
0 0
  • ( B or C)의 MC/DC
B C Results
0 0 0
0 1 1
1 0 1

MCDC 확장 : A and ( B OR C)

  1. A 열 옆에 (B or C)의 결과가 1인 것을 선택하여 붙여준다(임의 선택이다. 중복되도 됨).
A B C Results
1 1 0 1
0 1 0 0

MCDC 확장 : A and ( B OR C)

  1. 1의 아래에 A의 결과가 1인것 임의 선택하고 (B or C)의 결과가 0인 것을 선택하여 붙인다.
A B C Results
1 1 0 1
0 1 0 0
1 0 0 0 ✔

MCDC 확장 : A and ( B OR C)

  1. 2의 아래에 계속해서 A의 결과가 1인 것(중복도 가능) + (B or C)는 선택 안된 것들을 Row로 만들어 붙인다. 여기에서는 (B or C)가 [0,1]조합만 남아 있으므로 이를 붙이면 끝이다.
A B C Results
1 1 0 1
0 1 0 0
1 0 0 0
1 0 1 0 ✔

MCDC 확장 : A OR ( B AND C)

  • 먼저 A의 경우의 수
A Results
1 1
0 0
  • ( B AND C)의 MC/DC
B C Results
1 1 1
0 1 0
1 0 0

MCDC 확장 : A OR ( B AND C)

  1. A 열 옆에 (B AND C)의 결과가 0인 것을 선택하여 붙여준다(임의 선택이다. 중복되도 됨).
A B C Results
1 1 0 1
0 1 0 0

MCDC 확장 : A OR ( B AND C)

  1. 1의 아래에 A의 결과가 0인것 임의 선택하고 (B AND C)의 결과가 1인 것을 선택하여 붙인다.
A B C Results
1 1 0 1
0 1 0 0
0 1 1 1 ✔

MCDC 확장 : A OR ( B AND C)

  1. 2 아래에 A의 결과가 0인것 임의 선택하고 (B AND C)의 결과중 선택 안된것을 나머지 붙인다. (B AND C)의 남은 것은 [0,1] 뿐이므로 이를 선택한다.
A B C Results
1 1 0 1
0 1 0 0
0 1 1 1
0 0 1 0 ✔