Software Testing Case Studies & Practical Application 2 ā Questions and Answers
Question 1: A team discovers that 80% of defects are concentrated in 20% of the modules during a release cycle. Which testing principle does this illustrate?
- Exhaustive testing is impossible
- Defect clustering (Correct answer)
- Pesticide paradox
- Testing shows presence of defects
Correct answer: Defect clustering
Defect clustering states that defects tend to concentrate in a small number of modules, so testing effort should focus on those high-risk areas.
Question 2: An e-commerce site's checkout process fails only when users apply a discount code AND pay with a gift card simultaneously. What type of testing would have best caught this defect?
- Boundary value analysis
- Equivalence partitioning
- Pairwise (combinatorial) testing (Correct answer)
- Statement coverage testing
Correct answer: Pairwise (combinatorial) testing
Pairwise testing systematically covers combinations of inputs, making it well-suited to catch defects that only appear when specific feature pairs interact.
Question 3: A QA engineer runs the same regression suite every sprint for six months and defect detection drops to near zero, yet production incidents continue. This is most likely caused by:
- Insufficient test environment resources
- The pesticide paradox (Correct answer)
- Poor requirements documentation
- Lack of exploratory testing charters
Correct answer: The pesticide paradox
The pesticide paradox describes how repeatedly running the same tests causes them to stop finding new defects, requiring tests to be regularly reviewed and updated.
Question 4: During UAT, business users reject a feature that passed all functional tests. The most likely root cause is:
- Inadequate unit test coverage
- Requirements were not validated with stakeholders early enough (Correct answer)
- CI/CD pipeline misconfiguration
- Insufficient load testing
Correct answer: Requirements were not validated with stakeholders early enough
UAT failures after passing functional tests typically indicate a gap between documented requirements and actual stakeholder expectations, caused by insufficient upfront validation.
Question 5: A banking app passes all security tests in a staging environment but is breached in production. Which factor is the most plausible cause?
- Staging environment had different network configurations and security controls than production (Correct answer)
- Unit tests were not written for authentication modules
- Test data contained personally identifiable information
- Regression tests were run out of order
Correct answer: Staging environment had different network configurations and security controls than production
Environment discrepancies between staging and productionāsuch as firewall rules, TLS settings, or service configurationsāare a common root cause of defects that only appear in production.
Question 6: A mobile app is released and users report it crashes on older Android versions not tested by QA. What testing strategy was most neglected?
- Performance testing
- Compatibility testing (Correct answer)
- Security testing
- Usability testing
Correct answer: Compatibility testing
Compatibility testing verifies that software functions correctly across different devices, OS versions, and environments, which was insufficient here.
Question 7: A project uses risk-based testing and decides to skip testing low-risk modules to meet a deadline. Later, a defect in a skipped module causes a major outage. This scenario best demonstrates:
- The importance of 100% code coverage
- That risk assessments must be periodically reassessed as conditions change (Correct answer)
- That automated tests are superior to manual tests
- The need for more developers on the project
Correct answer: That risk assessments must be periodically reassessed as conditions change
Risk assessments can become outdated; modules initially rated low-risk may become high-risk as the system or business context evolves, requiring periodic re-evaluation.
A team discovers that 80% of defects are concentrated in 20% of the modules during a release cycle.
Which testing principle does this illustrate?