Stop 10 · Performance TestingTopics · 7/8

Performance Testing in CI/CD

Part of the QA Testing Roadmap

In short

A big load test once a quarter finds problems months after they were coded. A small performance check on every build catches the slow commit the same day.

Running lightweight performance checks automatically as part of a deployment pipeline — catching a performance regression early, rather than discovering it only after a full load test cycle much later.

The purple blob weighs a packed suitcase with a handheld luggage scale near the front door.

Think of it like this

Weighing your bag at home

You don't wait for the airport counter to find out your bag is 4 kg over. You hang it on a luggage scale at home before leaving. A quick performance check in CI is that home scale: small, quick, every time.

Watch it happen

A pipeline with a performance gate

Commit
Build
Deploy test
Perf smoke
Gate

1/5A developer pushes a change. The pipeline starts automatically.

The big ideas

What you need to know

Keep it short

A CI check should take minutes. Save hour-long stress tests for scheduled nightly or pre-release runs.

Thresholds decide

The tool's exit code passes or fails the job. No one has to read graphs on every commit.

Stable environment

Run against the same environment each time, or noisy results will fail builds randomly.

Track trends

Store results per build. A slow creep over ten commits is easy to miss one run at a time.

See it in code

Walk through the code

yaml
1name: perf-smoke2on: [push]3 4jobs:5  k6:6    runs-on: ubuntu-latest7    steps:8      - uses: actions/checkout@v49      - name: Run 1-minute k6 smoke test10        run: |11          docker run --rm -i grafana/k6 run - < tests/perf/smoke.js

1/3Run this workflow on every push.

A GitHub Actions workflow. If a threshold in smoke.js fails, k6 exits with an error and the job turns red.

Save yourself the pain

Common mistakes

Oops

Running a full 2,000-user stress test on every commit.

Do this instead

Run a small smoke check per commit and schedule heavy tests nightly or before releases.

Oops

Setting thresholds so tight that normal noise fails builds.

Do this instead

Base thresholds on several baseline runs, with sensible headroom.

Your mission

Add a perf check to your repo

~40 min

Quick check

What's the main goal of a performance check on every commit?

Go deeper

  1. 1Design a lightweight performance check that could run automatically on every build.
  2. 2Learn why full-scale load tests usually run separately from every-commit pipeline checks.
  3. 3Preview Phase 11 for the broader CI/CD integration context.

More topics at this stop

Stuck on this topic? Ask an Insider

Get 1:1 guidance from people who've walked this exact path — on the InsideEdge app.

Download
InsideEdge