Types
- Load test — expected load. Does p99 latency stay below 500 ms at 1000 RPS?
- Stress test — load above expected. Where does the system break?
- Spike test — a sudden burst. Can the system handle 10× load for 1 minute?
- Soak test — sustained load over a long period. Are there memory leaks?
Tools
- k6 — JavaScript, open-source, excellent developer experience
- Apache JMeter — Java, GUI, battle-tested
- Gatling — Scala, DSL, good reporting
Metrics
RPS (requests per second), latency percentiles (p50, p95, p99), error rate, throughput. Test in an environment as close to production as possible.