Website QA testing checklist

Download as Excel (.xlsx)

A checklist for testing a website before release or after a big change. Test two or three real pages of each page type (homepage, listing, detail page, form, static page) rather than every page: bugs live in templates. Download the checklist as a spreadsheet with a status column for each check, or follow the step-by-step guide.

Content

  • No placeholder text, “Lorem ipsum” or test data on any page — search the site for “lorem”, “test”, “asdf”
  • Headings, buttons and labels have no typos — read them aloud
  • Dates, prices and phone numbers are correct and in the right format — compare with the source of truth
  • Copyright year and legal pages are current — footer, terms, privacy
  • Images load, are sharp and are not stretched — check on a high-density phone screen
  • Every image that carries meaning has alt text — empty alt for decorative images
  • Every link in the header, menu and footer works — including on phones
  • No internal links lead to 404 pages — use a crawler for the whole site
  • External links open the right page — and important ones still exist
  • Anchor links (#section) jump to the right place — and the target exists
  • The logo links to the homepage — on every page
  • The 404 page answers with status 404 and offers a way back — try a made-up address

Layout on screens

  • No horizontal scroll at 320, 375, 414 and 768 px wide — drag the browser width slowly
  • No overlapping or cut-off text at any width — including between breakpoints
  • Buttons and links are at least 24 by 24 px with space between them — test with a finger, not a mouse
  • Text is readable without zooming on a phone — body text at least 16 px is a safe default
  • Form fields are at least 16 px so iPhones do not zoom — tap each field on an iPhone
  • The menu opens, closes and fits on a phone — also in landscape
  • Dialogs, pop-ups and the cookie banner fit and can be closed — on the smallest width
  • Fixed headers and bars leave enough room for content — especially in landscape
  • The layout holds with long text and missing images — longest product name, a translated label, a broken image

Forms

  • Required fields are marked — before submitting
  • Submitting an empty form shows clear errors next to the fields — not only browser bubbles
  • Invalid input is caught with a helpful message — email without @, letters in a phone field
  • A correct submission shows a clear confirmation — and the data arrives where it should
  • Email and phone fields use the right input type — phones show the right keyboard
  • Name, email and address fields allow autofill — autocomplete attributes set
  • Double-clicking submit does not send twice — check the receiving side
  • Every field has a visible label — placeholders disappear when typing

Functionality

  • Site search returns relevant results and handles no results — search for a page title and for nonsense
  • Filters and sorting work and can be reset — on listings
  • Sign-up, log-in, log-out and password reset work — with a fresh account
  • Cart and checkout work end to end in test mode — including discounts and shipping options
  • Videos and media play — on phone and desktop
  • No errors in the browser console on key pages — open DevTools → Console

Browsers and devices

  • Chrome, Safari, Firefox and Edge on desktop — current versions
  • Safari on iPhone and Chrome on Android — real devices for key flows
  • Tablet in portrait and landscape — around 768 and 1024 px

Speed

  • Largest Contentful Paint under 2.5 s on a mobile test — PageSpeed Insights or Lighthouse
  • No visible layout shifts while loading — images have width and height
  • Images are compressed and sized for the screen — WebP or AVIF where possible
  • The main image at the top is not lazy-loaded — check the img tag

SEO basics

  • Each page has a unique title and meta description — check widths with the snippet checker
  • Each page has one H1 — matching the page's topic
  • No noindex left from staging — view source and headers
  • robots.txt does not block the site — open /robots.txt
  • The sitemap lists real, indexable pages — open /sitemap.xml
  • Canonical tags point to the page itself on indexable pages — view source

Accessibility basics

  • Everything works with the keyboard alone — Tab through the page
  • Keyboard focus is visible on every link and button — never removed with outline: none
  • Text has enough contrast — 4.5:1 for normal text
  • The page language is set — html lang attribute
  • Animations respect the “reduce motion” setting — test with the OS setting on

Security basics

  • Every page loads over HTTPS without mixed content warnings — check the padlock and the console
  • HTTP and www variants redirect to one HTTPS address — test all four variants
  • No debug output, stack traces or test accounts are public — try invalid input and unknown URLs
  • Admin and staging areas are not linked or indexable — search for them