A test suite is only as useful as the scenarios and expectations in it. This article collects practical guidance for writing test cases that catch real problems, setting thresholds you can trust, and keeping suites healthy as the agent evolves.
Users do not talk like database queries. Prefer "How much money do I have in all my accounts?" over "Aggregate account balance summation". Cover the variations real users bring:
Single-turn cases are fine for simple lookups and smoke tests. Multi-turn cases are better for realistic scenarios, because they also test context:
User: What's my checking account balance?
Agent: (exact balance with account number)
User: And my savings?
Agent: (understands "my savings" in context and gives the savings balance)
User: Which one has more money?
Agent: (compares the two and names the higher one)
Follow-ups with pronouns ("which one", "the second one") are where agents most often lose context.
The judge rates the new answer against the expected answer, so the expected answer defines what "correct" means.
Remember that the judge treats an expected refusal as authoritative: if the expected answer declines to share some data, an answer that shares it is rated inaccurate. Use this to test guardrails.
A case that checks balances, credit score, loan status and mortgage rates at once tells you little when it fails. Keep each case to one user journey; several turns are fine when they build on each other ("check balances → compare → transfer"). As a guideline: 1–2 turns for simple lookups, 3–5 for moderate scenarios, rarely more than 10.
Include cases for:
"Test 1" and "Banking test" help nobody six months later. Use names like "Balances - compare accounts (cust 1)" and descriptions like "Verify that the agent lists all account balances and identifies the highest one when asked to compare."
Recommended starting points (the threshold sliders in the Eval Editor move in whole points for quality and in 5% steps for performance):
If your organization needs different defaults for new cases, define them once in the evaluationDefaults MTable rather than adjusting every case. See Quality Criteria and Thresholds.
GetWithSnap.now initialization parameter for agents that answer relative-date questions on snapshot data.Each agent has its own suites. Common ways to split them:
Name suites by content (Billing, Smoke), not by owner or date. Disable cases instead of deleting them when they fail for a known reason under investigation, and re-enable them when the fix lands. Rename and move cases with the AI Explorer commands rather than by editing files, so that Studio can keep the suite consistent.
| When | What to run |
| After creating or editing a case | That case, to confirm it is valid. |
| During development | The suite of the domain you are changing, after each meaningful change. |
| Before a release | All of the agent's suites. |
| After a model or LLM interface change | All suites — model changes affect everything. |
| On a schedule | All suites, triggered from your CI/CD or job scheduler through the evaluation web service. See Running Evaluations and Reading Results. |
This is the last article of the Evaluation section. Continue with Observation to monitor the agent's quality in production.
A test suite is only as useful as the scenarios and expectations in it. This article collects practical guidance for writing test cases that catch real problems, setting thresholds you can trust, and keeping suites healthy as the agent evolves.
Users do not talk like database queries. Prefer "How much money do I have in all my accounts?" over "Aggregate account balance summation". Cover the variations real users bring:
Single-turn cases are fine for simple lookups and smoke tests. Multi-turn cases are better for realistic scenarios, because they also test context:
User: What's my checking account balance?
Agent: (exact balance with account number)
User: And my savings?
Agent: (understands "my savings" in context and gives the savings balance)
User: Which one has more money?
Agent: (compares the two and names the higher one)
Follow-ups with pronouns ("which one", "the second one") are where agents most often lose context.
The judge rates the new answer against the expected answer, so the expected answer defines what "correct" means.
Remember that the judge treats an expected refusal as authoritative: if the expected answer declines to share some data, an answer that shares it is rated inaccurate. Use this to test guardrails.
A case that checks balances, credit score, loan status and mortgage rates at once tells you little when it fails. Keep each case to one user journey; several turns are fine when they build on each other ("check balances → compare → transfer"). As a guideline: 1–2 turns for simple lookups, 3–5 for moderate scenarios, rarely more than 10.
Include cases for:
"Test 1" and "Banking test" help nobody six months later. Use names like "Balances - compare accounts (cust 1)" and descriptions like "Verify that the agent lists all account balances and identifies the highest one when asked to compare."
Recommended starting points (the threshold sliders in the Eval Editor move in whole points for quality and in 5% steps for performance):
If your organization needs different defaults for new cases, define them once in the evaluationDefaults MTable rather than adjusting every case. See Quality Criteria and Thresholds.
GetWithSnap.now initialization parameter for agents that answer relative-date questions on snapshot data.Each agent has its own suites. Common ways to split them:
Name suites by content (Billing, Smoke), not by owner or date. Disable cases instead of deleting them when they fail for a known reason under investigation, and re-enable them when the fix lands. Rename and move cases with the AI Explorer commands rather than by editing files, so that Studio can keep the suite consistent.
| When | What to run |
| After creating or editing a case | That case, to confirm it is valid. |
| During development | The suite of the domain you are changing, after each meaningful change. |
| Before a release | All of the agent's suites. |
| After a model or LLM interface change | All suites — model changes affect everything. |
| On a schedule | All suites, triggered from your CI/CD or job scheduler through the evaluation web service. See Running Evaluations and Reading Results. |
This is the last article of the Evaluation section. Continue with Observation to monitor the agent's quality in production.