Search code examples
testingcode-coveragemc-dc

Number of possible combination of test cases to cover MC DC


I am trying to understand how to design tests cases to cover the following expression: Z := (A and not B) or (C xor D);

Is the following combination the only minimal solution covering MC/DC?

   testCaseNO  1 2 3 4 5
      Input A  T T F F F 
      Input B  T F T T T 
      Input C  F F F F T 
      Input D  F F F T F 
     Output Z  F T F T T 

Or below given also Works fine for MCDC ?

   testCaseNO  1 2 3 4 5
      Input A  T T T F F 
      Input B  T F T T F 
      Input C  F F T F T 
      Input D  F F T T T 
     Output Z  F T F T F

Solution

  • I don't think the second one works for MCDC. You do not demostrate that Input A independently affects the output. In test case 1, A is T and output Z is F. In test case 4 A is F, input D also changes. So you don't know which one changes the output to T.