Scheduled regression test
Problem: Performance regressions are rarely introduced intentionally — they sneak in as side effects of feature changes. Without a recurring test that compares today’s result to yesterday’s, regressions stay hidden until a customer reports them. A scheduled regression test surfaces 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 will use it later when setting up comparison.
2. Set the failure criteria
Section titled “2. Set the failure criteria”A scheduled test is only useful as a regression gate if it automatically marks a run as failed 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, not a performance threshold violation). - 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 scheduled run nightly 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 — drill into the comparison view.
- Schedule recurring tests — the how-to reference for scheduling.
- Baseline regression test — what this test type measures.