Load Testing

Drive your API under concurrent load from dozens or thousands of virtual users, watch live percentile metrics, enforce thresholds, and compare runs side-by-side — all without leaving Tigrister.

What is the Load Test Module?

A Load Test Spec is a reusable test plan: a sequence of HTTP steps, a set of configurations (one per test type), optional Before All / After All lifecycle scripts, and a list of thresholds. You pick a test type, press Start Test, and Tigrister spins up virtual users (VUs) that execute the step sequence in parallel while streaming live percentile metrics back to the UI.

Key Concepts:

  • Spec Group: A folder that contains related specs and shared environment variables
  • Spec: An ordered list of HTTP steps plus per-test-type configurations and thresholds
  • Test Type: One of five presets — Load / Stress / Spike / Soak / Custom — each with its own VU profile
  • Virtual User (VU): A simulated client that runs the entire step sequence in a loop, respecting think-time and rate-limit settings
  • Threshold: A pass/fail rule on a metric (percentile response time, error rate, or throughput)
  • Run: A single execution of a spec — stored in history with full time-series data

Organization Hierarchy

Spec GroupSpecStep

Spec groups hold multiple specs and share an environment scope. Each spec has its own steps and its own per-test-type configuration. Steps are the actual HTTP requests a virtual user sends.

How It Relates to the Flow Runner

If you already know the Flow Runner, the Load Test module will feel familiar. They share a lot of the same building blocks:

ConceptFlow RunnerLoad Test
Step sequenceOne or more HTTP steps in orderSame — every VU iterates through them
Lifecycle scriptsBefore All / After All (per flow)Before All / After All (per spec — same tg.* API and snippets)
Variable extractionJSON path / header / regex / statusIdentical four sources per step
EnvironmentsManual / OS Secret / Vault (per flow group)Same three sources (per spec group)
Execution modelSequential iterations or small parallel VU burstFull VU runner: ramp-up, think time, sustained load, ramp-down
ResultsAnomaly detection across iterationsPercentile time-series, per-step breakdown, multi-run compare, threshold results

Rule of thumb: use the Flow Runner when you want to verify correctness of a request chain once or across a handful of iterations. Move to the Load Test module when you need to drive sustained concurrent load, record percentile response times, or compare behavior across runs.

Five Built-In Test Types

Every spec stores an independent configuration for each of the five test types. Switching between them never loses your other settings — you can design a Load run, a Stress run and a Soak run on the same spec and flip between them instantly.

Load

Ramp up to a target VU count, sustain, and ramp down. The default sanity check for normal traffic.

Stress

Push beyond normal load to find the breaking point. Higher VU count, shorter ramp.

Spike

Sudden traffic surge in just a couple of seconds to test recovery and autoscaling.

Soak

Extended duration at moderate VUs to detect memory leaks and slow degradation.

Custom

Define your own multi-stage VU profile with explicit ramp/hold stages.

The Test Types section below covers each preset's VU profile, default values, and when to reach for it.

Common Use Cases

Performance Regression Testing

Run the same spec before and after a deploy and compare response-time percentiles side-by-side with the Compare view.

Capacity Planning

Use Stress runs with increasing VU counts to find the point where error rate or P95 latency crosses your SLO.

Autoscale Validation

Spike runs simulate sudden traffic bursts and expose slow cold-start or autoscaling reaction times.

Memory Leak Detection

Soak runs hold moderate load for minutes or hours — time-series charts surface gradual degradation.

Contract Enforcement Under Load

Per-step assertions run on every VU iteration. Enable Fail on assertion errors to fail a run as soon as a contract breaks.

Observability Pipeline Feed

Stream live metrics via OTLP HTTP Export to Grafana, Prometheus, or any OpenTelemetry-compatible backend.

Tigrister Load Test Features

  • 1Five built-in test types: Load / Stress / Spike / Soak / Custom, each with its own VU profile and defaults
  • 2Per-test-type configuration: switching types never loses your settings — each type stores an independent config on the spec
  • 3Lifecycle scripts: Before All / After All + per-step pre and post scripts share the Flow Runner's tg.* API
  • 4Thresholds: pass/fail rules on avg / P50 / P90 / P95 / P99 response time, error rate, or throughput
  • 5Live percentile metrics: real-time time-series for avg / P50 / P90 / P95 / P99, throughput, error rate, and active VUs
  • 6Per-step breakdown: request count, percentile latencies, error rate, and throughput for every step in the spec
  • 7Multi-run Compare mode: pick a BASE run plus one or more comparison runs and see metric deltas, response-time overlay, and per-step comparison tables
  • 8OTLP HTTP Export: stream live metrics to any OpenTelemetry-compatible backend (Grafana, Prometheus, Datadog, etc.)
  • 9Spec-group environments: Manual / OS Secret / Vault variables — same model as Flow and Project environments
  • 10Report export: JSON / HTML / PDF run reports via the manual Export dropdown or programmatically from After All with tg.export.*