Testing is very important in website development, how a website works can influence how the visitor interacts with the site, whether they will visit again or for an ecommerce site, make a purchase. This does not only include browser testing, but it also involves validating your code to ensure you are sticking to the standards, and ensuring your site is as accessable and usable as possible.
Code Validation
There are several code validation tools avaliable, if you prefer to use a website I recommend sticking with the W3C validator (http://validator.w3.org/) which provides you with a detailed list of any errors and warnings you have about your code. If you would prefer a plugin, the HTML Validator plugin for Firefox is the best I have found, it sits on your status bar and validates whatever page is open in your browser, upon clicking on it, it will show you exactly where the problem is so you can quickly remedy it, refresh and be happy in the knowledge your website is valid HTML code.
Desktop Browser Testing
The first decision to make is which method of testing is most suitable for your development environment. If you are using a computer using a single processor core then its unlikely you will be able to run virtual machines without driving your computer to a halt so you would probably be best off using online testing combined with an application like Spoon. If you are on a powerful computer you have the option to use virtual machines although this does require multiple licences of the host operating system (most likely Windows XP) to do this legally.
Online Testing
There are many solutions for testing websites if you are unable to use virtual machines, most of these require you to host the website somewhere and then provide a testing website a URL. One popular service for cross-browser testing online is BrowserShots, this enables you to test on many different operating system and browser combinations but unfortunately they do not provide testing on the Mac. This is an issue because browsers like Firefox render webpages slightly differently depending on the operating system.
Virtual Machines
A better option than online testing is using Virtual Machines, this enables you to test and debug your sites directly in a browser. The main disadvantage of this is that it can hog up system resources and slow down your computer. Ideally you should be running a computer with a large ammount of RAM for this to work well.
As there are many browsers out there it is important to choose the best combinations to test in which will most likely cover all bases. The following is what I do my tests on.
Internet Explorer 6 – Running in VM on Windows XP^
Internet Explorer 7 – Running in VM on Windows XP^
Internet Explorer 8 – Running in VM on Windows XP
Internet Explorer 8 – Running locally on Windows 7
Mozilla Firefox 3.6 – Running locally on Windows 7
Mozilla Firefox 3.6 – Running locally on a Mac OS X laptop
Safari 5 – Running locally on Windows 7 (Where possible we should have a Mac avaliable for testing)
Google Chrome 7.0 – Running locally on Windows 7
^Internet Explorer 6 & 7 are aging browsers which lack compatibility with alot of new technologies so support for these browsers should be scoped and decided if necessary.
Accessbility Testing
There are several ways you could carry out Accessibility testing, one way would be to test your website with various screen readers and see if your website still makes sense to the user. This is most likely not practical so the alternative is to use an accessibility checker such as WAVE which will check your website and advise you on how to improve the accessibility.
Other Tests
There are several things you should be considering when testing, how the website works with javascript disabled, how it looks with CSS disabled, what happens if the user has not got flash installed and how the website will look if Java is not installed or is disabled.
It is important that you always provide a fallback for all of these situations as you cannot expect users to have the same computer setup as you.
Fun Testing Tools
An interesting website that a work colleague told me about is How 90′s (http://how90s.com). This will show whether you are using elements common in 90′s websites in your website.

