Testing Program Development
Share
Practice Question
Statement II is TRUE: Edge cases (extreme values like 0 miles or 500 miles) often reveal bugs that typical cases miss. What happens if distance is 0? What if time is negative due to a time zone error? These boundary conditions break many programs. Statement III is TRUE: Multiple testers finding the same bug independently confirms it's reproducible and not a fluke. Independent verification is a core collaborative development practice. Statement I is FALSE: Testing ONLY typical cases means bugs hiding in edge cases go undetected until users encounter them in production.
A) This suggests testing only typical cases is sufficient. However, most critical bugs appear at boundaries and edge cases, not in normal operation. The AP exam emphasizes that thorough testing requires both typical AND edge cases.
B) While edge case testing (II) is correct, this misses the value of independent verification (III). Having multiple team members test prevents individual blind spots and confirms bugs are reproducible, not environmental flukes.
D) Statements II and III are correct, but Statement I is not. Testing ONLY typical cases (I) is explicitly limiting and would miss edge case bugs. The word "only" makes Statement I false - comprehensive testing requires typical AND edge cases.
Students often think "typical cases" means "sufficient testing." The AP CSP exam stresses that edge cases (boundary values, empty inputs, maximum values) are WHERE most bugs hide. Typical cases test happy paths; edge cases test error handling. Both are required for robust testing.
For I/II/III questions about testing: Look for answers including edge cases, multiple testers, and systematic approaches. Red flags: "only typical," "single person," "skip unusual cases." Testing questions reward thoroughness - the most comprehensive approach is usually correct.