Q52: How do you test a distributed system before launch?
Combine unit tests, API and contract tests, integration tests against real dependencies where practical, load and stress tests, soak tests, and failure injection. Validate overload, dependency timeouts, retries, broker outages, replica lag, and recovery after process or zone failure. Use production-like data shape and traffic patterns, define pass/fail thresholds, and verify dashboards and runbooks during exercises. A successful happy-path test is not evidence of resilience.
Key Takeaways
- Test failures and recovery, not only successful requests.
- Use realistic workloads and explicit acceptance thresholds.