Glossary

Soak Testing

What is Soak Testing?

Soak testing (also called endurance testing) is a non-functional testing technique that runs a system under its expected load for an extended period, typically 8 to 72 hours, to expose defects that only manifest over time. In mobile app testing, soak tests target: memory leak detection (heap growth over extended background/foreground cycles), battery drain accumulation, storage quota exhaustion, connection pool starvation, and thread leak patterns. Soak tests are distinct from load tests (which test peak throughput for short duration) and stress tests (which exceed normal load). For mobile apps specifically, the Android Monkey tool and iOS Instruments' Leaks template are common soak testing instruments.

Soak Testing, frequently asked questions

Soak testing reveals defects that require time or accumulated state to manifest: memory leaks (heap grows by 1MB per session, imperceptible after 5 sessions, catastrophic after 500), file descriptor leaks, connection pool exhaustion under sustained traffic, and thermal throttling that degrades performance after 30 minutes of sustained use.