In a critical system that handles financial transactions with complex logic, ensuring thorough testing
coverage is crucial. Here’s an analysis of the options:
A . Multiple Condition coverage: This provides the highest level of coverage by testing all possible
combinations of conditions. However, it can be very time-consuming and is often impractical for
complex systems due to the sheer number of test cases required.
B . MC/DC coverage: Modified Condition/Decision Coverage is a compromise between multiple
condition coverage and decision coverage. It ensures that each condition within a decision has been
shown to independently affect the outcome of that decision. This level of coverage is often required
in safety-critical systems because it provides thorough testing without the excessive test case count
of multiple condition coverage.
C . Decision coverage: This ensures that every decision (if statement) has been executed in both true
and false directions. While useful, it may not be sufficient for complex systems where the
interactions between conditions are critical.
D . Statement coverage: This ensures that every executable statement in the code has been
executed. It is the most basic level of coverage and is generally not sufficient for complex systems,
especially those that are critical to an organization’s finances.
Given the critical nature of the system and the need for a balance between thoroughness and
practicality, the best option is B. MC/DC coverage. This ensures a high level of coverage that is more
practical than multiple condition coverage while providing more assurance than decision or
statement coverage.