Skip to content
All insights
EngineeringTesting5 min read

Why your test suite is slow

Every team complains about slow tests. The actual reasons are usually surprising — and the fixes don't require throwing away the test suite.

When a test suite hits 20 minutes, everyone wants to rewrite it. When it hits an hour, it stops getting run before push. By two hours, it's effectively been demoted to a CI nag. The pattern is universal.

Where the time usually goes

  • A handful of tests that each take a minute or more — usually integration tests with bad fixtures.
  • Database setup and teardown repeated thousands of times.
  • Tests that wait on real time (sleeps) for no good reason.
  • Tests that hit external services that don't need to be hit.

The fix isn't a rewrite

Profile the suite — most slowness is concentrated in a handful of tests. Fix those. Switch DB setup to once-per-suite with savepoints, not per-test. Mock the external services that don't need to be exercised. Most teams find their suite drops from 30 minutes to 4 by fixing 1% of the tests.

Slow test suites aren't broken everywhere. They're broken in five specific places.

Most operations are behind where they could be.

Book a strategy call. We'll map one system worth automating in the next 30 days. No pitch, just the plan.