Skip to content

VarioTest — composite multi-scenario tests

Real production traffic is never a single request pattern. A storefront sees browsing traffic, checkout traffic, and background jobs polling order status, all sharing the same database connections, caches, and thread pools at the same time. Testing each of those in isolation is useful, but it misses the interaction effects you actually get in production. VarioTest solves this by combining several of your existing single tests into one composite run.

A VarioTest is a composite test definition that references two or more single tests already created in the same project — each keeping its own engine, scenario files, and load profile — and runs them together as one coordinated run. You are not writing a new scenario; you are composing tests you already have.

  • You want to reproduce a realistic mix of user behavior (browse : checkout : background jobs) in a single run instead of guessing at the interaction effects from separate runs.
  • You want to detect resource contention — one scenario’s latency climbing because another scenario is competing for the same database connections, caches, or thread pools.
  • You want to run an A/B comparison — the same workload against two API versions, or two configurations — side by side, under the same test-wide time window, instead of two runs you have to line up manually afterwards.

If you only need one workload pattern, a single test is simpler and is what a VarioTest is built out of. Reach for VarioTest once you need more than one pattern running together.

VarioTest has three moving parts. Understanding them makes both the console wizard and the results view make sense.

A scenario, in VarioTest terms, is one of your existing single tests — the same “Test” object you create on the Tests surface: a scenario file (or set of files), a detected engine, and a load profile (total VUs, ramp-up, duration, locations). A VarioTest is an ordered list of scenarios, sourced from a single project, up to 20 per composite test.

VarioTest does not have a separate “VU weight” slider in the composition wizard. Instead, each scenario carries its own weight into the mix through its own load profile. A scenario configured for 600 total VUs contributes proportionally more traffic to the combined run than a scenario configured for 100 VUs once they run together — so you set the mix by editing each constituent test’s Load configuration (total virtual users, ramp-up, locations) before or after adding it to the VarioTest, the same way you would for any single test. Per-scenario VU overrides for a specific VarioTest run (without touching the underlying test’s own default profile) are available through the scenarios payload field on the API reference.

A variant is two or more scenarios in the same VarioTest that exercise the same underlying behavior with one deliberate difference — a different target API version, a different backend configuration, or a different data set driving an otherwise identical script. You build a variant comparison by adding both versions as separate scenarios to one VarioTest, giving each the same load profile, and using the results view’s Scenario filter to compare them side by side under identical conditions. See Worked example — mixed traffic for a concrete walk-through, including an A/B variant pattern.

Starting a VarioTest launches every constituent scenario as part of one coordinated run. The run detail page aggregates throughput, latency, and error metrics across every scenario by default, and a Scenario scope filter — alongside the usual Location, Label, and Runner filters — lets you isolate any single constituent’s metrics without leaving the combined view. See Runs — read results for the full results-reading guide.