PRACTICAL GUIDE / website performance testing checklist
Website Performance Testing Checklist for Every Release
Website performance testing checklist for field baselines, repeatable lab runs, Core Web Vitals diagnosis, release gates, and verification.
In this guide10 sections
- 1. Define the Performance Contract
- 2. Capture the Field Baseline
- 3. Lock the Lab Conditions
- Map the Release Evidence Loop
- 4. Diagnose the Failed User Outcome
- 5. Check Performance Fix Tradeoffs
- 6. Apply the Release Gate
- 7. Verify in Production
- Frequently Asked Questions
- Which Core Web Vitals thresholds belong in the checklist?
- Should performance testing happen before or after release?
- How many Lighthouse runs should I use?
- Does a good Lighthouse score prove good Core Web Vitals?
- What should block a website release?
- Keep the Checklist Attached to Evidence
What you will learn
- 1. Define the Performance Contract
- 2. Capture the Field Baseline
- 3. Lock the Lab Conditions
- Map the Release Evidence Loop
A website performance testing checklist must preserve comparable evidence. One PageSpeed Insights score cannot prove a release changed real user experience. Start with scope, lock conditions, trace the cause, and verify production.
For full explanations, use how to test website speed and Core Web Vitals.
1. Define the Performance Contract
- List critical templates and journeys for mobile and desktop.
- Name regions, authentication, consent, and locales.
- Map each synthetic test to its production URL group.
- Record budgets, release owner, and exception evidence.
Good is LCP <= 2.5 seconds, INP <= 200 milliseconds, and CLS <= 0.1. Poor is LCP > 4 seconds, INP > 500 milliseconds, and CLS > 0.25. There is no new 2026 metric.
2. Capture the Field Baseline
- Record exact URL, URL or origin scope, and device class in PageSpeed Insights.
- Capture LCP, INP, and CLS.
- Check CrUX Vis trends and annotate deployments or experiments.
- Treat missing public field data as unavailable evidence, not a pass.
The CrUX Dashboard was deprecated after November 2025. Use CrUX Vis or the CrUX History API.
3. Lock the Lab Conditions
- Record URL, build, browser, device, viewport, network, and cache state.
- Fix authentication, flags, cookies, consent, locale, and data.
- Hold background work constant and repeat comparable runs.
- Keep the report, trace, waterfall, screenshots, and filmstrip.
Lighthouse is lab evidence. A load-only run cannot represent INP, which requires interactions. Total Blocking Time can indicate main-thread pressure but is not INP.
Map the Release Evidence Loop
Animated field map
Website Performance Release Checklist Map
A compact release loop that ties a field baseline to controlled diagnosis and production verification.
01 / scope
Scope
Pages, journeys, users, and budgets.
02 / baseline
Baseline
Field trend and repeatable lab run.
03 / diagnose
Diagnose
Trace resources, tasks, and shifts.
04 / gate
Gate
Compare budget and risk deltas.
05 / verify
Verify
Confirm the production field outcome.
4. Diagnose the Failed User Outcome
| Outcome | Inspect first | Common evidence |
|---|---|---|
| Slow LCP | Actual LCP element and its request chain | Server delay, priority, image size, render-blocking work |
| Slow INP | A representative slow interaction | Input delay, event work, long tasks, rendering delay |
| High CLS | Layout-shift cluster and affected elements | Missing dimensions, late banners, fonts, dynamic embeds |
- Confirm the LCP element, slow interaction, and shift trigger.
- Inspect priority, redirects, caching, compression, and third parties.
- Tie recommendations to a resource, task, element, or request.
- Change one high-confidence bottleneck where practical.
Use the performance report guide to separate workload problems, regressions, and clues.
5. Check Performance Fix Tradeoffs
- Verify navigation, forms, payments, authentication, consent, and analytics.
- Re-run accessibility checks after UI changes.
- Check images, delayed scripts, error states, and slow networks.
- Compare budgets under the same build conditions.
A higher score is invalid if required behavior breaks. Preserve product assertions and performance artifacts.
6. Apply the Release Gate
- Compare the candidate with a named baseline under identical lab settings.
- Gate critical journeys on agreed budgets and statistically meaningful deltas.
- Review failures by page template, device class, and risk.
- Do not average away one severe page group.
- Require a named owner, reason, mitigation, and expiry for exceptions.
- Keep a needs-review state when data or environment validity is uncertain.
Core Web Vitals thresholds are stable targets. Resource and lab budgets should reflect your product and baseline.
7. Verify in Production
- Confirm the expected build and optimization reached production.
- Run an immediate synthetic smoke check on critical URLs.
- Watch product errors and business outcomes for tradeoffs.
- Annotate the deployment in performance trend views.
- Revisit field LCP, INP, and CLS when enough post-release evidence exists.
- Add a confirmed regression scenario to the permanent suite.
Field data aggregates visits and will not change immediately. Annotate deployments when explaining outcomes.
Frequently Asked Questions
Which Core Web Vitals thresholds belong in the checklist?
Use LCP at or below 2.5 seconds, INP at or below 200 milliseconds, and CLS at or below 0.1 as good. Poor begins above 4 seconds, above 500 milliseconds, and above 0.25 respectively.
Should performance testing happen before or after release?
Both. Lab checks catch pre-release regressions, while field data verifies real users after deployment. Keep page groups and release annotations consistent.
How many Lighthouse runs should I use?
Use several identical runs and summarize a representative result such as the median. One unusually fast run is not a baseline.
Does a good Lighthouse score prove good Core Web Vitals?
No. Lighthouse is a controlled lab test. Field Core Web Vitals reflect real users, and a load-only run cannot produce representative INP. Use lab data for diagnosis and field data for population outcomes.
What should block a website release?
Block regressions against an agreed performance budget on critical journeys, severe functional tradeoffs introduced by an optimization, and unexplained measurement invalidity. Use risk and baseline deltas, not a generic score alone.
Keep the Checklist Attached to Evidence
A strong checklist preserves scope, field baseline, controlled run, trace, change, decision, and production result beside the build.
PRIMARY REFERENCES
Verify the details at the source
QABattle guides are practical explanations. Product behavior, standards, and APIs can change, so use these primary references for the canonical details.
- 01Official web.dev reference
web.dev
Primary documentation selected and verified for the claims in this guide.
- 02Official developer.chrome.com reference
developer.chrome.com
Primary documentation selected and verified for the claims in this guide.
- 03Official developer.chrome.com reference
developer.chrome.com
Primary documentation selected and verified for the claims in this guide.
- 04Performance testing guidance
Apache JMeter
Primary guidance for realistic load generation and reliable performance runs.
FAQ / QUICK ANSWERS
Questions testers ask
Which Core Web Vitals thresholds belong in the checklist?
Use LCP at or below 2.5 seconds, INP at or below 200 milliseconds, and CLS at or below 0.1 as good. Poor begins above 4 seconds, above 500 milliseconds, and above 0.25 respectively.
Should performance testing happen before or after release?
Both. Controlled lab checks can stop obvious regressions before release, while production field data verifies the real-user distribution after deployment. Keep the same page groups and release annotations across both stages.
How many Lighthouse runs should I use?
Use several runs with the same configuration and summarize a representative result such as the median. The exact run count depends on variability, but one unusually fast run is not a defensible baseline.
Does a good Lighthouse score prove good Core Web Vitals?
No. Lighthouse is a controlled lab test. Field Core Web Vitals reflect real users, and a load-only run cannot produce representative INP. Use lab data for diagnosis and field data for population outcomes.
What should block a website release?
Block regressions against an agreed performance budget on critical journeys, severe functional tradeoffs introduced by an optimization, and unexplained measurement invalidity. Use risk and baseline deltas, not a generic score alone.
RELATED GUIDES
Continue the learning route
GUIDE 01
How to Test Website Speed and Core Web Vitals in 2026
How to test website speed with Core Web Vitals, field data, lab tools, report analysis, fixes, and a practical release checklist.
GUIDE 02
Best Website Speed Test Tools for 2026
Best website speed test tools for 2026 compared by field data, lab diagnostics, waterfalls, monitoring, Core Web Vitals, and team fit.
GUIDE 03
Core Web Vitals: Measuring and Improving Performance
Core Web Vitals guide to LCP, INP, and CLS: good scores, lab vs field data, SEO impact, and practical steps to improve LCP and CLS on real sites.
GUIDE 04
How to Read a Performance Test Report
Learn how to read a performance test report: interpret p95 and p99, error rates, throughput vs latency graphs, and find bottlenecks from load test results.
GUIDE 05
How to Test Website Speed
Learn how to test website speed with lab and field tools, Core Web Vitals, Lighthouse, WebPageTest, checklists, and fixes QA can verify on real pages.