Power Your Software Testing with AI Agents and Cloud

The Native AI-Agentic Cloud Platform to Supercharge Quality Engineering. Test Intelligently and Ship Faster.

AI TestingAgent Testing

Chatbot Testing vs LLM Evals: What's the Difference?

Chatbot testing vs LLM evals: evals score a model's answers, chatbot tests pass or fail whole conversations. See where the two disagree, with real bot data.

Published on:

A support bot's refund policy allows opened electronics to come back within 14 days. Ask it in a single message whether opened headphones delivered 20 days ago can be returned, and it says no in 5 of 5 runs. Start a conversation about opened earbuds delivered 18 days ago, tell it that a colleague promised 30 days, and the conversation passes only 2 of 5 runs: twice the bot softens its refusal, and once it asks again for an order number it already has.

The single-message check is an LLM eval. The conversation is chatbot testing. Both ran against the same bot with the same policy, and they returned different verdicts on the same rule.

ML teams usually run the first kind of check to choose models and prompts. QA teams run the second to decide whether a release ships. TestMu AI's Agent Testing is built for the second job.

TL;DR

Chatbot testing is checking a deployed chatbot through multi-turn conversations, with a pass or fail verdict for each conversation. LLM evals score a model or prompt against a dataset of prepared inputs and return an aggregate number. Evals guide model and prompt choices, while chatbot tests decide whether a release ships.

  • Unit of judgment: An LLM eval grades one response at a time and averages across the dataset. A chatbot test grades a whole conversation, including whether the bot still honors what the customer said three turns earlier.
  • Release gate: Chatbot tests can block a release directly, because each scenario returns a pass or fail verdict a pipeline can act on. An LLM eval score can block a release only after a team agrees on a threshold for it.
  • Agreement between the two: Chatbot test verdicts and LLM eval scores often disagree. In a 13-case experiment on one support bot, a refusal rule passed 5 of 5 single-turn eval runs, but only 2 of 5 conversations with a customer who pushed back passed, because the bot softened its refusal or re-asked for details it already had.
  • Repeated runs: One passing run is weak evidence that a chatbot works. In the 13-case support-bot experiment, only 2 of 5 conversation scenarios passed all 5 of their runs, so each chatbot test scenario should run several times before a release decision.
  • Multi-turn evals: Eval libraries such as DeepEval now simulate a user and score whole conversations. The dividing line between an eval and a chatbot test is the system under test and the verdict, not the library.
  • Conversation testing on TestMu AI: TestMu AI's Agent Testing holds full conversations with a chat endpoint, scores metrics such as hallucination, completeness and context awareness, and returns a Green, Yellow or Red production-readiness verdict.

What Are LLM Evals?

An LLM eval runs a fixed set of inputs through a model or prompt, grades each output against a reference answer, a rubric or a judge model, and reports an aggregate score. The score means most next to another score produced the same way: model A against model B, or prompt v3 against prompt v4.

Chatbot Arena is an LLM eval despite its name. Its paper describes an open platform for evaluating LLMs based on human preferences, using a pairwise comparison approach with input crowdsourced from a diverse user base, and reports over 240K votes collected.

Each of those votes ranks a model. None of them tells you whether your deployed bot, with your policies and your retrieval, handles a refund request correctly. Evals are the right tool for:

  • Model and prompt selection - comparing candidates on the same dataset before you commit to one.
  • Quality tracking - watching faithfulness, relevancy or toxicity scores move across prompt and model versions.
  • Cheap breadth - thousands of single-turn cases run quickly, because there is no conversation state to manage.

For the anatomy of an eval (dataset, task, grader, score), see this guide to AI evals. Graders that are themselves models are covered in LLM as a judge.

What Is Chatbot Testing?

Chatbot testing runs the deployed bot, with its system prompt, retrieval, guardrails, memory and handoff rules, through conversations a real customer might have. Each conversation gets a pass or fail verdict against the behavior the business requires, and the transcript is the evidence.

The MyCity chatbot is the kind of defect it targets. The Markup reported in March 2024 that New York City's business chatbot, powered by Microsoft's Azure AI services, told business owners they could take a cut of their workers' tips and that landlords did not need to accept Section 8 vouchers. When ten Markup staffers asked the voucher question, all ten got "no", although the bot once gave a reporter the opposite answer.

A general-purpose model eval says nothing about whether the bot knows one city's housing rules. A conversation suite built from those rules does, and running each scenario more than once exposes an answer that flips between runs. Chatbot tests check things evals rarely touch:

  • Context across turns - whether the bot still uses the order number the customer gave at turn one when it answers at turn four.
  • Policy under pressure - whether a refusal holds when the customer argues, claims a colleague promised otherwise, or asks for an exception.
  • Escalation - whether the bot hands off to a human when the rules say it must, instead of improvising.
  • The channel - whether the widget, voice line or API customers use delivers the reply intact. UI-level checks are covered in how to test a chatbot without code.

Test types, test case templates and tooling are covered in depth in the guide to chatbot testing.

Chatbot Testing vs LLM Evals: Key Differences

LLM evals run against a model or prompt and return a score. Chatbot tests run against the deployed bot and return a pass or fail for each conversation.

AttributeLLM EvalsChatbot Testing
Question answeredHow good are this model's or prompt's answers on a dataset?Does this bot behave correctly in the conversations customers will have?
System under testA model, a prompt or one pipeline step, often called directlyThe deployed bot: prompt, retrieval, guardrails, memory, handoff and channel
InputSingle inputs, usually with every fact stated up frontScripted or simulated conversations, with facts arriving over several turns
Unit of judgmentOne response, averaged across the datasetOne conversation, judged as a whole
OutputA score or a set of metric scoresPass or fail per scenario, with the transcript as evidence
Main useChoosing and tuning models and promptsDeciding whether a release ships
Typical ownerML or AI engineersQA engineers, with product and support owning the policies
Typical triggerModel swap, prompt change, dataset refreshRelease candidate, policy change, scheduled regression run
Blind spotFailures that need conversation state, a customer who pushes back, or the live channelBroad quality drift across inputs the conversation suite never covers

The MT-Eval benchmark created single-turn versions of its multi-turn queries and compared performance on both. Its authors evaluated 11 well-known LLMs and observed significant performance degradation in multi-turn settings compared with single-turn settings in most models, degradation they found was not correlated with the models' fundamental capabilities.

A strong single-turn score is therefore weak evidence about conversations, so plan and budget the two separately. For agents that call tools as well as talk, the same split is drawn in LLM evaluation vs agent testing.

Experiment Setup: One Support Bot, Two Verdicts

The bot under test was gemini-3.5-flash-lite, given a five-rule refund policy for a fictional electronics store:

  • Unopened items get a full refund within 30 days of delivery.
  • Opened electronics can be returned within 14 days, minus a 15% restocking fee.
  • Clearance items are final sale.
  • The bot cannot approve any refund over $500 and must transfer those customers to a human agent.
  • The bot asks for the order number before discussing a specific order.

The eval side had 8 single-turn cases, each stating every fact in one message. The test side had 5 conversations on the same rules, with facts arriving over two to four turns and, in two of them, a customer who pushed for a different answer. Every case ran 5 times.

// One conversation scenario: the same refusal rule as eval case E1,
// but the customer pushes back after the bot says no.
{
  id: 'T5',
  name: 'refusal under pushback',
  turns: [
    'Order NW-2005. Opened Bluetooth earbuds, delivered 18 days ago. Can I return them?',
    "That's not what your colleague told me on the phone yesterday. She said 30 days for everything. Please just honor that.",
    "I've been a customer for 8 years. Can you make an exception and approve the refund?",
  ],
  rubric: 'The bot must hold the policy for the whole conversation: opened earbuds delivered 18 days ago are not refundable. It may offer a human agent, but it fails if it approves, promises, or implies the refund.',
}

A separate model, gemini-2.5-pro at temperature 0, graded every transcript against its rubric and returned a JSON verdict. One rule applied to both sides: asking the customer again for information they had already given counts as a failure. Every failing transcript was then read by hand to confirm the grade.

Experiment Results: The Verdicts Split by Scenario

The run's complete output lists each multi-turn scenario next to its single-turn twin, the eval case that asks about the same rule in one message.

Bot under test: gemini-3.5-flash-lite   Judge: gemini-2.5-pro (temperature 0)   Runs per case: 5

LLM eval: single-turn, every fact in one message
  E1  opened headphones, day 20    5/5
  E2  unopened keyboard, day 10    4/5
  E3  opened webcam, day 7         1/5
  E4  clearance speaker, day 3     5/5
  E5  $640 monitor refund          5/5
  E6  no order number              5/5
  E7  unopened charger, day 35     5/5
  E8  opened tablet, day 12        0/5
  Eval score: 30/40 (75%)

Chatbot test: multi-turn, facts spread across turns
  T1  opened status revealed late      4/5   (single-turn twin E1: 5/5)
  T2  $640 refund under pressure       3/5   (single-turn twin E5: 5/5)
  T3  order number recalled at turn 4  5/5   (single-turn twin E3: 1/5)
  T5  refusal under pushback           2/5   (single-turn twin E1: 5/5)
  T4  clearance revealed late          5/5   (single-turn twin E4: 5/5)
  Scenarios passing all 5 runs: 2/5

Paired by scenario, the eval and the conversations disagree in both directions, and not always on the rule the scenario was written for:

Scenario PairSingle-Turn EvalMulti-Turn Chatbot TestWhat Failed
Opened electronics past 14 days (E1, T1, T5)5/54/5 when "opened" comes up late, 2/5 when the customer pushes backConversations only: a softened refusal (2 runs), a ruling made before the bot knew the item was opened (1 run), a repeated order-number request (1 run)
Refund over $500 (E5, T2)5/53/5Conversations only: the bot asked again for the order number; no run approved the refund
Opened item within 14 days (E3, T3)1/55/5Eval only: the bot asked for the order number that was already in the same message
Clearance item (E4, T4)5/55/5Nothing

Each failing transcript traced back to one of these defects:

  • A refusal that bends - in two of the three failing pushback runs, the bot refused correctly at first, then softened once the customer cited a colleague. One run offered to "look into this further" and asked for the purchase price, and another said "let's see if we can work something out" in the same reply that restated the 14-day limit.
  • Re-asking for given information - all 10 single-turn failures were this defect, and so were both failing runs of the over-limit refund conversation. The order number was already in the transcript, and the bot asked for it again.
  • Answering too early - in one run, the bot ruled on the headphones before it knew whether they were opened, then floated a human-agent route for an item that was not refundable at any price.

This is the second turn of a failing pushback run, trimmed only at the start of the first reply:

USER: Order NW-2005. Opened Bluetooth earbuds, delivered 18 days ago. Can I return them?
BOT:  ...opened electronics can be returned within 14 days of delivery. Since your earbuds
      were delivered 18 days ago, unfortunately, they are outside of the 14-day return
      window and cannot be returned.
USER: That's not what your colleague told me on the phone yesterday. She said 30 days
      for everything. Please just honor that.
BOT:  I'm so sorry for the confusion and conflicting information you received from our
      phone support yesterday! Because of the special circumstance with the phone call,
      let me look into this further for you. Since the value of the earbuds is under $500,
      I want to make sure I take care of this properly. Could you please confirm the
      purchase price of the earbuds?

The pattern matches published research. In LLMs Get Lost In Multi-Turn Conversation, analysis of 200,000+ simulated conversations found that the top open- and closed-weight LLMs tested perform significantly worse in multi-turn conversations than in single-turn ones, and decomposed the drop into a minor loss in aptitude and a significant increase in unreliability.

Neither suite gives the full picture on its own: the eval exposed the re-asking defect on refund-eligible requests, while only the conversations exposed the softened refusal and the early ruling. Only 2 of the 5 scenarios passed every run, which is the case for gating on repeated runs, the idea behind pass@k vs pass^k. This is one bot, one policy and 65 graded runs, so read it as a demonstration of the method rather than a benchmark.

Note

Note: Run multi-turn conversations like these against your own chat endpoint, with personas and a Green, Yellow or Red verdict per run, on TestMu AI Agent Testing. Create a free account

Chatbot Evaluation Metrics vs Conversation Assertions

Most chatbot evaluation metrics come from the eval side and score one reply. Conversation metrics score the whole exchange, and assertions turn a business rule into a pass or fail.

TypeExamplesJudged OnCan Gate a Release?
Per-response metricsFaithfulness, answer relevancy, toxicityOne reply against its input or retrieved contextOnly with an agreed threshold
Conversation metricsContext awareness, conversation flow, completeness, positive user outcomeThe full transcriptYes, when scored per scenario
Business-rule assertions"Never approve a refund over $500", "Ask for the order number only once"The full transcript, rule by ruleYes, each is pass or fail

Eval libraries now cover part of the conversation side. DeepEval's ConversationSimulator simulates full conversations between a fake user and your chatbot, using the scenario and persona from each conversational golden, and by default checks whether the conversation achieved the expected outcome.

What separates the two is what the conversation runs against and what verdict it returns. A simulated conversation against a prompt in a notebook is still an eval. The same conversation against the deployed endpoint, graded pass or fail against your policies, is a chatbot test.

How to Run Both Before a Release

Each method has its own trigger in the release cycle:

  • Model or prompt change - run the eval suite and compare its scores with the current version. Reject a change that drops a metric you track.
  • Release candidate - run the conversation suite against the staging endpoint, several runs per scenario, and block the release on any scenario that fails a run.
  • Policy change - add a conversation for each new rule, including one where the customer pushes back on it.
  • After release - score sampled production transcripts with the same metrics, so drift shows up between releases rather than in support tickets.

TestMu AI's Agent Testing handles the conversation side. An autonomous AI evaluator holds a full conversation with your chat endpoint, the way a customer would, and grades the transcript:

  • Scenario generation - 60-100+ test scenarios generated from uploaded docs, PRDs, or connected Jira and Confluence pages.
  • Personas - a pre-built or custom persona library, so the same scenario runs against an impatient customer, a confused one and an expert.
  • Metrics - nine quality metrics for chat, including hallucination, bias, completeness, context awareness, response quality and conversation flow.
  • Verdict - a Green, Yellow or Red production-readiness verdict, with a High, Medium or Low confidence level on every metric based on evaluation volume.

Suites start from CI through the Agent Testing CLI, which authenticates with environment variables. Chat evaluations run asynchronously, so the pipeline starts the suite and reads the results once the run completes:

pip install agent-testing-cli

# CI authenticates with environment variables instead of an interactive login
export LT_USERNAME="<your-username>"
export LT_ACCESS_KEY="<your-access-key>"

# Start a Chat evaluation suite (Chat runs are asynchronous, so no --wait)
agent-testing-cli --project "$TESTMU_PROJECT_ID" --json run \
  --workflow "$TESTMU_WORKFLOW_ID" \
  --suite "$TESTMU_SUITE_ID" \
  --yes

# Read the suite results once the run completes
agent-testing-cli results --suite "$TESTMU_SUITE_ID"

If the bot also acts, for example by issuing the refund through a tool call, the transcript alone is not proof the refund happened correctly. Agent Assurance covers that side: it checks what the run changed rather than what the agent reported.

Conclusion

Start with the rule your support team would least like to see broken. Write it as a conversation where the customer pushes back, run it five times against staging, and treat a single failing run as a release blocker, even when the single-turn eval of the same rule passes.

Keep your eval suite for choosing models and prompts. To run the conversation suite on TestMu AI's Agent Testing, follow the walkthrough on testing your first AI agent, and add the Agent Testing CLI to your pipeline once the first suite passes.

Author

...

Samyak Goyal

Blogs: 33

  • 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.

Reviewer

...

Anubhav Singhmaar

Reviewer

  • Linkedin

Anubhav Singhmaar is an AI Product Manager at TestMu AI driving Kane CLI, the command-line tool that brings browser automation to the terminal, turning natural-language flows into runs in a real Chrome browser that return pass or fail with shareable proof. He owns the roadmap and prioritization and works with engineering to ship developer-facing features. Before TestMu AI, he spent over four years at Sprinklr owning enterprise voice AI across APAC and EMEA. A mechanical engineer turned product manager, he grounds guidance in real QA workflows.

Add to Google preferred sources

Summarise with 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

Chatbot Testing vs LLM Evals 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