Question 5
Balancing speed vs confidence
How do you balance the need for fast iteration with the need for strong test coverage and confidence in releases?
Follow-ups
- What do you gate on before App Store submission?
Answer outline
The goal isn’t maximum coverage — it’s testing the right things at the right level.
Unit tests are cheap and fast; run them on every change. Reserve integration and UI tests for critical flows — they’re slower, so running them less frequently keeps iteration speed high without sacrificing confidence.
Prioritize around risk: high-value business flows deserve thorough coverage; trivial glue code doesn’t. A suite engineers trust and actually run beats one with impressive coverage numbers that nobody waits for.
Principles
- Aim for confidence where it matters, not maximum coverage numbers.
- Unit tests are cheap — run them constantly and save slower tests for critical paths.
- Prioritize coverage around high-risk, business-critical flows.
- A slow or unreliable suite gets skipped — trust and speed matter as much as coverage.