Skip to main content

Test Execution

When you run a test case, the system simulates the conversation from start to finish — turn by turn — using the same conversation engine your bot uses in production. There is no mock or shortcut: the bot processes each user input exactly as it would for a real user.

How Execution Works

Each turn is processed sequentially. The user input is sent to the bot, the bot responds, and then all conditions for that turn are evaluated. If any condition fails, the turn fails. Unless retries are configured, this stops execution immediately — subsequent turns are not processed. This gives you a clear signal of exactly where behavior diverged from expectations.

If the system is under load, test executions are queued and start automatically when a slot becomes available.

Conversations triggered by test cases are fully isolated: they do not appear in the normal conversation history and do not influence custom statistics.

Results

After execution, results are available at two levels:

Turn level — each turn shows whether it passed or failed overall. A turn passes only if all its conditions pass.

Condition level — each condition shows its individual result, including the actual value that was evaluated and, for AI-based conditions, the reasoning behind the decision. This makes it straightforward to understand not just that something failed, but why.

Conversation History

Each test execution produces a full conversation transcript — the actual messages exchanged between the simulated user and the bot during the run. This is valuable for debugging: you can read the exact conversation that led to a failure, including the bot's responses and any events that were emitted, rather than inferring what happened from condition results alone.