Multiple choice technology testing

We can achieve complete statement coverage but still miss bugs because:

  1. The failure occurs only if you reach a statement taking the TRUE branch of an IF statement, and you got to the statement with a test that passed through the FALSE branch.

  2. The failure depends on the program's inability to handle specific data values, rather than on the program's flow of control.

  3. Both A and B

  4. We are not required to test code that customers are unlikely to execute.

Reveal answer Fill a bubble to check yourself
C Correct answer
Explanation

Statement coverage only guarantees that every line of code executes at least once, but this has critical limitations. Option A describes control-flow dependencies: a bug might only appear when taking one branch of a conditional, but your test might only exercise another branch. Option B describes data-flow problems: certain bugs depend on specific input values that trigger edge cases, regardless of code path. Both scenarios mean 100% statement coverage can still miss serious defects.

AI explanation

Complete statement coverage only guarantees every line of code has been executed at least once — it says nothing about whether every branch/condition combination was tested (option A) or whether the program was tested against the range of specific data values that could trigger a defect (option B). Since both of these gaps are real limitations of statement coverage, 'Both A and B' is correct.