Skip to content
All articles

Insights~6 min read

What Do Flaky Tests Really Cost an Engineering Team?

How much do flaky automated tests actually cost an engineering team? Build a cost model from your own numbers and see which causes sight-based testing fixes.

TL;DR

Flaky tests cost you in reruns, investigation time, slower merges and lost trust in red builds. Selector-based tests that encode UI structure can be one source of flakiness. Price the problem with your own numbers, then fix the causes you can: sight-based testing removes one of them, not all.

Key takeaways

  • The cost has four parts: Reruns, investigation, delayed merges and ignored failures all add up, and only the first is easy to measure.

  • Use your own numbers: A simple formula with your team's rerun counts and hourly cost beats any borrowed industry statistic.

  • Flakiness has several causes: Brittle selectors, timing, shared data and environment drift each need a different fix.

  • Selectors are one root cause: Tests that locate elements by structure break when the UI changes, even if the product still works.

  • Sight-based testing addresses that one cause: TaloTrace navigates by looking at the screen rather than element IDs, so it keeps working when the UI changes.

What Does a Flaky Test Look Like Week to Week?

A build goes red. Someone opens the log, sees a timeout on a button that is clearly on the screen, and clicks rerun. It passes. Nobody files anything, because nothing was broken.

That small ritual repeats several times a week, and each repetition is cheap enough to ignore. The pattern that follows is more expensive: a failing build stops meaning anything. Engineers learn that red often means rerun, so the day a red build is a real regression, it gets the same shrug.

Meanwhile a pull request waits on a pipeline that has to go green twice. A release engineer holds a deploy while someone confirms that a failure is the usual one. Little of this shows up on a dashboard, which is why the cost stays hidden.

How Do You Put a Dollar Figure on Flaky Tests?

Most flaky-test cost calculators ask for broadly similar inputs. You can do the same sum yourself, and your own numbers are more credible in a budget conversation than a borrowed statistic. Track these for a few weeks:

  • Failures that were not defects: count builds that went red and then passed with no code change.
  • Minutes per failure: time to read the log, decide it is flaky and rerun.
  • People involved: often the author, a reviewer and whoever owns the pipeline.
  • Loaded hourly cost: use whatever your finance team uses for an engineer.
  • Delay cost: the time merges and releases sat blocked, which is easy to overlook and which some calculators leave out.

Multiply the first four together, add the delay cost, and you have a weekly figure. Multiply by the weeks in a year for the annual one. We are not putting a number here on purpose: the result depends entirely on your suite and your team, and an invented average would only give you something to argue with.

One cost does not fit the formula. Trust is hard to price, but it is the reason flakiness is dangerous rather than merely annoying. A suite people have learned to ignore protects very little.

Why Do Tests Become Flaky in the First Place?

Flakiness is not one problem. It is a symptom with several mechanisms, and it helps to separate them, because each has a different fix.

  • Brittle selectors: a test finds a button by its place in the page structure, an auto-generated class or an ID. Those details were never meant to be stable. A refactor changes them, the product looks identical to a user, and the test fails.
  • Timing assumptions: the test acts before the screen is ready, or waits a fixed interval that is sometimes too short.
  • Shared state: tests that depend on data another test created, or left behind, pass or fail depending on order.
  • Environment differences: a slow runner, a different device configuration or a third-party service that responds unevenly.
CauseWhat goes wrongWhere the fix lives
Brittle selectorsA UI change breaks how the test finds an element, though the product still works.How elements are located. This is the cause sight-based testing addresses.
Timing assumptionsThe test acts before the screen is ready or waits too short a time.Waiting and synchronization in the test.
Shared stateResults depend on data another test created or left behind.Isolated test data.
Environment differencesSlow runners, different device configurations or uneven third-party services.The environment itself.

The selector problem has a particular shape. Every screen that changes can touch many tests at once, so the cost can arrive in bursts after a redesign.

What Do Teams Usually Try, and Where Does It Run Out?

The first response is the retry. Rerun failures automatically and the build goes green more often. It works as a painkiller: the flaky test is still there, it just costs compute instead of attention. It also hides real intermittent defects, because a genuine race condition in your product looks exactly like a flaky test.

The second is quarantine. Move the offenders to a separate job and stop blocking on them. That restores the pipeline, but coverage quietly shrinks.

The third is a dedicated clean-up effort: stable test IDs, explicit waits, isolated test data. This is real root-cause work and it pays off. It is also a standing commitment, because the next UI change can break the next batch of selectors, and the effort competes with feature work every sprint.

Doing nothing is also a choice, and the formula above tells you what it costs. If the weekly figure is small, living with it may be rational. If it is not, the question becomes which causes you can remove rather than manage.

What Does Fixing the Root Cause Look Like with TaloTrace?

TaloTrace is a QA testing platform that tests web, iOS and Android apps by looking at the screen. It addresses the selector cause directly: it navigates by looking at the screen, not by brittle element IDs, so it keeps working when the UI changes. There are no test scripts to write or maintain.

You point TaloTrace at your app and, optionally, describe the flow you care about most in plain language, such as completing a checkout. From there TaloTrace:

  • Explores the running app.
  • Plans the user journeys worth testing.
  • Drives each journey to a verifiable outcome.
  • Turns the journeys it completes into replayable scenarios.

Its interaction range covers taps, typing, scrolling, swiping, long-press, double-tap, drag and pinch.

Two details speak to the trust problem. A goal is marked done only when a machine-checkable predicate proves the outcome, and that predicate must be false before the action and true after. A scan that produces no independently proven goal fails rather than reporting an unverified pass. And TaloTrace separates finding a bug from reporting it: it independently verifies each finding before it reaches you, so what you see is not the raw output of the step that produced it.

Each finding carries:

  • A screen recording of the run.
  • The time window inside that recording where the defect shows.
  • Step-by-step reproduction of how to reach it.

Repeated observations of the same defect collapse into a single issue within a run. You can read more about the approach on the how it works page, and the Android testing guide covers one platform in depth.

Which Flaky-Test Causes Does This Not Fix?

It is worth being plain about the limits. Sight-based navigation removes dependence on brittle element IDs. It does not claim that tests never break, and it says nothing about your backend being slow, your test data being shared or a third-party service responding unevenly.

So the honest way to use the earlier cost model is to sort your last few weeks of non-defect failures by cause. If a large share trace back to selectors and UI changes, that is the share this approach targets. If they trace back to environment or data, fix those at the source, whatever tool you use.

How Do You Decide Whether the Fix Is Worth It?

Compare two numbers: the annual cost from your formula, and the ongoing cost of maintaining the selector layer you have today. If the second is a meaningful part of the first, removing it is a stronger case than another round of clean-up.

Then keep the reported figures in perspective. Early teams have reported up to a 90% reduction in QA spend. That is an attributed figure, not a guarantee and not a baseline we can hand you. Your own formula is the better guide.

How Can You Try It on Your Own App?

The fastest check is to run TaloTrace against a flow in your app that your current tests break on most often, and compare what it reports with what your suite does.

See whether the cost you calculated is the cost you need to keep paying.

Get early access or book a demo

Frequently asked questions

How do I calculate the cost of flaky tests?

Count the failures per week that turned out not to be real defects. Multiply by the minutes spent rerunning and investigating each one, multiply by the number of people involved, then by your loaded hourly cost. Add the delay cost of blocked merges separately. Use your own data, not an industry average.

Are all flaky tests caused by selectors?

No. Timing assumptions, shared test data and environment differences also produce flakiness. Sight-based testing addresses the selector cause only, so audit your failures before expecting it to remove every intermittent result.

Does TaloTrace remove test maintenance entirely?

No. TaloTrace navigates by looking at the screen rather than brittle element IDs, so it keeps working when the UI changes, and there are no test scripts to write or maintain. That is a narrower claim than saying tests never break.

What happens when TaloTrace is unsure about a finding?

TaloTrace independently reviews each finding before it reaches you. Findings start hidden and become visible only when a reviewer approves them, or when the project is configured to auto-approve. Low-confidence findings are held separately and need an explicit per-finding decision.

Which platforms can TaloTrace test?

Web apps in a browser, Android apps on an emulator and iOS apps on the Apple iOS Simulator, all cloud-hosted and virtual. Physical devices are not offered.

See what TaloTrace finds.

Give Nico your application. Get back the journeys, the failures, and the evidence.