I'm having a hard time trying to grok the concepts behind Modified Condition/Decision Coverage. I understand that the expected test suite that is output will adhere to the following conditions:
- Each block in a program P has been covered
- Each simple condition in P has had both true and false values
- Each decision in P has taken all possible outcomes
- Each simple condition within a compound condition C in a P independently effects the outcome of C.
The text that I'm following gives the below compound condition consisting of a number of simple conditions (C1, C2,...Cn):
C = (C1 and C2 and C3 or C4 and C5)
The author states that generating a minimal MC/DC test set is trivial for the above condition, but I'm not understanding how he thinks that. He also goes on to state that the test set can be constructed by using a simpler compound condition such as the following:
C = (C1 and C2)
+----------------------------+
| Test | C1 | C2 | C |
+----------------------------+
| t1 | T | T | T |
+----------------------------+
| t2 | T | F | F |
+----------------------------+
| t3 | F | T | F |
+----------------------------+
Any help would be appreciated.