Testing Your Site — What could possibly go wrong?

In the world of writing, there is some variant of Murphy’s law that says that no matter how many times and how thoroughly you check your copy, you won’t see the obvious misspelling or glaring grammatical error until after you’ve published it, at which point it will jump out at you like a giant flashing neon sign. This is why we have editors: to catch the mistakes that you won’t see even if you look at them a thousand times.

The same is true of web development. You will never catch all the bugs that somehow make their way into the HTML, Javascript, and CSS code. This is why it’s generally a good idea to have someone else give the site a try before it goes live.

Here are some best practices that developers, testers, and clients should adopt to give a web site a final check before pushing it out to the Internet.

Have a Plan

Start by planning your testing strategy. For simple sites, the test plan can be a one-page checklist of things to look for, such as inconsistent look and feel across pages, broken links, and formatting issues. For more complex sites, especially ones that have user interactivity features, your test plan will be longer and more detailed, and will include things such as checking the validation on user-entry fields, checking that scripts run without error or that error conditions are handled gracefully, and so on. No matter how complex or simple the testing, you should write it all down first, so that nothing is forgotten.

Recruit a Tester

As hinted above, the developer is the worst person to do the testing. Find someone else to do it. An independent tester will see the site with fresh eyes, and notice the problems quickly and objectively. What looks like a minor, trivial issue to a developer may be a catastrophe for an actual user.

Your tester need not be a professional software quality engineer, especially for simple web sites. In fact, the more your tester resembles an actual end user of the site, the better. This person will know right away whether that funky, clever navigation scheme you came up with is actually a confusing mess.

Multiple Browsers and Multiple Platforms

What keeps web developers up at night (besides tight deadlines)? Knowing that at any moment, a new version of a popular browser will be pushed out to the world, and all those beautiful web sites they so painstakingly designed will start looking like somebody attacked them with a chainsaw. Web site testing should be conducted on as many browsers, and as many versions of those browsers, as possible. Browsers are notorious for tweaking the way web pages are rendered, and every browser does so differently.

And it’s not only different browsers and versions—it’s a good idea to test on different platforms and form factors as well. Windows PCs, Apple Macs, iPads, Android tablets, smartphones…the list goes on. Obviously you can take this to illogical extremes, but you should consider what browser and platform combinations the probable end users will be using and focus on those for your testing.

Check the Content

Don’t forget to check the text content! At the very least, do a spell check. Better yet, have someone read over everything to make sure it all makes sense and conveys the right messages. If the client has an SEO strategy, the copy should be checked for the right keywords and the right frequency.

Automate

As much as possible, testing should be automated, especially for sites that undergo frequent updates. Automation can check for invalid HTML and CSS, and check the hyperlinks on the site and report the broken ones. This can be a real time-saver, especially for medium- to highly-complex sites.

Don’t Forget the Client

Obviously, the party that’s paying for the site is the one that has the final say on whether it’s good to go. Depending on your relationship with the client and their level of involvement, this could mean simply letting them poke around in the test version of the site, or giving them a specific list of things to check for.

By having a solid, thorough test plan and executing it well, you will ensure a site that the client and end users will be happy with. And you’ll keep old Murphy and his law from smacking you in the head.