Write Test requirements and Test cases required according to MCDC criteria.
1 2 3 4 5 | if ((A > 10) && (B < 5) || (C == 0)) { // Do something } else { // Do something else } |
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:
- Each condition is independently tested for true and false outcomes.
- 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
andC == 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
andC == 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 butB < 5
andC == 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.