Back to stories
<QA/>

Performance Testing (Part 1): Load, Stress, and Soak

Share by

Performance Testing (Part 1): Load, Stress, and Soak

Performance testing checks how the system behaves under load: response time, throughput, and stability. This post introduces load, stress, and soak testing—what they are and when to use them.


Load testing

Goal: Verify behavior under expected load (e.g. 100 concurrent users, 50 requests/second).

  • What to measure: Response time (e.g. p95, p99), throughput (requests/second), error rate.
  • When: Before release or after major changes; baseline and regression.
  • Pass criteria: Response time and error rate within SLA (e.g. p95 < 500ms, 0% errors).

Stress testing

Goal: Find the limit: how much load the system can handle before it degrades or fails.

  • What to do: Increase load (users or rate) until response time spikes or errors appear.
  • What to measure: Breaking point (e.g. max users before failure), recovery after load drops.
  • When: To size capacity and plan scaling; to see how the system fails and recovers.

Soak (endurance) testing

Goal: Verify stability over time (e.g. hours or days) under sustained load.

  • What to do: Run moderate load for a long period (e.g. 4–24 hours).
  • What to measure: Response time and error rate over time; memory leaks, connection leaks.
  • When: To catch degradation that only appears after long runs.

Summary

  • Load = expected load; stress = find limit; soak = sustained load over time.
  • Measure response time, throughput, and error rate; define pass criteria for load tests.
  • Use load for baseline and regression; stress for capacity; soak for stability and leaks.