Skip to content

Engines and tooling glossary

MaxoPerf supports multiple test engines. Understanding what each engine calls its core building blocks — and how those blocks map across engines — helps you read documentation, write configurations, and interpret results regardless of which engine you use.


Taurus is a YAML-driven open-source test automation framework. It acts as an orchestration layer that can run JMeter, k6, Gatling, Locust, Selenium, and other engines using a unified configuration format.

See the canonical card: Taurus — SEO Glossary.

In MaxoPerf: Taurus is one of the primary test engine paths. Upload a bzt.yml (or any YAML with the Taurus execution block) and MaxoPerf validates and runs it. Taurus configuration lets 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 via plugins.

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


k6 is a JavaScript-based open-source load testing tool designed for developer experience. Scripts are plain JavaScript (ES6+); load profiles are defined 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 which integrate with 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 alongside shared Taurus execution parameters.

Common Taurus executors:

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

In MaxoPerf: the executor is inferred from the uploaded file type or set explicitly 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 in exactly the same way as in a local JMeter execution.


A scenario is a named, reusable sequence of requests and actions — a “user journey.” In Taurus, scenarios are defined in the scenarios block; in k6, they are defined in the scenarios option object; in JMeter, each thread group is effectively a scenario.

In MaxoPerf: the test label hierarchy in results reflects the scenario structure. Naming your scenarios clearly (e.g. checkout-flow, product-search) makes the results panel much easier to read.


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

In MaxoPerf: assertions are defined 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.