QAShift is now part of Resolutex - stronger together · one platform, more muscleLearn more →
Testing glossary

What is flaky tests?

A flaky test passes and fails on the same code without any change, making results unreliable.

Flakiness usually comes from timing, shared state, test order, network calls or unstable test data. One flaky test is an annoyance. A suite full of them trains the team to rerun until green, at which point real failures get ignored too.

Fixing flakiness means finding the cause, not adding retries. Good tooling classifies failures automatically, quarantines unstable tests and tracks flake rates over time.

Example

A test clicks Save and immediately checks for a success message. On a slow CI runner the message appears 200ms later, so the test fails one run in ten.

Best practices

  • Wait for conditions, not fixed timeouts
  • Isolate test data so tests do not share state
  • Track flake rate per test and quarantine offenders
  • Classify each failure before alerting anyone
  • Fix the root cause rather than adding blind retries

Frequently asked questions

Should we just retry flaky tests?

Retries hide the symptom. Use them only to classify a failure, then fix or quarantine the test so a green result means something.

Ship without fear.

Start testing free in minutes, or let a QAShift engineer deliver your first morning report within 5 days.