Test a customer-facing chatbot as a complete conversation, not as a collection of isolated answers. Start with representative customer goals, define the behavior that must occur at each step, and evaluate task success, factuality, tool use, safety, escalation, and user experience together. Then run the same tests against every meaningful prompt, model, retrieval, or workflow change and monitor real conversations after release.
A reliable chatbot test plan combines three layers:
- Deterministic checks for facts you can verify exactly, such as required fields, tool arguments, citations, and escalation triggers.
- Model-based evaluation for qualities that need language judgment, such as relevance, tone, completeness, and groundedness.
- Human review for ambiguous or high-risk cases where domain expertise and customer context matter.
This guide focuses on text-based chatbots that handle customer journeys. Voice interfaces need additional tests for speech recognition, turn-taking, latency, and audio quality.
The test plan starts with the customer task
A chatbot can produce a polished answer and still fail the customer. A customer asking to change an address may need the bot to authenticate the request, collect the new address, call the right system, confirm the result, and explain what happens next. Checking only whether the final message sounds helpful misses failures in the journey.
For each customer task, define:
- The goal: what the customer is trying to complete.
- The starting state: the information, permissions, and account conditions available at the first turn.
- The allowed path: what the chatbot may do, ask, disclose, or change.
- The success condition: what must be true when the conversation ends.
- The failure path: how the chatbot should clarify, refuse, recover, or hand off.
- The evidence: transcript, tool trace, retrieved context, state changes, and reviewer notes.
Write the expected behavior before you write the test prompt. Otherwise, reviewers tend to score the answer they hoped to see rather than the behavior the product requires.
A representative dataset exposes real conversation failures
A useful chatbot dataset contains more than frequently asked questions. It should represent the range of goals, people, contexts, and failure modes that the production system will face.
Use several sources:
- Resolved support conversations, with personal data removed.
- Top customer intents and contact reasons.
- Product specifications, policy documents, and approved answer content.
- Known incidents, escalations, and previously reported failures.
- Product analytics showing where customers abandon or repeat themselves.
- Carefully designed edge cases from support, compliance, security, and operations teams.
Create test cases across these dimensions:
Keep the original customer language where you can. A dataset made only from neatly written internal examples will overestimate chatbot quality.
Multi-turn tests reveal failures single-turn tests miss
Single-turn tests are useful for isolated answers, but customer-facing chatbots often fail when context accumulates. A multi-turn test should check whether the chatbot remembers relevant details, asks for missing information only when needed, and does not carry an earlier assumption into a new task.
For each conversation, record:
- The user goal and any constraints.
- The expected state after each turn.
- The information the chatbot should retain.
- The information it should not retain or reveal.
- The tool calls that are allowed at that point.
- The conditions for success, clarification, refusal, or handoff.
- The maximum acceptable number of turns for the task.
Test interruptions explicitly. Ask a question, switch topics, correct a detail, and return to the original task. A chatbot that succeeds in a scripted happy path can still lose the customer's context after a detour.
For simulated conversations, the agent under test should receive the same relevant context and interface it receives in production. Galtea's Conversation Simulator documentation describes simple, chat-history, and structured agent integrations, along with behavior datasets, simulated sessions, and evaluation after a run.
These behaviors determine whether a chatbot is trustworthy
Task completion measures whether the customer got the job done
Define success in observable terms. “Helpful” is too vague to score consistently. A task completion check might require that:
- The chatbot identified the correct intent.
- It collected every required input.
- It gave the correct answer or completed the permitted action.
- It confirmed the outcome without claiming an action that did not occur.
- It offered the right next step when the task could not be completed.
Score partial completion separately. A chatbot that correctly explains a policy but fails to submit the request should not receive the same result as one that completed the journey.
Retrieval and factuality check whether answers are grounded
For a retrieval-augmented chatbot, inspect both the response and the material retrieved for it. Test:
- Whether the relevant source was retrieved.
- Whether the answer reflects the source accurately.
- Whether the chatbot distinguishes known information from uncertainty.
- Whether it avoids inventing a policy, price, deadline, or product capability.
- Whether it uses the current version of a document.
A fluent answer is not evidence of factuality. Preserve the retrieved context with the transcript so a reviewer can compare the claim with the source. Galtea's simulator can record retrieval context with a trace, enabling evaluation of faithfulness and contextual relevance. See the RAG conversation evaluation documentation.
Tool-use tests check actions, not only text
When a chatbot can call an order, account, payment, or case-management system, test the interface between the model and the tool:
- Was the correct tool selected?
- Were arguments complete, valid, and taken from the conversation?
- Did the chatbot ask for confirmation before a consequential action?
- Did it avoid sending a duplicate request?
- Did it handle a timeout, error, or partial result honestly?
- Did the customer-visible response match the tool result?
Use a test double or sandbox for side-effecting tools. The test should capture the tool name, arguments, response, and resulting state. A correct final message does not compensate for a wrong account update.
Escalation tests check whether the handoff is timely and useful
Define clear handoff triggers, such as:
- The customer asks for a human.
- The chatbot cannot verify identity or resolve the issue.
- The conversation enters a regulated or high-risk path.
- The customer repeats the same failed request.
- The system detects distress, a complaint, or a vulnerable customer context.
Test both sides of the handoff. The chatbot should tell the customer what will happen next, and the human agent should receive the relevant summary, transcript, authentication state, and unresolved goal. Do not mark a handoff as successful if the chatbot merely says “someone will help” without creating or routing the case.
Safety and policy tests cover what the chatbot must not do
Create explicit cases for:
- Requests for restricted or sensitive information.
- Attempts to override system or company policy.
- Requests to expose hidden instructions or another customer's data.
- Unsafe advice in regulated domains.
- Requests that require a disclaimer, consent, or identity check.
- Prompt injection through customer-provided text, documents, or retrieved content.
Test direct and indirect versions of the same request. A policy that works for “give me another customer's data” but fails when the request is framed as a support workflow is not working reliably.
Adversarial tests probe recovery under pressure
Adversarial cases should resemble plausible customer behavior, not only artificial attack strings. Include:
- Misspellings, slang, and incomplete messages.
- Repeated pressure after a refusal.
- Conflicting instructions in one message.
- Long messages with the real request buried in the middle.
- Rapid topic changes.
- Attempts to manipulate a tool or retrieve restricted content.
- Malformed or unexpected tool responses.
The pass condition is not that the chatbot refuses everything unusual. It should preserve the customer's legitimate goal while refusing the unsafe or unauthorized part.
Accessibility and language variation test whether real customers can use the flow
Check the words customers actually use, including abbreviations, regional terms, common spelling errors, and supported languages. Test whether the chatbot:
- Understands short or fragmented messages.
- Asks one clear clarification question when needed.
- Avoids unexplained technical language.
- Preserves names, dates, amounts, and other critical details accurately.
- Produces responses that work with the interface's accessibility features.
- Keeps required disclosures understandable and visible.
Have native or expert reviewers assess supported-language cases. Translation quality and cultural appropriateness are not reliably captured by a single automated score.
The test plan needs observable pass criteria
The test plan below is a starting point. Replace each example with the requirements of the specific chatbot and customer journey.
Record the reason for every failure. “Score: 0” is useful for a dashboard, but “used the wrong account after the customer corrected the number” tells the team what to fix.
The right evaluator depends on the question
No single evaluator can judge every chatbot behavior well.
Deterministic checks handle exact requirements
Use code or rules for:
- Required phrases, fields, and disclosures.
- JSON or schema validity.
- Tool selection and argument validity.
- Exact values, dates, identifiers, and state changes.
- Prohibited terms or data patterns.
- Turn counts and response-time limits.
- Whether a handoff or refusal event occurred.
Deterministic checks are fast and reproducible. They are weak at judging whether an answer is clear, relevant, or appropriately nuanced.
Model-based evaluation handles language judgment
Use a model-based evaluator for criteria such as:
- Relevance to the customer's request.
- Completeness against a reference answer.
- Groundedness in retrieved context.
- Tone and clarity.
- Whether the chatbot followed a conversation policy.
Give the evaluator the rubric, the input, the output, and the relevant evidence. Ask for a score and a short reason. Validate the evaluator against human-labeled examples, especially for high-risk decisions. Treat a model score as an evaluation signal, not as unquestionable truth.
Human review handles ambiguity and risk
Route cases to reviewers when:
- The outcome has legal, financial, health, safety, or reputational consequences.
- The rubric depends on domain expertise.
- Automated evaluators disagree.
- The result is near the release threshold.
- The test reveals a new failure mode.
Use a shared rubric with examples of correct, partially correct, and incorrect behavior. Galtea's human evaluation documentation describes routing evaluations to reviewer groups, annotating them in the dashboard, and storing reasons and evidence with the score.
Regression tests protect every meaningful change
Keep a versioned regression set made of:
- Critical customer journeys.
- Previously failed cases.
- Safety and policy cases.
- Tool and handoff cases.
- A representative sample of ordinary traffic.
Run it when you change the prompt, model, retrieval index, knowledge source, tool schema, orchestration logic, or policy. Compare more than the average score. A higher average can hide a serious regression in a low-volume but high-risk journey.
Set release gates by category. For example, a safety violation or unauthorized tool call may block release immediately, while a small change in tone may trigger review. Define the gate before the result arrives so the team does not move the goalposts after seeing the score.
A specification-driven approach can make this repeatable. In Galtea's specification-driven evaluation workflow, teams define capabilities, inabilities, and policies, then link metrics and datasets before running an evaluation against a product version.
Production monitoring should feed the regression set
Pre-release tests cover known scenarios. Production monitoring finds distribution shifts, new customer language, retrieval gaps, tool failures, and journeys the team did not model.
Monitor:
- Task completion and unresolved conversations.
- Repeated questions and abandonment.
- Escalation rate and escalation reasons.
- Factuality or policy violations found in review.
- Tool errors, latency, and duplicate actions.
- Changes in customer language or intent distribution.
- Performance by channel, language, product area, and customer segment.
Sample live conversations for human review, with privacy controls appropriate to the data. Turn confirmed failures into regression cases. A monitoring program should continuously improve the test set rather than produce a separate report no one acts on.
Start with a small suite of high-value journeys
If the chatbot has no formal evaluation process yet, start small:
- Select five to ten high-value customer journeys.
- Write the success and failure conditions for each journey.
- Add single-turn, multi-turn, tool, handoff, and policy cases.
- Run deterministic checks first, then add model-based scoring and human review where needed.
- Save every confirmed failure as a regression case.
- Add the suite to the release process.
- Connect production monitoring to the same failure taxonomy.
The first version of the test suite does not need to cover every possible conversation. It needs to make the most important customer and business risks visible, so the team can reproduce and fix them.
Questions teams ask about chatbot testing
How many test cases do I need for a customer-facing chatbot?
There is no useful universal number. Start with the journeys that matter most, then cover meaningful variations in customer context, language, risk, system condition, and conversation length. Expand the dataset when production monitoring or human review reveals a new failure mode.
Should I test every chatbot response with an LLM judge?
No. Use deterministic checks for exact requirements, model-based evaluation for language judgments, and human review for ambiguous or high-risk cases. Combining the methods gives you better coverage and makes failures easier to diagnose.
How do I test a chatbot that uses retrieval?
Capture the retrieved context with each test result. Check whether the right source was retrieved, whether the response is supported by it, and whether the chatbot handles missing or conflicting information honestly. Evaluate retrieval and generation together because a good answer cannot rescue a missing or incorrect source.
How do I test chatbot tool calls safely?
Run tests against a sandbox or test double, capture the tool name and arguments, and verify the resulting state. Include duplicate requests, missing parameters, authorization failures, timeouts, and partial results. The chatbot should never claim that an action succeeded when the tool did not confirm it.
How do I test escalation to a human agent?
Define the conditions that require a handoff, then verify both the trigger and the receiving context. The customer should know what happens next, and the human agent should receive the transcript, relevant account or authentication state, and unresolved goal.
What should I do with a failed chatbot test?
Classify the failure by behavior, preserve the input and evidence, fix the underlying prompt, retrieval, tool, policy, or workflow issue, and add the case to the regression set. Do not delete a difficult case just because a later version passes it.
Keep the suite tied to the customer journey
Chatbot testing works when it measures whether customers can complete real tasks safely and accurately. The durable loop is simple: define expected behavior, run representative conversations, inspect the evidence, review the risky cases, block regressions, and feed production failures back into the dataset.
Galtea helps teams evaluate and monitor customer-facing chatbots across multi-turn journeys, retrieval, tool use, escalation, safety, policy adherence, regression testing, and production monitoring. If you are preparing a chatbot for launch or a major change, use this guide as the review checklist and request a Galtea demo to walk through the workflow with your own system.