2 conditions ==> 4 (possible TC)
2 conditions ==> 3 (2+1) MC/DC
----
3 conditions ==> 8 (possible TC)
3 conditions ==> 4 (3+1) MC/DC
-----------
4 conditions ==> 16 (possible TC)
4 conditions ==> 5 (4+1) MC/DC
------------
10 conditions ==> 1024 (possible TC)
10 conditions ==> 11 (10+1) MC/DC
-------------
11 conditions ==> 2048 (possible TC)
11 conditions ==> 12 (11+1) MC/DC
------------------------
N conditions ==> N+1 TCs MC/DC
Z = A && B; ==> 11 is must
A B Z
0 1 0
1 0 0
1 1 1
------------
A B Z
0 0 0
0 1 0
1 0 0
1 1 1
Z = A || B; ==> 00 must
A B Z
0 0 0
0 1 1
1 0 1
------------
A B Z
0 0 0
0 1 1
1 0 1
1 1 1
Z = A && B && C;
ABC Z
111 1
011 0
101 0
110 0
ABC Z
110 0
111 1
101 0
011 0
-----------
Z = A && B && C;
ABC Z
000 0
001 0
010 0
011 0
100 0
101 0
110 0
111 1
Z = A && B || C;
ABC Z
110 1
010 0
100 0
101 1
ABC Z
100 0
101 1
110 1
010 0
-----------
Z = A && B || C;
ABC Z
000 0
001 1
010 0
011 1
100 0
101 1
110 1
111 1
Z = A && (B || C);
ABC Z
100 0
110 1
101 1
001 0
ABC Z
100 0
101 1
110 1
010 0
-----------
Z = A && (B || C);
ABC Z
000 0
001 0
010 0
011 0
100 0
101 1
110 1
111 1
Z = A && B && C && D;
ABCD Z
0000 0
0001 0
0010 0
0011 0
0100 0
0101 0
0110 0
0111 0
1000 0
1001 0
1010 0
1011 0
1100 0
1101 0
1110 0
1111 1
Z = A && B || C && D || E;
(A&&(!A||B))||(C||(!C))&&D)
Z = A && B && C;
no of inputs 3
no of conditions 3
Z = A && B || A;
no of inputs 2
no of conditions 3
Z = A && B || !A;
no of inputs 2
no of conditions 3
Z = A && B || !C; ==> Z = C1 && C2 || C3
no of inputs 3
no of conditions 3
C1 ==> A
C2 ==> B
C3 ==> !C
C1 C2 C3 Z
1 1 0 1
0 1 0 0
1 0 0 0
1 0 1 1
test cases:
ABC Z
111 1
101 0
101 0
100 1
Z = A&&B || C&&D;
ABCD Z
1101 1
0101 0
1001 0
1011 1
1010 0
MC/DC shortcut:
Z=A&&B; ==> 11 must
AB Z
00 0
01 0
10 0
11 1
Z=A||B; ==> 00 must
AB Z
00 0
01 1
10 1
11 1
Z=A&&B&&C; ==> 3+1 ==> 4 TC
ABC Z
111 1
011 0
101 0
110 0
-----
Z=A&&(B&&C); ==> 3+1 ==> 4 TC
ABC Z
111 1
101 0
110 0
011 0
Z=A||(B&&C); ==> 3+1 ==> 4 TC
ABC Z
011 1
001 0
010 0
110 1
-------------
Z=(A&&B)||(C&&D); ==> 4+1 ==> 5 TC
ABCD Z
1101 1
0101 0
1001 0
1011 1
1010 0
Z=(A||B)&&(C||D); ==> 4+1 ==> 5 TC
ABCD Z
0010 0
1010 1
0110 1
0100 0
0101 1
Z=(A||B) && (C||D) && E; ==> 5+1 ==> 6 TC
ABCDE Z
00101 0
10101 1
01101 1
01001 0
01011 1
01010 0
Z = !A && B; (MC/DC for not gate)
C1 ==> !A
C2 ==> B
Z = C1 && C2;
C1 C2 A
1 1 1
0 1 0
1 0 0
Test cases: Z = !A && B;
A B Z
--------
0 1 1
1 1 0
0 0 0