Skip to content

Engines and tooling glossary

MaxoPerf supports multiple test engines. Once you know what each engine calls its core building blocks, and how those blocks map across engines, you can read documentation, write configurations, and interpret results in any engine.


Taurus is a YAML-driven open-source test automation framework. It is an orchestration layer that runs JMeter, k6, Gatling, Locust, Selenium, and other engines from one configuration format.

See the canonical card: Taurus in the SEO Glossary.

In MaxoPerf: Taurus is one of the main test engine paths. Upload a bzt.yml (or any YAML with the Taurus execution block) and MaxoPerf validates and runs it. In Taurus configuration you define scenarios, execution profiles, and reporting in one file.

execution:
- scenario: my-api
concurrency: 50
ramp-up: 1m
hold-for: 5m
scenarios:
my-api:
requests:
- url: https://api.example.com/items
label: list-items

JMeter is Apache’s Java-based load testing tool. It uses an XML format (.jmx) to define test plans, thread groups, samplers, and listeners. It supports HTTP, JDBC, LDAP, SMTP, and many other protocols through plugins.

In MaxoPerf: upload a .jmx test plan directly. MaxoPerf validates the plan and runs it on managed runners. MaxoPerf captures JMeter listener output and converts it to the standard MaxoPerf results format.


k6 is a JavaScript-based open-source load testing tool built for developers. Scripts are plain JavaScript (ES6+). You define load profiles in the exported options object.

In MaxoPerf: upload a script.js and MaxoPerf runs it. k6 supports open and closed workload models, thresholds (pass/fail criteria), tags, and custom metrics. All of them feed MaxoPerf’s result display and failure criteria.

import http from 'k6/http';
import { sleep } from 'k6';
export const options = {
vus: 50,
duration: '5m',
};
export default function () {
http.get('https://api.example.com/items');
sleep(1);
}

An executor is a Taurus abstraction for a specific load-generating engine. Each executor maps to an underlying tool (JMeter, k6, Locust, Gatling, etc.) and exposes engine-specific configuration next to the shared Taurus execution parameters.

Common Taurus executors:

Executor keyUnderlying engine
jmeterApache JMeter
gatlingGatling
k6k6
locustLocust
seleniumSelenium WebDriver
siegeSiege
abApache Benchmark
vegetaVegeta
molotovMolotov

In MaxoPerf: MaxoPerf infers the executor from the uploaded file type, or you set it in the execution.executor field of a Taurus YAML.


A sampler is the JMeter term for a request-generating element in a test plan. Each sampler type targets a specific protocol: HTTP Request sampler, JDBC Request sampler, TCP Sampler, and so on. Samplers record timings and pass/fail status for each request.

In MaxoPerf: JMeter samplers work as-is when you upload a .jmx plan. The sampler label (name) becomes the label in MaxoPerf’s per-label results breakdown.


A thread group is JMeter’s unit of concurrent users. Each thread corresponds to one virtual user executing the sampler sequence. A test plan can contain multiple thread groups running in parallel (e.g. one for API traffic, one for background batch jobs).

In MaxoPerf: JMeter thread groups run on MaxoPerf runners exactly as they do in a local JMeter run.


A scenario is a named, reusable sequence of requests and actions: a “user journey.” Taurus defines scenarios in the scenarios block. In k6, they live in the scenarios option object. In JMeter, each thread group acts as a scenario.

In MaxoPerf: the test label hierarchy in results reflects the scenario structure. Clear scenario names (e.g. checkout-flow, product-search) make the results panel much easier to read.


An assertion is a check on a response during the test. If the assertion fails, the request counts as an error. Common assertion types: status code (e.g. 200 OK), response body contains a substring, response time below a threshold.

In MaxoPerf: you define assertions in the test configuration (Taurus assert field, JMeter Response Assertions, k6 check() calls). Failed assertions increment the error count and appear in the per-label error breakdown.