Q29 of 38 · Performance

What is a performance test baseline and how do you establish one?

PerformanceMidperformancebaselineregression-detectionmetricsload-testing

Short answer

Short answer: A baseline is a measured performance profile of the system at a known, stable state — usually the current production version. It sets the reference point against which future results are compared to detect regressions.

Detail

A baseline is not a target — it is a fact about the current system. The SLO is the target. The baseline tells you where you are today.

To establish a baseline: run your load test against the current production-equivalent build at the same load level, from the same test environment, at least twice on different days to establish that the result is stable and not an outlier. Record p50, p75, p95, p99 for each key transaction, plus throughput (RPS) and error rate.

Store the baseline with the test code, versioned alongside the application. When a future test run produces results outside a tolerance band (e.g., p95 more than 15% higher than baseline), the pipeline flags it as a regression.

The baseline must be refreshed after intentional performance improvements or significant architectural changes — comparing against a 12-month-old baseline is not meaningful if the system has been redesigned.

// WHAT INTERVIEWERS LOOK FOR

Baseline as a measured fact, not a target. Running multiple times for stability. Storing with the code as a versioned artefact. Refreshing the baseline after intentional changes.