Endurance testing

Endurance testing, also called soak testing, runs a software system under a steady, realistic load for a long period, often many hours or days, to expose problems that short tests never reach. Memory leaks, exhausted connection pools, growing log files and slowly degrading response times appear only after sustained running.

The longer version

The term belongs to software performance work and has nothing to do with athletic stamina. The load is ordinary, close to what a load test applies, and the variable is time. A system that handles an hour of expected traffic cleanly can still run out of memory on day two because each request leaves a little behind, or can slow down as a table grows and an index stops helping.

The measurements are trends, not single numbers. Memory and open-handle counts over time, garbage collection pauses, disk usage, database connections in use and the response-time percentile are plotted across the run. A flat line passes. A slope is what the run is there to catch, even when the system is still fast, because a slow climb that reaches the ceiling in nine days ends in a production outage.

Duration is chosen to cover real cycles. Nightly batch jobs, token and certificate expiry, cache lifetimes, log rotation and scheduled backups all happen on a clock, and a thirty-minute run cannot see any of them. A run that spans those cycles also needs a quiet system to start from, since another team's batch job on the same database muddies the trend.

Common questions

What is endurance testing in software?

Endurance testing is a performance test that applies a steady, realistic load for a long time, often hours or days, to find defects that only appear after sustained operation, such as memory leaks and gradual slowdowns.

Is endurance testing the same as soak testing?

Soak testing is the common alternative name for the same practice, with the system soaked in load over a long period. Some teams use the two names interchangeably and a few reserve soak for the longest runs.

How long should an endurance test run?

An endurance test should run long enough to cover the system's own cycles, so at least one pass of every scheduled job, cache expiry and log rotation. Many teams run overnight or over a weekend, and the right length is the one that would have shown the slowest leak they have seen before.

What does an endurance test usually find?

An endurance test usually finds memory and resource leaks, connection pools that are never returned, disk filling with logs or temporary files, and performance that degrades as data accumulates. Each shows up as a trend line that moves in one direction.

How does endurance testing relate to load testing?

An endurance test often reuses the load test's scripts and load level and extends the duration. The load test confirms the system copes at that volume for a short period, and the endurance run checks that it still does later.

Bug reports that arrive ready to triage.

Collect replay, console, network and browser context with the Free plan.

<script src="…/widget.js" data-key="pb_pub_…">