GUIDE / performance
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.
A quiet office on fiber can make a site look fast while mid-range phones on 4G abandon checkout. How to test website speed needs field evidence, lab diagnostics, template coverage, and clear pass criteria, not a single Lighthouse screenshot from a developer laptop.
This guide shows how to test website speed end to end: pick the right metrics, use website speed testing tools, compare lab vs field data, run a practical page speed testing checklist, interpret results, verify fixes, and avoid common mistakes. You will also get comparison tables and workflows QA engineers can reuse.
How to Test Website Speed With a Clear Goal
How to test website speed well starts with the question you are answering.
Common questions:
- Are Core Web Vitals good for SEO and UX on key templates?
- Did this release make product pages slower?
- Is checkout sluggish because of JavaScript, API calls, or third parties?
- Is the homepage heavy only for first time users or also for return visits?
- Is the problem global or region specific?
Different questions need different tools. A homepage marketing score is not a substitute for a logged in dashboard path. A single desktop test is not a substitute for mobile field data.
For metric definitions around LCP, INP, and CLS, keep Core Web Vitals open beside this process guide.
Lab Data vs Field Data
This distinction is the foundation of modern page speed testing.
| Type | What it is | Strengths | Weaknesses |
|---|---|---|---|
| Field (RUM / CrUX) | Real user measurements | Truth of experience, SEO relevant CWV | Harder to debug, less controlled |
| Lab (synthetic) | Controlled test runs | Repeatable debugging, CI friendly | May not match real devices and networks |
Field data sources
- Chrome UX Report (CrUX)
- Google Search Console Core Web Vitals report
- Real User Monitoring (RUM) products
- Custom analytics using web-vitals libraries
Lab data sources
- Lighthouse in Chrome DevTools or CLI
- PageSpeed Insights lab section
- WebPageTest
- Browser Performance panel traces
- Synthetic monitoring tools
Rule: field tells you whether you have a problem. Lab helps you find and fix it. Release gates often use both: field for truth, lab for regression prevention.
Metrics That Matter for Website Speed
Do not drown in every number the tools print. Focus on a practical set.
Core Web Vitals
- LCP (Largest Contentful Paint): loading of main content
- INP (Interaction to Next Paint): responsiveness to interactions
- CLS (Cumulative Layout Shift): visual stability
Supporting metrics
- TTFB (Time to First Byte): server and network responsiveness for the document
- FCP (First Contentful Paint): early render signal
- Speed Index: how quickly content is visually populated in lab films
- Total Blocking Time (TBT): lab proxy related to interactivity risk
- Transfer size and request count: weight and complexity
- Long tasks: main thread blockage
Business metrics to pair with speed
- Bounce rate on landing templates
- Add to cart rate
- Checkout completion
- Time to first meaningful action after login
Speed without business context can optimize the wrong page.
Website Speed Testing Tools Compared
| Tool | Best use | Lab / Field | QA tip |
|---|---|---|---|
| PageSpeed Insights | Quick CWV + lab overview for a URL | Both (when field available) | Great first stop, not final proof |
| Lighthouse | Local audits, CI budgets | Lab | Pin version and settings for comparisons |
| WebPageTest | Deep filmstrips, waterfalls, locations | Lab | Best for multi step diagnosis |
| Chrome DevTools | Interactive debugging | Lab | Perfect while reproducing issues |
| Search Console | Sitewide CWV grouping | Field | Prioritize template groups with poor URLs |
| RUM platform | Continuous real user percentiles | Field | Segment by device, country, route |
| Synthetic monitors | Uptime plus speed checks from regions | Lab style | Alert on regressions, keep thresholds sane |
No tool replaces thinking. A 97 Lighthouse score with a 4 second LCP on real mid tier mobiles is still a problem.
Page Speed Testing Checklist
Use this checklist for a serious pass on a template.
1. Scope
- List critical templates: home, category, product, article, login, dashboard, checkout.
- Note logged out vs logged in states.
- Note personalization, A/B tests, and geo variants.
- Pick target regions and devices from analytics.
2. Field baseline
- Capture current CWV status from CrUX, Search Console, or RUM.
- Record p75 LCP, INP, CLS by template if possible.
- Identify worst device classes and countries.
3. Lab baseline
- Run Lighthouse mobile and desktop on each critical URL.
- Run WebPageTest from a relevant location with a mid tier mobile profile.
- Save waterfalls, filmstrips, and request counts.
- Test cold cache and repeat view when relevant.
4. Journey checks
- Measure multi page flows, not only single landing URLs.
- Include third party checkout widgets if users depend on them.
- Verify speed related flags do not break functionality.
5. Compare and decide
- Diff against previous release baselines.
- Map issues to owners: platform, front end, content, third party tags.
- File defects with evidence and impact.
6. Verify fixes
- Re-run the same lab settings.
- Watch field metrics over enough traffic after deploy.
- Confirm no functional regressions.
Step by Step: Lighthouse Performance Audit
In Chrome DevTools
- Open the page in a clean profile when possible.
- Open DevTools, go to Lighthouse.
- Select Navigation, Mobile, Performance (add Accessibility/SEO only if needed).
- Enable network and CPU throttling defaults for mobile unless you have a documented custom profile.
- Run the audit.
- Save the report JSON or HTML.
- Repeat once more and note variance.
What to read first
- LCP element and time
- INP related diagnostics / TBT and long tasks context
- CLS culprits
- Render blocking resources
- Unused JavaScript and CSS opportunities
- Image delivery issues
- Server response time / TTFB related notes
CLI for CI style checks
npx lighthouse https://example.com/product/123 \
--form-factor=mobile \
--only-categories=performance \
--output=json \
--output-path=./lighthouse-product.json
Pin versions in CI so score swings are not caused by tool updates alone. Performance budgets on resource size and LCP lab metrics are often more stable than obsessing over a single score integer.
Step by Step: WebPageTest for Testers
WebPageTest is one of the best diagnosis tools when Lighthouse is not enough.
Practical setup:
- Enter the URL.
- Choose a location near users or near a known problem region.
- Choose a mobile device profile.
- Set connection throttling that matches audience reality.
- Run at least three runs and look at median.
- Enable video/filmstrip if available.
- For journeys, use scripting for login or multi step flows when needed.
How to read a WebPageTest result
| View | What you learn |
|---|---|
| Filmstrip | When content appears and whether layout jumps |
| Waterfall | Request order, blocking, slow domains, gaps |
| Domains | Third party cost |
| Content breakdown | Images, JS, CSS weight |
| Main thread | Long tasks and scripting cost |
| Repeat view | Cache effectiveness |
Look for:
- Late discover of the LCP image
- Huge JS bundles on critical paths
- Chat widgets and tag managers before core content
- Redirect chains
- Slow TTFB from origin
- Multiple competing fonts causing reflow
DevTools Network and Performance Panels
When you need interactive proof:
Network panel
- Disable cache for cold loads.
- Throttle to Fast 3G or a custom profile.
- Sort by size and time.
- Check priority and initiator for the LCP image.
- Watch API calls that block UI state.
Performance panel
- Start recording, reload or interact, stop.
- Find long tasks over 50 ms.
- Inspect layout shifts tracks.
- Correlate interaction delays with heavy script evaluation.
This is where QA can attach screenshots and traces to defects that developers can actually act on.
Testing Website Speed for Real Templates
Marketing homepage
Focus:
- Hero LCP image or text
- Tag manager weight
- Carousel CLS
- Font loading strategy
Product detail page
Focus:
- Image galleries
- Variant selectors and INP
- Reviews widgets
- Stock and price API waterfalls
Article / blog
Focus:
- Featured media LCP
- Embedded players and ads
- Infinite scroll JS cost
- CLS from late ads and embeds
Checkout
Focus:
- Main thread during form input
- Payment iframe cost
- Error validation responsiveness
- API latency under mild concurrency
Checkout is both a front end speed problem and an API problem. When server endpoints dominate, pair this work with API load testing.
Mobile First Testing Practices
Most teams should default to mobile lab profiles because:
- Mobile CPUs make JS cost obvious.
- Small viewports expose layout shift.
- Cellular networks expose large assets.
- CWV field data is often worse on mobile.
Desktop still matters for B2B dashboards and some high value flows. Test both, report both, prioritize by audience.
Suggested lab matrix:
| Template | Mobile cold | Mobile repeat | Desktop cold |
|---|---|---|---|
| Home | Yes | Yes | Yes |
| Product | Yes | Optional | Yes |
| Checkout | Yes | Optional | Yes |
| Login dashboard | Yes | Yes | Yes |
Auth, Personalization, and "Can't Just Paste the URL" Pages
Many important pages are not anonymously cacheable:
- Logged in dashboards
- Cart with user specific data
- Geo priced catalogs
- A/B test variants
Strategies:
- Use test accounts and scripted auth in WebPageTest or Playwright measurements.
- Capture RUM by route pattern rather than only public marketing URLs.
- Freeze experiments when comparing before/after performance work.
- Document whether CDN cache was hit or missed.
If you only test the anonymous marketing homepage, you can miss the product's true daily driver experience.
How to Write a Website Speed Bug
Weak bug:
Site is slow. Lighthouse is 62.
Strong bug:
Title: Product PDP mobile LCP 4.8s caused by late hero image
Environment: Moto G Power profile, 4G throttling, WebPageTest Virginia, cold load
URL: /products/blue-runner-42
Metrics: LCP 4.8s (lab median of 3 runs), CLS 0.02, TBT 450ms
Evidence: filmstrip + waterfall attached
Expected: LCP <= 2.5s lab budget for PDP mobile cold load (team budget)
Actual: LCP image discovered late after main.js; 1.8MB unoptimized PNG
Impact: High on mobile conversion template
Notes: Field RUM for /products/* p75 LCP currently 3.9s
Good speed bugs include metric, conditions, evidence, and impact.
Performance Budgets QA Can Enforce
Budgets turn opinions into gates.
Examples:
| Budget | Example threshold |
|---|---|
| Lab LCP mobile on PDP | <= 2.5 s |
| Total JS transfer on home | <= 350 KB compressed |
| Third party JS on checkout | <= 150 KB |
| Image max weight above fold | <= 200 KB |
| CLS lab | <= 0.1 |
| INP field p75 | <= 200 ms |
Budgets should be owned jointly by engineering and QA. Revisit them when design systems change.
Interpreting Conflicting Results
You will see contradictions:
- PSI field good, lab poor: lab profile may be harsher than most users, or a new regression not yet in field windows.
- Lab good, field poor: real devices, geography, third parties, or cache mix differ.
- One region poor: DNS, CDN POP, origin distance, or local network conditions.
- Only logged in poor: API chattiness or heavier bundles behind auth.
Write the conflict down and pick the next diagnostic step. Do not average away the uncomfortable dataset.
For general report reading discipline, the same skepticism used in performance test reports applies here.
Common Mistakes When Testing Website Speed
Mistake 1: Chasing a Lighthouse 100
Users do not see your score. They feel LCP, INP, CLS, and task completion.
Mistake 2: Desktop only testing
This hides the default pain of many audiences.
Mistake 3: One run, one conclusion
Synthetic variance is real. Use medians and repeated runs.
Mistake 4: Ignoring third parties
Tag managers, chat, ads, and A/B tools often dominate.
Mistake 5: Optimizing images but shipping bigger JS every sprint
You need budgets across categories.
Mistake 6: No baseline archive
Without saved reports, you cannot prove regressions.
Mistake 7: Speed fixes that break accessibility or functionality
Lazy loading that skips alt text, or deferred CSS that breaks layout, is not a win.
Mistake 8: Testing only production after release
Shift checks left on staging with realistic data and CDN settings where possible.
Mistake 9: Confusing API load capacity with page speed
A server can handle high RPS and still serve a bloated JS bundle. Different problems, related evidence.
Mistake 10: No owner for third party performance
If marketing can add tags without review, speed will return to chaos.
Worked Example: PDP Speed Investigation
Symptom: Search Console shows product pages "Need improvement" for LCP on mobile.
Process:
- Confirm field p75 LCP for
/products/*is 3.6 s. - Run WebPageTest mobile on a representative PDP.
- Filmstrip shows hero image paint at 3.9 s.
- Waterfall shows hero image starts late, after a 420 KB JS bundle.
- Lighthouse identifies the LCP element as the hero
<img>without priority hints and with oversized source. - DevTools shows the image is 2400px wide displayed at 400px.
- Fix: properly sized responsive images,
fetchpriority="high", preload hint, compress to modern format. - Lab LCP falls to 2.1 s.
- After release, field p75 trends to 2.4 s over two weeks.
- QA also retests variant selector INP because a JS refactor touched the same bundle.
That is a complete speed testing loop: field, lab, fix, verify, watch field again.
Continuous Testing Workflow
Suggested cadence:
| Cadence | Activity |
|---|---|
| Every front end PR affecting critical templates | Lightweight Lighthouse or budget checks |
| Daily / continuous | RUM dashboards and alerts |
| Weekly | Review Search Console or CrUX shifts |
| Each release candidate | WebPageTest suite on top templates |
| After tag manager changes | Dedicated third party audit |
| After incidents | Regression pack with saved baselines |
Store baselines in the repo or an artifacts bucket. Name them by date, commit, template, and settings.
Practice and Skill Building
Website speed testing is a judgment skill as much as a tool skill. After you run a few audits, practice explaining tradeoffs and root causes in QABattle battles. If you want a structured place to track performance and broader QA practice, create an account and keep a personal checklist of templates and budgets you have validated.
Final Workflow Summary
When someone asks you how to test website speed this week:
- Define the journey and audience.
- Read field Core Web Vitals for truth.
- Run mobile first lab tests with Lighthouse and WebPageTest.
- Inspect waterfalls, LCP element, long tasks, and CLS sources.
- Include logged in and third party realities.
- File evidence rich defects with budgets.
- Re-test with identical settings after fixes.
- Confirm field metrics move in the right direction.
- Protect wins with performance budgets in CI.
- Revisit when design, content, or tags change.
How to test website speed is not a one click score ritual. It is a disciplined loop across field evidence, lab diagnosis, business templates, and verification. When QA owns that loop, performance stops being an occasional fire drill and becomes a measurable product quality practice.
If you remember one rule, remember this: measure what users feel on real devices, debug with controlled lab tools, and never trust a single green score in isolation.
Single Page Apps, Hydration, and "It Is Interactive Now" Pitfalls
Modern SPAs create speed testing traps.
- LCP may look acceptable while hydration leaves controls dead for hundreds of milliseconds.
- INP suffers when large JS bundles monopolize the main thread after first paint.
- Client side routing can make soft navigations invisible to naive single URL lab tests.
- Skeleton screens can improve perceived loading while still delaying task completion.
How to adapt how to test website speed for SPAs:
- Measure key interactions, not only initial load: open filter, add to cart, submit form.
- Use Performance panel interaction recordings for INP style pain.
- Test authenticated landing routes, not only the marketing shell.
- Track long tasks after hydration.
- Confirm soft navigation templates with tools or RUM that understand route changes.
If your RUM only aggregates the initial document load, you may be blind to the slowest part of the product.
Content, Design, and Tag Governance
Not every regression is an engineering commit.
- Marketing adds a video autoplay hero.
- Design ships a webfont pair with large file sizes.
- A tag manager container gains three new pixels.
- CMS authors upload 5 MB PNGs as thumbnails.
QA speed practice should include governance checkpoints:
| Change type | Speed check |
|---|---|
| New third party tag | WebPageTest domain delta on a key template |
| Hero media change | LCP element and weight check |
| Design system font change | CLS and text render path check |
| Homepage campaign layout | Filmstrip + CLS + mobile Lighthouse |
Without governance, engineering optimizes while other teams reintroduce weight. Website speed is a shared product property.
Sample Lab Notes Template
Date:
Tester:
URL:
Account state: logged out / logged in
Tool: WebPageTest / Lighthouse / Other
Location / device / network:
Runs: 3 (median used)
Metrics:
LCP:
CLS:
TBT or INP related notes:
TTFB:
Requests / transfer size:
Top findings:
1.
2.
3.
Comparison to baseline:
Functional risks of any proposed optimization:
Fill this every time. Future you will thank present you when a debate starts about whether "it was always slow."
FAQ
Questions testers ask
How do you test website speed properly?
Combine field data and lab tests. Use CrUX, RUM, or Search Console for real user Core Web Vitals, then debug with Lighthouse, WebPageTest, browser performance panels, and controlled throttling. Test key templates on mobile and desktop, compare against baselines, and verify fixes with the same URLs and settings.
What tools are best for website speed testing?
Common tools include Chrome Lighthouse, PageSpeed Insights, WebPageTest, browser DevTools Performance and Network panels, and real user monitoring products. Use lab tools to diagnose and regress, and field data to judge what users actually experience. No single score replaces journey based testing.
What is a good website speed score?
Avoid chasing one generic score. For Core Web Vitals, aim for good LCP, INP, and CLS at the 75th percentile of real visits. Lighthouse performance scores are helpful for engineering feedback but can vary. Prioritize user centric metrics and template level risk over a vanity 100.
Should I test website speed on mobile or desktop?
Both, with mobile first priority for most consumer sites. Mobile CPUs, networks, and viewports expose LCP, INP, and layout issues that desktop hides. Match device and network profiles to your audience. If analytics show desktop revenue dominance, still keep mobile coverage for SEO and reach.
How often should QA run page speed tests?
Run quick lab checks on critical templates for front end heavy changes, track field Core Web Vitals continuously, and do deeper WebPageTest style analysis before major releases or after performance incidents. Frequency should follow risk: homepage, product, checkout, and article templates deserve the most attention.
Can automated tools fully replace manual speed testing?
No. Automation and synthetic tests catch many regressions, but QA still needs to validate real journeys, third party tags, logged in states, personalization, and whether optimizations broke functionality. Speed work without functional checks can ship a faster broken page.
RELATED GUIDES
Continue the route
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.
Performance Testing Tools: JMeter vs k6 vs Gatling vs Locust
Compare performance testing tools in 2026: JMeter vs k6 vs Gatling vs Locust, open source load testing choices, and picks for APIs and microservices.
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.
How to Do API Load Testing
Learn how to do API load testing: design realistic scenarios, set thresholds, run concurrent users, read metrics, and avoid false confidence on REST APIs.