This is intended to be a brief overview of some of the things you need to do think about when doing QA/testing a website or web application. It is aimed more at the front-end than the back-end, and is not comprehensive (but should still serve as an excellent guide).
Also be sure to see the Website Launch / Relaunch Checklist.
First things first: have someone (preferably a fresh set of eyes) click around the site or app and look for anything broken or strange. Possible items include:
Broken or mis-sized images (foreground & background)
Links that don't work (either because they go to the wrong place or because the Javascript they call isn't working).
Incorrect copy/information. No type-os, missing information, 'lorem ipsum' greek text, etc.
Interactive functionality working. 'Interactive functionality' is a broad term, but your tester should test all forms and data entry areas on the site/app to make sure they don't generate errors with standard information. They should also test any Javascript functionality to make sure it works as desired.
Back/forward button testing. If you're building an app, you must test what happens when you use the back/forward buttons on the browser. Using these can often result in duplicate data entries and all sorts of other issues if you're not careful coding.
Make sure emails still work. A lot of sites have email images & copy in an 'emails' directory, e.g. /emails/acme_annoucement_29_march_2011/. If you're doing a relaunch of your site, make sure this directory makes it over.
Turn off Javascript and browse the site. Can you get everywhere? Does anything look really weird? Should it be fixed?
Turn off
CSS and do the same thing (or browse the site in a text based browser). Folks with screen readers will be browsing your site this way: does it at least make sense?
Clear & disable cookies. Does your site still work? If you need cookies to use your site, are the 'cookies disabled' error messages at least helpful?
-
URL structure is good (e.g. you're using SEO-friendly URLs)
-
-
-
Is Google Analytics installed? If you look at the Net tab in
Firebug, do you see GA calls being made? In order to test GA, you have to have your site on a real domain (e.g.
http://staging.mywebsite.com/ ). GA doesn't make calls if the site is local-only (e.g.
http://mywebsite/ )
-
Will Google Analytics goals or e-commerce tracking change? Obviously you won't want to do this until launch, but you should be prepared to make the changes as soon as you go live.
Do you need to do any other tracking/tagging? Adwords? DoubleClick tags?
Test that characters are properly encoded before being stored in the DB, and properly decoded when coming out of the DB.
Test for
SQL injection vulnerabilities.
Turn off your database. Does your app error gracefully if the DB is down?
Test that you (or someone) gets an email for every address on the site. Note that is not just good enough to send a message and make sure it doesn't bounce; you need to send a message that says 'please reply' and then followup to make sure you actually get a reply.
Call every phone number on the site and make sure it is correct.
This is optional, but you may want to make sure your pages validate against the
W3C Validator.
Run
PHP with errors set on
E_ALL. That will make sure you don't have any
E_NOTICE level warnings. Optionally, run it on
E_STRICT
Discussion