Soak Testing

Performanceintermediateaka Endurance Testing

// Definition

Running the system at expected load for a prolonged period (hours to days) to surface memory leaks, connection exhaustion, and slow degradation that short tests miss.

// Why it matters

Soak testing holds moderate load for hours or days to surface slow-burn problems a short test can't: memory leaks, connection-pool exhaustion, log-disk fill, gradual latency creep. QA value is patience — these bugs are invisible in a 10-minute run and catastrophic in week-long production.

// How to test

A sustained load-tool run + monitoring, not a functional test:
  • hold steady moderate load (e.g. 60% of peak) for 8–24h+
  • trend memory, connections, disk, latency over time — flat = healthy
  • a rising memory line with no plateau = a leak to chase
  • confirm scheduled jobs / token refreshes survive across the window

// Common mistakes

  • Running too short to reveal slow leaks (the whole point is duration)
  • Watching averages, not trends (a slow upward slope is the signal)
  • No resource monitoring, so a leak passes as "still responding"

// Related terms

Learn more · Performance Testing with K6

Chapter 4 · Lesson 4: Soak Testing — Long-Duration Stability