Skip to main content
Load vs Stress vs Soak Testing

Performance Testing Basics

Load vs Stress vs Soak Testing

Reading10 min read

Load vs Stress vs Soak Testing

Performance testing is not one thing — it is a family of related techniques, each answering a different question about your system's behaviour under load.

Load Testing

Question: How does the system perform under the expected production load?

Load testing simulates the number of concurrent users or requests your system normally handles. The goal is to verify that response times, error rates, and resource utilisation remain within acceptable limits under normal operating conditions.

Key metrics to capture:

  • Response time (average, median, P95, P99)
  • Throughput (requests per second)
  • Error rate (% of requests returning 5xx)
  • CPU and memory utilisation on servers

When to run: Before every major release, especially for features that add database load or new API endpoints.

Stress Testing

Question: What is the system's breaking point?

Stress testing pushes load beyond expected levels to find when and how the system fails. The goal is not to find a number to brag about — it is to understand failure behaviour. Does the system degrade gracefully (returning 503 with a useful error message) or crash catastrophically (data corruption, unrecoverable state)?

Knowing your system's breaking point lets you set capacity alerts at a safe margin below it.

Soak Testing (Endurance Testing)

Question: Does the system hold up over time?

Soak tests run at moderate load for extended periods (hours or days). They reveal problems that only appear over time:

  • Memory leaks: Heap usage climbs slowly and eventually causes OOM crashes
  • Connection pool exhaustion: DB connections not properly closed accumulate over time
  • Log disk saturation: Verbose logging fills disk after hours of operation
  • Thread accumulation: Threads not cleaned up after request completion

A system can pass a 5-minute load test and fail after 4 hours of soak — both tests are necessary.

Spike Testing

A variant of stress testing — instead of gradually increasing load, a spike test instantly jumps to extreme load. It tests whether the system can absorb sudden traffic bursts (a viral post, a flash sale, a DDoS).

Which Test to Run When

ScenarioTest type
Pre-release validationLoad test
Capacity planningStress test
New deployment on aged infrastructureSoak test
Marketing campaign launchSpike test
Q
Knowledge Check

Which performance test type is best suited for detecting memory leaks?

Next Lesson

Key Metrics: Throughput, Latency, P95