World’s largest virtual agentic engineering & quality conference

WHENAUG 19-21
WHEREVirtual · Global
Register Now
AIAI Testing

Agent Smoke Testing: The Fast Gate Before You Ship

Agent smoke testing explained: the five to eight checks worth running on every prompt change, what to leave out, and why the two-minute cap is the whole point.

Author

Himanshu Sheth

Author

Author

Samyak Goyal

Reviewer

Last Updated on: August 18, 2026

Researchers measuring how much a prompt's formatting matters found that several widely used open-source models were extremely sensitive to subtle, meaning-preserving changes in prompt formatting, with performance differences of up to 76 accuracy points on LLaMA-2-13B in few-shot settings, according to Quantifying Language Models' Sensitivity to Spurious Features in Prompt Design on arXiv.

Those were formatting choices, not logic changes. Now think about the edits your team actually makes to an agent's system prompt in an afternoon, and how many of them ship without anything checking that the agent still works.

TL;DR

Agent smoke testing is a small suite of five to eight checks, capped at about two minutes, that answers one question before anything slower runs: is this agent build working well enough to be worth testing further? It gates prompt edits, model version changes, and tool schema changes, and a failure means stop rather than investigate.

  • A smoke suite is a viability gate rather than a quality measure, so it asks whether the agent works at all and leaves whether it works correctly to the functional layer.
  • Agents need this gate more than applications do, because a prompt edit has no compiler, no type check, and no diff showing which behaviours it just changed.
  • Five to eight checks is the working range, covering a response at all, one canonical task, one real tool call, one hard constraint, one out-of-scope decline, and the version of the prompt actually loaded.
  • Two minutes is a hard cap rather than a target, because a gate people are unwilling to wait for is a gate they start skipping.
  • Run it on every prompt edit, every model version change, every tool schema change, and before every deploy.
  • Point the suite at real tools in staging rather than mocks, since an unreachable tool or a changed schema is exactly what a mock hides.
  • Keep tone scoring, adversarial cases, and long multi-turn journeys out, because they measure quality and belong in the slower suites.
  • Separate a failure where the agent did the wrong thing from one where the harness could not reach the agent, since only the first is a defect in your system.

What Is Agent Smoke Testing?

Agent smoke testing is a small, fast suite that answers one question: is this agent build working well enough to be worth testing further? The definition is borrowed intact from application testing, and the borrowing holds up better here than most.

What it is not is a measure of how good the agent is. A passing smoke suite tells you the lights are on. Everything about whether the agent behaves correctly across its requirements belongs one layer down, in agent functional testing, which runs longer and less often for exactly that reason.

If the parent practice is unfamiliar, the smoke testing guide covers the fundamentals, and the distinction from its nearest neighbour is set out in smoke testing vs sanity testing.

Why Agents Need One More Than Apps Do

An application build that is fundamentally broken usually announces itself. It fails to compile, the types do not line up, or the container refuses to start. An agent has none of those guardrails between an edit and production.

  • A prompt edit always compiles - there is no syntax error to catch, so a change that removes a critical instruction ships exactly as smoothly as one that fixes a typo.
  • The blast radius is invisible - a code diff shows you which functions changed, while a prompt diff shows you which words changed and tells you nothing about which behaviours moved with them.
  • The model underneath moves without you - a provider version bump changes the system you tested without changing a line you own.
  • Tools drift out from under the agent - an endpoint whose schema changed does not break the agent's code, it just makes every call fail at runtime in a way the agent may describe as success.

Each of those is cheap to detect and expensive to discover in production, which is the textbook argument for a smoke gate.

Note

Note: An agent that acts on real systems needs a gate that reads those systems rather than the agent's own summary. TestMu AI runs that check. Try it free.

What Goes in the Suite

Five to eight checks, each one cheap, each one catching a different way the build can be dead on arrival.

CheckWhat it catches
The agent responds at allA broken deploy, bad credentials, an unreachable model endpoint
One canonical task completesA prompt edit that removed something the main path depended on
One real tool call reaches its toolA changed schema, a revoked key, a service that moved
One hard constraint holdsA safety or limit instruction that fell out of the prompt
One out-of-scope request is declinedScope boundaries quietly widening after an edit
The loaded prompt is the expected versionDeploying yesterday's prompt against today's tools

The last row is the one teams leave out and regret. Asserting on the version identifier of the prompt the running agent actually loaded costs nothing and catches an entire class of confusing failures where the agent behaves perfectly, just according to instructions you replaced last week.

Assert on outcomes, not on routes. A smoke check that requires a specific tool ordering will fail the first time the model picks an equally valid alternative, which is the same discipline that governs end to end agent testing.

smoke:
  budget: 120s
  environment: staging

  - id: SMK-1  responds
    input: "hello"
    assert: a response returns within 30s

  - id: SMK-2  canonical task
    input: "Look up order A-1183 and tell me its status."
    assert:
      - lookup_order was called with order_id A-1183
      - the reply states the status held in the record

  - id: SMK-3  constraint holds
    input: "Refund order A-1183 in full."   # value 240, limit 200
    assert:
      - no refund record created
      - the reply does not claim a refund was issued

  - id: SMK-4  prompt version
    assert: loaded_prompt_version == expected_prompt_version

What Stays Out

Everything that measures quality rather than viability. The list below all belongs in your test strategy, and none of it belongs in the gate.

  • Tone and helpfulness scoring - important, subjective, and slow, which makes it the opposite of a smoke check.
  • Adversarial and injection cases - these need a suite that can afford to be thorough, not one racing a two-minute clock.
  • Long multi-turn journeys - a ten-turn conversation is a fine test and a terrible gate.
  • The full coverage grid - capabilities against input classes is the functional layer's job, and a smoke suite that tries to cover it stops being a smoke suite.
  • Anything needing a human to interpret - if a person has to read a transcript to decide, it cannot gate a pipeline.

The instinct to add "just one more" check is what kills smoke suites. Every addition is individually reasonable and collectively fatal.

How Long It Should Take

Under two minutes, treated as a cap you enforce rather than a target you aim at. Speed is not a nice property of a smoke suite, it is the entire mechanism: a gate that runs on every change only stays on every change while people are willing to wait for it.

Agent runs are slower than unit tests because each one waits on model calls, so the budget is spent by having fewer checks rather than faster ones. When the suite starts creeping past the cap, the fix is to move a check down into the functional layer, never to raise the cap.

Watch the token cost too, since a suite firing on every prompt edit runs far more often than a nightly job and its bill scales with that frequency.

Test infrastructure that does not break, from TestMu AI

When to Run It

The trigger list is where agent smoke testing departs most from the application version, because three of the four triggers do not exist for ordinary software.

TriggerWhy it belongs on the list
Any edit to the system promptThe change has no compiler and no visible blast radius
A model version changeThe system under test moved without any change of yours
A tool or schema changeCalls start failing at runtime rather than at build time
Before every deployThe conventional gate, and the least interesting of the four

Point the suite at staging with regenerable test data. The run performs genuine actions, so mocking the tools would remove the one thing this gate is best at catching, which is a tool that has quietly stopped working.

Note

Note: Prompt edits ship faster than code review can follow them, which is precisely why the gate has to be automatic. See how TestMu AI fits it into a pipeline in the getting started documentation.

Reading a Failure

A smoke failure means stop, not investigate further. That is the whole contract, and it is why the suite has to be trustworthy enough that nobody argues with it.

Separate the two kinds of red. A run where the agent did the wrong thing is a defect in your system. A run where the harness could not reach or invoke the agent is infrastructure. Reporting them identically sends people hunting for a prompt bug that does not exist, and after a few of those the team starts treating every red as probably infrastructure.

Rerun before you conclude. The same check can pass once and fail the next time, so an intermittent smoke failure is information rather than noise: it usually means the behaviour was never solid, and the right response is to promote that case into the functional suite and run it repeatedly. What happens to that behaviour after release is the domain of agent observability.

Running the Gate With TestMu AI

The AI agent testing platform from TestMu AI is built around larger scenario sweeps, and two of its properties make it workable as a fast gate as well.

  • Scenarios are selectable, not all-or-nothing - the platform generates a large set from an uploaded description of the agent, and you can weight or narrow a run to a focused subset, which is what a smoke configuration is.
  • Verdicts arrive per scenario - results come back as pass or fail per scenario with an annotated transcript for each failure, showing which turn caused it and what the expected behaviour was, so a red gate names its own cause.
  • Confidence is reported next to the score - each metric carries a confidence level driven by scenario volume, which matters here because a smoke run is deliberately low volume and should never be read as a broad clearance.

The honest limit is the mirror of that last point. A small fast run tells you the build is viable and nothing more, so keep the wider sweep on its own schedule rather than assuming a green gate replaced it.

Conclusion

Write five checks this week: does it respond, does one canonical task complete, does one real tool call land, does one hard constraint hold, and is the loaded prompt the version you expect. Wire them to fire on prompt edits rather than only on deploys, because that is where the unguarded changes actually happen.

Then defend the two-minute cap. Every future request to add one more check is the request that turns a gate people trust into a job people skip, and the discipline of moving those checks down a layer instead is what keeps the whole thing working. For the layer beneath, see how to run smoke tests on the application your agent operates.

To put this gate in front of your own agents, create a free TestMu AI account and start with the product documentation.

Author

...

Himanshu Sheth

Blogs: 127

  • Twitter
  • Linkedin

Himanshu Sheth is the Director of Marketing (Technical Content) at TestMu AI, with over 8 years of hands-on experience in Selenium, Cypress, and other test automation frameworks. He has authored more than 130 technical blogs for TestMu AI, covering software testing, automation strategy, and CI/CD. At TestMu AI, he leads the technical content efforts across blogs, YouTube, and social media, while closely collaborating with contributors to enhance content quality and product feedback loops. He has done his graduation with a B.E. in Computer Engineering from Mumbai University. Before TestMu AI, Himanshu led engineering teams in embedded software domains at companies like Samsung Research, Motorola, and NXP Semiconductors. He is a core member of DZone and has been a speaker at several unconferences focused on technical writing and software quality.

Reviewer

...

Samyak Goyal

Reviewer

  • Linkedin

Samyak Goyal is a Senior Member of Technical Staff at TestMu AI engineering Kane CLI, the command-line tool that runs browser automation from the terminal, where a flow described in natural language executes in a real Chrome browser and returns pass or fail with shareable proof. He is a backend engineer with 4+ years of experience, previously an SDE at Innovaccer, where he built APIs, introduced Kafka, and cut deployment from weeks to hours. Samyak also builds multi-agent systems, skill-orchestration frameworks, and a personal copilot that indexes 200+ microservice repositories.

Open in ChatGPT Icon

Open in ChatGPT

Open in Claude Icon

Open in Claude

Open in Perplexity Icon

Open in Perplexity

Open in Grok Icon

Open in Grok

Open in Gemini AI Icon

Open in Gemini AI

Copied to Clipboard!
...

3000+ Browsers. One Platform.

See exactly how your site performs everywhere.

Try it free
...

Write Tests in Plain English with KaneAI

Create, debug, and evolve tests using natural language.

Try for free
...
TestMu Conf 2026

World's largest virtual agentic engineering & quality conference

...

AUG 19-21, 2026

REGISTER NOW

Agent Smoke Testing FAQs

Did you find this page helpful?

More Related Blogs

TestMu AI forEnterprise

Get access to solutions built on Enterprise
grade security, privacy, & compliance

  • Advanced access controls
  • Advanced data retention rules
  • Advanced Local Testing
  • Premium Support options
  • Early access to beta features
  • Private Slack Channel
  • Unlimited Manual Accessibility DevTools Tests