Question #1 – MCDC: Write Test requirements and Test cases for if ((A > 10) && (B < 5) || (C == 0))

Write Test requirements and Test cases required according to MCDC criteria.

Answer:

Test Requirements:

To achieve 100% MCDC coverage for this code, the following conditions must be met:

  • Condition 1: (A > 10)
  • Condition 2: (B < 5)
  • Condition 3: (C == 0)

The objective of MCDC is to ensure each individual condition (A > 10, B < 5, C == 0) has been evaluated independently to determine if it can independently affect the decision outcome (true or false).

Key Points for MCDC Coverage:

  • Condition 1: (A > 10)
  • Condition 2: (B < 5)
  • Condition 3: (C == 0)

To achieve MCDC, you need to create test cases where:

  1. Each condition is independently tested for true and false outcomes.
  2. Each condition’s change should affect the decision outcome.

Total Test Cases Required:

To achieve 100% MCDC coverage, you need at least 4 test cases that independently evaluate each condition.

Breakdown of Total Test Cases:

Test Case 1:

  • A = 11, B = 4, C = 0
    • (A > 10) is true.
    • (B < 5) is true.
    • (C == 0) is true.
    • Decision evaluates to true (because A > 10 and C == 0 are true).

Test Case 2:

  • A = 5, B = 4, C = 0
    • (A > 10) is false.
    • (B < 5) is true.
    • (C == 0) is true.
    • Decision evaluates to true (because B < 5 and C == 0 are true).

Test Case 3:

  • A = 11, B = 7, C = 1
    • (A > 10) is true.
    • (B < 5) is false.
    • (C == 0) is false.
    • Decision evaluates to false (because A > 10 is true but B < 5 and C == 0 are false).

Test Case 4:

  • A = 6, B = 3, C = 1
    • (A > 10) is false.
    • (B < 5) is true.
    • (C == 0) is false.
    • Decision evaluates to true (because B < 5 is true).

Summary:

  • Total Test Cases Required to Achieve 100% MCDC Coverage: 4 test cases.