Scheduled regression test
Problem: Nobody adds a performance regression on purpose. Regressions arrive as side effects of feature changes. Without a recurring test that compares today’s result to yesterday’s, they stay hidden until a customer reports them. A scheduled regression test shows drift automatically, every morning before standup.
Test type: Baseline regression test, run on a cron schedule.
Prerequisites
Section titled “Prerequisites”- A MaxoPerf test that has produced at least one clean baseline run (with p95 latency and error rate within your SLO).
- A cron expression for the schedule. See the Cron quick reference in the how-to.
Step by step in MaxoPerf
Section titled “Step by step in MaxoPerf”1. Designate a baseline run
Section titled “1. Designate a baseline run”- Open the test and switch to the Runs tab.
- Find the most recent run that met your SLO (low error rate, p95 below threshold).
- Note the run ID. You need it later when you set up the comparison.
2. Set the failure criteria
Section titled “2. Set the failure criteria”A scheduled test works as a regression gate only if it marks a run as failed on its own when performance degrades. Configure failure criteria now. See Failure criteria pass/fail gates for the full recipe.
Quick version:
- Open the test, switch to Configuration.
- Scroll to Failure criteria and click Add criterion.
- Add:
p95 latency > 500ms(replace with your SLO threshold). - Add:
error rate > 1 %. - Save.
3. Create the nightly schedule
Section titled “3. Create the nightly schedule”- Switch to the Schedules tab.
- Click New schedule.
- Enter a cron expression, for example
0 3 * * *(every night at 3 AM). - Pick your timezone (schedule times are timezone-aware).
- Name it
nightly-regressionand enable it. - Save.
4. Check the morning results
Section titled “4. Check the morning results”- Open the test’s Runs tab. The scheduled run appears at the top.
- A green
Finishedbadge means the run passed the failure criteria. - A red
Failedbadge means at least one failure criterion was violated. Click the run to see which criterion failed and by how much.
5. Compare to the baseline
Section titled “5. Compare to the baseline”- Open the latest scheduled run.
- Click Compare in the run header.
- Select the designated baseline run from step 1.
- The comparison view shows delta chips for each key metric: green for improvement, red for regression.
Verify
Section titled “Verify”- The run appears in the Runs list at the expected time (within a few minutes of the cron fire time).
- Runs that exceed the failure criteria show
Failedstatus, notError. An error status means the run itself did not start or crashed. It does not mean a performance threshold was violated. - The comparison view loads when you select the baseline run.
Variations
Section titled “Variations”- Weekly soak baseline: combine a weekly schedule with a longer
hold-for. See Overnight soak test. - CI + scheduled dual coverage: use CI-triggered runs for every deploy and a nightly scheduled run for the baseline comparison. See CI-gated performance test.
- Slack/webhook notification: configure a webhook on run completion so the team gets a Slack message when a scheduled run fails.
Where to go next
Section titled “Where to go next”- Failure criteria pass/fail gates: the full failure-criteria recipe.
- Comparing runs and baselines: a closer look at the comparison view.
- Schedule recurring tests: the how-to reference for scheduling.
- Baseline regression test: what this test type measures.