ProductHow it worksPricingBlogDocsLoginFind Your First Bug
A balance scale weighing a manual smoke testing checklist and stopwatch on one pan against a stack of automated test files and maintenance tools on the other, with coins beside each pan
TestingSmoke TestingTest Automation Cost

When Does Manual Smoke Testing Beat Automation?

Tom Piaggio
Tom PiaggioCo-Founder at Autonoma

Manual smoke testing is the right call when a build's shape changes weekly, when there's no CI pipeline to run a gate automatically, or when the suite is small enough that a person clears it in a couple of minutes. The decision comes down to one comparison: cumulative manual cost (runs per week times minutes per run times weeks) against one-time authoring cost plus ongoing maintenance. Below that break-even point, keep it manual.

Every team running a smoke gate eventually asks the same question out loud: why is a person still doing this by hand? Most weeks, nobody has done the arithmetic. They've done the vibe check instead: automation feels more mature, so the manual pass gets treated as a thing to graduate out of, on a timeline nobody derives.

That's backwards. The smoke gate is the cheapest, most frequently run check in the whole release process, which is exactly why a small automation decision compounds fastest here, in either direction. Get it wrong and you're either paying an engineer to click through the same five screens every Tuesday for the next three years, or paying to author and maintain a suite that a person could have cleared in the time it took to open the pull request.

This is for the engineer, SDET, or release owner deciding whether today's build ships, or asked to name and staff a gate. It's not for the QA lead writing a suite-allocation strategy, and it's not the "are my AI tests real" question. Narrower than either: one gate, one arithmetic decision.

Three situations where manual smoke testing wins

Smoke testing is the shallow, wide check that runs first, before anything else, to confirm a build is alive enough to bother testing further, distinct from the deeper sanity and regression gates that follow it. Whether that check runs by hand or by machine is a separate question, and for a specific set of teams, manual is the correct answer, not the fallback.

The app changes shape weekly. If the login screen, the checkout flow, and the primary navigation are still being redesigned sprint over sprint, any suite authored against today's screens targets something that will not survive to the second run. The full authoring cost gets paid every single time, which means it never amortizes. A person looking at whatever happens to be on screen this week costs the same two minutes it always did.

There's no CI to hang the gate on. An automated check nobody runs automatically isn't automation, it's a manual check with a maintenance bill attached. If there's no pipeline stage where a smoke suite would actually block a bad promote, writing one buys a script somebody still has to remember to run by hand. Fix the pipeline gap first.

The suite is five checks a competent person clears in two minutes, run once a week. This is the case worth actually computing, because the arithmetic is small enough to do in your head and the instinct to automate anyway is strong. Which five checks belong in that suite is its own question, covered in how to pick smoke test cases. Run the numbers below and the five-check suite loses the case for automating almost every time.

Choosing the smoke gateRuns in CIShape stableRuns x minutesbeats upkeepYesYesNoNoYesNoManualCheapest at low frequencyRegenerateRe-derive when shape shiftsAutomateBreak-even inside the horizon

Only the last question is arithmetic; a missing pipeline or churning screens settle it first.

The cost rule, derived not asserted

Strip away the vibes and the comparison is exactly two numbers running against each other over time.

Manual cost accumulates every run: runs per week, times minutes per run, times weeks. Automated cost has a different shape, not just a different size: a one-time cost to author the checks, plus an ongoing cost to keep them passing as the app changes underneath them. That ongoing term, maintenance, is the one most back-of-envelope comparisons quietly drop, and it's usually what decides the real cases, the same reason even Google continually invests in keeping its own suites trustworthy rather than treating a passing suite as a one-time achievement. We've broken down what that upkeep actually costs over time separately, since it rarely shows up in a first estimate.

Cost componentManual passAutomated suite
Per runMinutes per run x rateNone, already authored
One-timeNoneAuthoring hours x rate
Weekly, ongoingRuns x minutes x rateMaintenance minutes x rate
Over the horizonRuns x minutes x weeks x rateAuthoring plus (upkeep x weeks x rate)

Set the two totals equal and solve for weeks: break-even equals authoring cost, divided by rate times the weekly gap between manual cost and maintenance cost. If runs times minutes is smaller than upkeep minutes, the automated suite's weekly maintenance alone costs more than the manual pass did, so there's no break-even at any horizon. Automating stays more expensive than manual every week, forever, which is precisely the trap the five-check case above sets.

Cumulative cost over 52 weeksManual passHand-authored suiteGenerated suite$1,600$1,200$800$400$001020304050Weeks$1,560$1,380IllustrativeBreak-even moves leftBreak-even, earlyBreak-even, week 40

Ten checks, thrice weekly: a smaller authoring term slides break-even from week 40 back to the first month.

Three scenarios, worked

Assume a loaded rate of $60 an hour, $1 a minute (illustrative, not an industry figure), across three suites over a 52-week horizon. These are numbers we constructed to check the shape of the rule, not industry data, so run your own numbers through the same formula.

Five checks, one run a week, two minutes total: manual cost is 1 x 2 x 52 minutes, $104 a year. Automating means four hours of authoring ($240) plus five minutes a week of upkeep as the UI shifts under it ($260 a year). Automated total: $500. Manual wins by roughly five to one, exactly the case above: authoring never earns out.

Fifteen checks on every merge, 20 runs a week (a realistic deployment frequency for a team merging several times a day), 15 minutes a run: manual cost is 20 x 15 x 52 minutes, $15,600 a year. Authoring 20 hours of checks costs $1,200; upkeep at 20 minutes a week adds $1,040. Automated total: $2,240. Automating wins by about seven to one, and would have broken even in under five weeks ($1,200 divided by $280, about 4.3 weeks of runs).

Ten checks, three runs a week, 10 minutes a run: manual cost is 3 x 10 x 52 minutes, $1,560 a year. Authoring ten hours costs $600; upkeep at 15 minutes a week, since this UI moves more, adds $780. Automated total: $1,380. Automating wins, but only by $180 on the year, with break-even at week 40. Run the same suite for 30 weeks instead of 52 and manual is still cheaper, $900 against $1,050, worth re-checking with your own numbers before committing.

ScenarioManual cost, yearAutomated cost, yearVerdict
Five checks, weekly$104$500Manual wins
Fifteen checks, every merge$15,600$2,240Automate wins
Ten checks, thrice weekly$1,560$1,380Automate, barely
Three scenarios, who winsLime marks the cheaper option each rowFive checks, weeklyManual winsManual $104Automated $500Fifteen, every mergeAutomate winsManual $15,600Automated $2,240Ten, three a weekAutomate, barelyManual $1,560Automated $1,380

A tiny weekly suite stays manual; a per-merge suite flips to automate; the ten-check case is a coin toss.

How Autonoma changes the automate-or-not math

All of that arithmetic assumes authoring and maintenance stay at their old-world prices: a person writing the suite by hand, then patching it every time a selector moves. That assumption is exactly what made the five-check suite and the weekly-reshape case correctly manual above. It's also the assumption generation is built to break.

We built Autonoma's agents to read the codebase directly, plan test cases from the routes and components that actually exist, and run them against a live preview of the application before a reviewing agent looks at the results. Because the suite is derived from the code instead of typed in by hand, and because it heals itself against the running application as the code changes instead of waiting for someone to notice a broken selector, a smoke gate stops being a hand-curated list a person maintains and becomes a signal you regenerate. The scarce work moves from writing and patching checks to reviewing what the suite surfaces.

Autonoma shrinks both cost termsSmaller terms move break-even earlierAuthoringHours by handConnect a repoMaintenancePatch selectorsHeals itself

Autonoma shrinks the authoring and maintenance terms, which is what pulls break-even earlier.

What doesn't change

Two of the three manual-wins cases above are exactly the cases this shift is supposed to move. The third isn't, and it's worth being precise about which is which.

The no-CI case survives untouched. No amount of cheap, self-healing test generation conjures a pipeline stage to hang a gate on. If merges don't trigger anything, the problem was never the cost of writing checks, it was the absence of a place to run them automatically. Fix that first, or keep running the pass by hand.

The five-check, once-a-week case is the one most likely to flip. Run the same formula with authoring priced at the cost of connecting a repository instead of four hours of a person's time, and with maintenance mostly absorbed by a suite that heals itself against the running application instead of someone patching a selector, and the automated total for the year can fall well under what the manual pass costs. The case that correctly favored manual under the old numbers stops being clear-cut once the authoring term shrinks that far.

The weekly-reshape case is the genuinely hard one, and it's where judgement stays human either way. If the screens are being redesigned because product decisions haven't been made yet, no generator, ours or anyone else's, can plan tests against a shape that doesn't exist yet. What changes is how much churn a suite can absorb once the shape stabilizes even a little: partial stability that used to still lose the arithmetic can now clear the bar, because re-deriving checks each time the shape shifts costs closer to connecting the repository again than to a person rewriting a suite from scratch. What doesn't change is who decides whether a failing check is a real regression or an intended change, and who decides what counts as release-blocking in the first place. That call was never arithmetic, and it still isn't. For where that boundary sits, and for the parts of QA that stay a deliberate human judgement call regardless of how cheap generation gets, see our take on manual QA next to AI testing.

Deciding for your own gate

None of the numbers above are yours. That's deliberate. Plug in your own runs per week, your own minutes per run, your own authoring estimate, and your own honest guess at weekly maintenance, and the same formula tells you where your smoke gate actually sits, not where an industry average says it should sit.

If the answer comes back manual, keep it manual, and don't feel behind for it. That's what the arithmetic is for. If the answer comes back automate, or if you're not confident your maintenance estimate is honest (nobody's is, the first time), that's the point where it's worth connecting a repository to Autonoma and running the same math again with a much smaller authoring term on one side of it. The gate doesn't stop being a decision you make. It just stops being one you have to re-derive by hand every time the app changes shape.

Frequently Asked Questions

Multiply your runs per week by your minutes per run, then multiply by the weeks you care about. Compare that to a realistic authoring estimate plus weekly maintenance over the same horizon. If the manual total stays lower across a full year, not just this week, it should stay manual until the suite grows or the run frequency rises.

Dropping the maintenance term. Most rough comparisons only price the one-time cost of writing the automated checks against the manual pass, and skip the ongoing cost of keeping those checks passing as the UI changes. Maintenance, not authoring, is usually what decides a close case.

Yes, in one specific direction: as runs per week or minutes per run go up, the manual side of the comparison grows without bound while the automated side only grows by its maintenance term. A suite that correctly stayed manual at low frequency can cross the break-even the moment it starts running many times a day.

More often than the old arithmetic suggests. Connecting a repository replaces the hours of hand-authoring this article prices in, and the suite then heals itself against the running app instead of needing someone to patch selectors, so even a five-check suite's break-even can move in Autonoma's favor. And once you're already running Autonoma for your larger suites, folding the five-check gate into it costs almost nothing extra. The one case where staying manual is still clearly right is a suite that genuinely runs once a week and nothing else, and most teams cross that line sooner than they expect.

Generation cannot plan tests against screens that don't exist yet, so a suite in the middle of a real redesign stays a judgement call for a human to author and re-author by hand until the shape settles. Once the redesign stabilizes, even partially, re-deriving the suite from the codebase becomes cheap again.

Related articles

An isometric grid of dark tiles, several ringed in lime where an expected and actual check match, and one recessed hollow tile marking the check that failed, surrounded by shopping carts, pallets and a card reader

What Does Smoke Testing Actually Check?

What smoke testing is, why it runs first, and a worked four-check suite with an expected-vs-actual mismatch. Plus why smoke is a build property, not a list.

Outsourcing QA testing cost comparison: six QA automation vendor pricing models held against one fixed reference workload, with quote-only cells shown explicitly rather than omitted

Outsourcing QA Testing? Here's What 6 Vendors Cost

Outsourcing QA testing? Six vendors' pricing compared across five billing models, against one fixed workload. Quote-only figures marked honestly, not guessed.

Cost of not testing calculator showing production bug cost breakdown for a 10-person startup with engineering time, customer churn, and opportunity cost

Production Bugs Cost Startups $8K-$25K

What does a production bug cost a startup? $8K-$25K. See the full cost breakdown and learn how smoke testing and automated testing prevent expensive incidents.

Three release-stage gates, smoke, sanity and regression, each mapped to the single trigger that fires it: a new build, a targeted fix, or a pre-release merge

Sanity vs Smoke Testing vs Regression: 3 Triggers

Sanity vs smoke testing, plus regression: which of the three gates to run right now, mapped to the trigger that fires it, not how big the change feels.