> ## Documentation Index
> Fetch the complete documentation index at: https://docs.compensable.live/llms.txt
> Use this file to discover all available pages before exploring further.

# Testing

> Checking an agent's flow, and reviewing what happened, before and after it takes real calls.

Before an agent takes real calls, and after any change to it, there are two ways to check it inside the Command Center, plus the record every real or test call leaves behind for you to review afterward.

## Test bench: checking the flow's logic

In a blueprint's composer, the **Test bench** lets you fill in sample answers for whatever facts the flow captures, then run the flow headlessly against those answers.

<Steps>
  <Step title="Enter sample answers">
    Fill in a value for each fact the blueprint captures. These feed every gate, regardless of the order it's actually asked in.
  </Step>

  <Step title="Set the scenario">
    Toggle **Returning caller** and **Previously disqualified** to match the situation you want to test, and choose **Inbound** or **Outbound**.
  </Step>

  <Step title="Run the test">
    Select **Run test** to see the outcome: whether the flow reached the end, disqualified the caller (and why), or didn't terminate from the answers given, plus a pass, fail, skip, or not-reached status for every gate.
  </Step>
</Steps>

This checks the flow's branching logic: which gate leads where, and whether a given set of answers qualifies or disqualifies a caller. It's not a simulation of what the agent would actually say; it doesn't exercise conversation, tone, or wording.

<Note>
  Before publishing a blueprint change, **Validate** runs the same compliance and naturalness checks that block publishing, so you can see whether a change will pass before you try to apply it. See [how publishing works](/guides/agents/blueprints#how-publishing-works).
</Note>

## Tests: exercising call-handling behavior

The **Tests** page runs a scripted transcript through the same call-handling logic a real call uses, then shows you exactly what got recorded. It's useful for checking edge cases in how a session behaves, such as an out-of-order update arriving mid-call, a live takeover cycle, or the qualification state a call lands in, separate from judging what the agent would say. Running a scenario here doesn't gate or replace publishing a blueprint or agent change.

## Reviewing transcripts

Every call, whether a real caller or a scenario you ran, produces a full transcript, with a recording where your [recording policy](/guides/compliance/recording) allows it. Open it from **Conversations** in the Command Center to read the conversation turn by turn alongside its recording and qualification outcome. Use what you find there to go back and adjust the blueprint or agent, then test and review again.
