---
summary: "Index of the OpenClaw testing kit, one page per reader job"
read_when:
- Running tests locally or in CI
- Adding regressions for model/provider bugs
- Debugging gateway + agent behavior
title: "Testing"
---
OpenClaw has three Vitest suites (unit/integration, e2e, live) plus Docker
runners. This page covers what each suite covers, which command to run for a
given workflow, how live tests discover credentials, and how to add
regressions for real-world provider/model bugs.
**QA stack (qa-lab, qa-channel, live transport lanes)** is documented separately:
- [QA overview](/concepts/qa-e2e-automation) - architecture, command surface, scenario authoring, and the Matrix live lane.
- [Maturity scorecard](/maturity/scorecard) - how release QA evidence supports stability and LTS decisions.
- [QA channel](/channels/qa-channel) - the synthetic transport plugin used by repo-backed scenarios.
This page covers the regular test suites and Docker/Parallels runners. [QA-specific runners](#qa-specific-runners) below lists the concrete `qa` invocations and points back at the references above.
This page is an index. The testing kit is documented on six pages, one per
reader job. Open the page that matches your task.
| Page | Read it when |
| ------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
| [Test suites and commands](/help/testing/suites) | You need to pick a suite, a command, or the offline regression checks. |
| [Live and Docker/Parallels workflows](/help/testing/live-workflows) | You are debugging a real provider or model through a live Docker or Parallels lane. |
| [Docker test runners](/help/testing/docker) | You want the Docker "works in Linux" lanes, their scheduler, and their env vars. |
| [QA-specific runners](/help/testing/qa-runners) | You are running a QA Lab lane or need the shared Convex credential contract. |
| [Contract tests](/help/testing/contracts) | You changed a channel, provider, or plugin-sdk surface. |
| [Writing and adding tests](/help/testing/writing-tests) | You are writing a test, a regression, or a reliability eval. |
## Where each section moved
Every section heading from the previous single-page version keeps its anchor
here, so an existing link such as `/help/testing#qa-specific-runners` still
resolves. Each entry points at the page that now holds the content.
- [Quick start](/help/testing/suites#quick-start)
- [Test Temp Directories](/help/testing/writing-tests#test-temp-directories)
- [Live and Docker/Parallels workflows](/help/testing/live-workflows#live-and-docker/parallels-workflows)
- [QA-specific runners](/help/testing/qa-runners#qa-specific-runners)
- [Shared Telegram credentials via Convex (v1)](/help/testing/qa-runners#shared-telegram-credentials-via-convex-v1)
- [Adding a channel to QA](/help/testing/qa-runners#adding-a-channel-to-qa)
- [Test suites (what runs where)](/help/testing/suites#test-suites-what-runs-where)
- [Unit / integration (default)](/help/testing/suites#unit-/-integration-default)
- [Projects, shards, and scoped lanes](/help/testing/suites#projects-shards-and-scoped-lanes)
- [Embedded runner coverage](/help/testing/suites#embedded-runner-coverage)
- [Vitest pool and isolation defaults](/help/testing/suites#vitest-pool-and-isolation-defaults)
- [Fast local iteration](/help/testing/suites#fast-local-iteration)
- [Perf debugging](/help/testing/suites#perf-debugging)
- [Stability (gateway)](/help/testing/suites#stability-gateway)
- [E2E (repo aggregate)](/help/testing/suites#e2e-repo-aggregate)
- [E2E (gateway smoke)](/help/testing/suites#e2e-gateway-smoke)
- [E2E (Control UI mocked browser)](/help/testing/suites#e2e-control-ui-mocked-browser)
- [E2E: OpenShell backend smoke](/help/testing/suites#e2e-openshell-backend-smoke)
- [Live (real providers + real models)](/help/testing/suites#live-real-providers-+-real-models)
- [Which suite should I run?](/help/testing/suites#which-suite-should-i-run)
- [Live (network-touching) tests](/help/testing/suites#live-network-touching-tests)
- [Docker runners (optional "works in Linux" checks)](/help/testing/docker#docker-runners-optional-works-in-linux-checks)
- [Docs sanity](/help/testing/suites#docs-sanity)
- [Offline regression (CI-safe)](/help/testing/suites#offline-regression-ci-safe)
- [Agent reliability evals (skills)](/help/testing/writing-tests#agent-reliability-evals-skills)
- [Contract tests (plugin and channel shape)](/help/testing/contracts#contract-tests-plugin-and-channel-shape)
- [Commands](/help/testing/contracts#commands)
- [Channel contracts](/help/testing/contracts#channel-contracts)
- [Provider contracts](/help/testing/contracts#provider-contracts)
- [When to run](/help/testing/contracts#when-to-run)
- [Adding regressions (guidance)](/help/testing/writing-tests#adding-regressions-guidance)
## Related
- [Testing live](/help/testing-live)
- [Testing updates and plugins](/help/testing-updates-plugins)
- [CI](/ci)
- [OpenClaw agent runtime workflow](/openclaw-agent-runtime) - the build, test, and live-validation loop for agent runtime code in `src/agents/`