Modified Condition Decision Coverage (MCDC) in software testing

According to Modified Condition Decision Coverage criteria we need to cover all those combinations of truth values of conditions in which each of the condition’s truth value determines the decision truth value. For example if condition is True then decision must also be True. Similarly if condition is False, then decision must also be false.

Condition C1 | Condition C2 | Decision D1 | |

T | T | T | C1 determines D1 as T |

F | T | F | C1 determines D1 as F |

Table 1: C1 determines D1

Condition C1 | Condition C2 | Decision D1 | |

T | T | T | C2 determines D1 as T |

T | F | F | C2 determines D1 as F |

Table 2: C2 determines D1.

Condition C1 | Condition C2 | Decision D1 | |

T | T | T | C1 determines D1 as T |

F | T | F | C1 determines D1 as F |

T | T | T | C2 determines D1 as T |

T | F | F | C2 determines D1 as F |

Table 3: C1 and C2 determines D1

Now, we can remove the redundancy. Redundancy is mentioned below;

T | T | T | C1 determines D1 as T |

T | T | T | C2 determines D1 as T |

Both of these two testing the same thing, so we can chose one of them to remove. In this example we have chosen the following;

T | T | T | C2 determines D1 as T |

Condition C1 | Condition C2 | Decision D1 | |

T | T | T | C1 determines D1 as T |

F | T | F | C1 determines D1 as F |

T | F | F | C2 determines D1 as F |

Table 4: After removing redundancy

Now, we can see in table 4 that conditions determines the decision

- If C1 is T then D1 is T
- If C1 is F then D1 is F
- If C2 is T then D1 is T, but it is removed because it is redundant to (if C1 is T then D1 is T).
- If C2 is F then D1 is F

MCC= MCC stands for Multiple condition Coverage.

MCDC= MCDC stands for Modified Condition Decision Coverage.

CDC= CDC stands for Condition Decision Coverage.

CC= CC stands for condition Coverage.

DC= DC stands for Decision Coverage.

Some facts about Modified Condition Decision Coverage (MCDC)

- Modified Condition Decision Coverage (MCDC) subsumes CDC. So it leads to the followings;

- CDC subsumes CC and DC.
- It means that if we performed MCC testing, then no need to perform MCDC, CDC, CC and DC.

- MCDC is more stronger than CC
- MCDC is more stronger than DC
- MCDC is weaker than MCC