Test Plan Template
Copy this template for each agent you are preparing for production. Work through every section before enabling autonomous Runs.How to Mock Dangerous Side Effects
The goal during testing is to observe what the agent would do without allowing it to write to live systems. Use the patterns below for the connections your agent touches.Read-only mode via AOP instruction
Add a shadow-mode block at the top of the AOP before running test Runs. Remove it only after you are satisfied with the outputs.Per-connection safe testing
| Connection | Safe testing approach |
|---|---|
| Gmail / Outlook | Send emails to your own address or a team test alias instead of real recipients. Add the target override to the AOP: “Send all emails to test@yourcompany.com during testing.” |
| Google Sheets / Excel | Point the agent at a copy of the production spreadsheet, not the live one. Rename it clearly: [COPY — TEST ONLY] Monthly Sales. |
| Snowflake / BigQuery | Use a read-only Login during testing. Grant write access only after output verification. |
| Slack | Post to a private test channel (e.g., #assignment-testing) instead of customer-facing channels. Update the AOP with the channel name before testing. |
| HubSpot / Salesforce / CRM | Use a sandbox or developer instance if your plan includes one. If not, add a test-contact filter: “Only update records tagged TEST during testing.” |
| Database writes | Create a staging schema or table prefixed with test_. Point the agent at it during testing. |
Inspecting proposed actions before they land
Some agent types can log their intended actions before executing. Add this instruction to the AOP when you want to review a batch before committing:Environment Separation Patterns
These are the three approaches teams use most often to keep test traffic separate from production systems.Pattern 1 — Two builds, one AOP
Create a second build of the agent by duplicating it. Name the copy clearly (e.g.,[TEST] Invoice Processor).
- The test build uses sandbox accounts, test spreadsheets, and a test Slack channel.
- The production build uses production credentials and live targets.
- When the AOP changes, update both builds. Promote the change to the production build only after the test build confirms it.
Pattern 2 — Two teams, one AOP
Some teams run a dedicated sandbox Duvo team (or workspace) alongside the production team.- The sandbox team holds test connections and test data sources.
- Builders develop and test in the sandbox team, then recreate the agent in the production team.
- Connections in the production team are scoped to live accounts.
Pattern 3 — Connections scoped per environment
Use a single build but maintain two connection profiles: one for testing and one for production. Before a test run, switch the agent to use the sandbox connections. After testing, switch back. This approach requires discipline to avoid accidentally running with the wrong connections. Reserve it for simple agents where the risk of a mistaken production write is low.Using Agent Versions for Safe Iteration
Every time you save a change to your agent, Duvo creates a new revision. Use revisions to iterate safely during testing without losing working configurations.When to create a new revision vs edit in place
Create a meaningful revision when you make a change that materially affects behavior — new HITL gate, updated output format, different connection target. Small wording tweaks to a AOP that is already working can be saved in place.Testing a change before making it live
- Open the agent and make your changes.
- Save. Duvo creates a new revision.
- Run a test Run using the new revision to verify behavior.
- If the test Run fails, revert to the previous revision immediately — do not leave a broken revision as live while you investigate.
Reverting to a previous revision
- Open the agent.
- Click the revision selector in the builder toolbar.
- Select the last known-good revision.
- The agent now uses the reverted AOP for the next manual run, scheduled run, or trigger.
Note: Scheduled Runs and triggers always execute the live revision, not the one you are currently viewing. A warning banner appears at the top of the builder whenever you are viewing a non-live revision.See Agent Versions for the full versioning reference.
Pre-Production Checklist
Work through this list when testing is complete and you are ready to go live. If any item is not checked, address it before enabling the schedule or trigger.Related
- Promote to Production — Enable your schedule or trigger and hand the agent to your team
- Guardrails for High-Risk Automations — Risk scoring, shadow mode, and hard caps for high-stakes agents
- Agent Versions — How versioning works and how to revert a change
- Designing Human-in-the-Loop Workflows — When to add approval gates and how to configure escalation
- Duplicating Agents — How to create a test build alongside your production build