Modified Condition / Decision Coverage (MC/DC)

MC/DC coverage takes the structure of a decision into account.

Each decision is made up from conditions, which are combined by logical operators (and, or, not).

Roughly spoken, to get 100% MC/DC for a decision, each condition in the decision requires a pair of test cases, that

  • Differs in the Boolean value for that condition, and
  • Has the same Boolean value for all other conditions, and
  • Produces true and false in the outcome of the whole decision

n conditions require n+1 test cases