Skip to content

Tests and runs

In MaxoPerf the unit you create is a test, and the unit you execute is a run. The two ideas are intentionally separate so you can re-run the same test as many times as you need and compare results side by side.

A test is a reusable definition. It captures:

  • The test files (Taurus YAML, JMeter JMX, k6 script, or supporting assets).
  • The target — the system you are testing.
  • The load profile — number of virtual users, duration, and request-rate intent.
  • Where the load comes from — managed cloud locations or your own private locations.
  • Data and secret bindings (see Data entities and Manage test secrets).
  • An optional schedule for recurring execution.

A test lives in a project (see Accounts, workspaces, and projects). You can edit a test at any time without affecting the runs it has already produced.

The Tests list is where every reusable test definition in a project lives, ready to be re-run any time.

A run is one execution of a test. Every run carries:

  • The test definition at the moment the run started.
  • The result data — latency percentiles, throughput, errors, logs, and runner health.
  • Notes, tags, and dashboards you attach for later comparison.

Runs are immutable. Once a run finishes, its data is preserved as the historical record of what happened. If you change the test and re-run, the new run captures the new definition; the previous run keeps its original definition.

Each run keeps its own immutable snapshot of results — latency, throughput, and virtual users — on its Overview tab.

Every run moves through a predictable lifecycle. The status appears in the console and is also available through the API.

StatusMeaning
queuedThe run is accepted and waiting for capacity to be assigned.
allocatingMaxoPerf is reserving the runners needed to generate load.
startingRunners are spinning up and preparing to execute.
runningThe test is actively generating load and producing results.
stoppingA cancel or natural end has been requested; runners are draining.
finishedThe run completed; results are final.
failedThe run could not complete successfully. The run page explains why.
cancelledA user cancelled the run before it finished.

A run usually reaches running within seconds. If a run stays in queued or allocating for longer than expected, see Runners not allocating.

Status badges on the Runs list mirror the lifecycle table above, so you can spot a stuck or failed run at a glance.