Preventing is cheaper than detecting; mature QA prefers prevention.
Detection-focused (traditional):
- Tests catch defects after introduction.
- Defects logged, fixed, retested.
- Quality through finding bugs.
Prevention-focused (modern):
- Process changes that prevent defects.
- Coding standards.
- Pre-commit hooks.
- Continuous integration.
- Code reviews.
- Pair programming.
- TDD/BDD.
Why prevention wins:
- Cost: defect in dev = cheap; in production = 100x.
- Speed: not having to fix saves time.
- Reputation: customers don't see defects.
Prevention practices:
- Automated tests: catch regressions early.
- Linting / static analysis: catch issues at write-time.
- Code reviews: human catches what tools miss.
- Pair programming: real-time review.
- Coding standards: prevent common mistakes.
- Deployment gates: prevent broken code reaching production.
Detection still needed:
- For unforeseen issues.
- For UX bugs prevention can't catch.
- For integration issues.
- For exploratory testing.
Balance:
- Prevention as default.
- Detection as safety net.
QA role shift:
- From "find bugs" to "prevent bugs".
- More involved in design / process.
- Less manual testing.
Senior QA insight: prevention is force multiplier. One prevented defect = saved time across the team.
The senior framing: mature QA invests in prevention; immature QA only detects. Maturity progresses.
