1.1 Composing AI Agent Tests Visually on the Step Canvas
How to build multi-turn conversational agent test cases visually on the Step Builder canvas without writing code or YAML.
Composing a Multi-Turn Conversation Without Writing YAML by Hand
Section titled “Composing a Multi-Turn Conversation Without Writing YAML by Hand”Testing a conversational AI agent means orchestrating multi-turn dialogue, intercepting tool calls deterministically, and validating semantic responses – three different concerns that, hand-authored as a script or a raw JSON/YAML file, quickly turn into something only the person who wrote it can safely edit. CertiQA’s Step Canvas keeps each of those concerns as its own modular card instead: a user turn, a tool mock, a tool-call expectation, and a judge rubric are each configured through a purpose-built form rather than typed as free-form structured text, so a case stays readable and editable by someone who didn’t write the original version.
Building the Turn Sequence, Step by Step
Section titled “Building the Turn Sequence, Step by Step”- {“title”:“Step 1: Add SEND_USER_MESSAGE”,“text”:“Select SEND_USER_MESSAGE. Type the user prompt (e.g. "Where is order {{ orderId }}?"). Set Time-To-First-Token (TTFT) ceiling (e.g. 400ms) and maximum turn latency – these turn a vague "the agent felt slow" complaint into a concrete, repeatable assertion.”}
- {“title”:“Step 2: Add MOCK_TOOL_RESPONSE”,“text”:“Select MOCK_TOOL_RESPONSE. Enter the tool name (e.g. lookup_order) and paste the mock JSON payload you want returned. Add simulated latency (e.g. 150ms) to test timeouts – see 1.2 Local Tool Interception for the three matching modes available here.”}
- {“title”:“Step 3: Add EXPECT_TOOL_CALL”,“text”:“Select EXPECT_TOOL_CALL. Pick the tool name and choose argument matching mode: EXACT, PARTIAL (key-value check), or SCHEMA (Ajv JSON Schema validation) – the same three modes a mock uses, so the vocabulary for "what was sent" and "what to send back" stays consistent.”}
- {“title”:“Step 4: Add EXPECT_RESPONSE (LLM-as-a-Judge)”,“text”:“Select EXPECT_RESPONSE. Choose rubric type (GROUNDEDNESS, GUARDRAIL, or RESPONSE_QUALITY) and write evaluation criteria in plain English – see 1.3 LLM-as-a-Judge for what each rubric type actually checks and how to write one that grades consistently.”}