Performance Testing
Stress Testing
Testing system behavior beyond normal capacity to find the breaking point and observe recovery behavior.
Full definition
Stress testing pushes the system beyond its normal operating capacity to determine where it breaks and how it recovers. Unlike load testing (expected load), stress testing intentionally overloads the system.
Goals of stress testing:
- Find the system's breaking point
- Identify how the system fails (graceful degradation vs crash)
- Verify recovery behavior after overload
- Discover resource leaks under extreme conditions
Types:
- Sustained stress: Maintain high load for extended periods
- Spike stress: Sudden, extreme load increase
- Gradual stress: Slowly increase load until failure
What to look for:
- Memory leaks (memory usage grows without releasing)
- Connection pool exhaustion
- Database deadlocks
- Disk space depletion
- Error cascade (one failure triggers others)
- Data corruption under extreme load
Good systems degrade gracefully: they slow down, queue requests, or return meaningful errors — they don't crash, corrupt data, or become unresponsive without explanation.