Universal Browser Testing Methods

One of the most important responsibilities of a professional web developer is making sure that your designs are accessible to all.

According to http://www.w3schools.com/browsers/browsers_stats.asp, the latest browser utilization rates are as follows:

  1. Microsoft Internet Explorer 6.x (IE6) – 36.9%
  2. Fire Fox (FF) – 34.5%
  3. Microsoft Internet Explorer 7.x (IE7) – 20.1%
  4. Opera (O) – 1.9%
  5. Safari (S) – 1.5%
  6. Microsoft Internet Explorer 5.x (IE5) – 1.5%
  7. Mozilla (Moz) – 1.4%

I do all of my Design and testing from within a 64-bit Windows Vista Operating system. So to simplify the debug process I need to be able to test as many of these browsers as possible from within windows. This is my setup:

IE7 Testing

IE7 is my base browser, so using it for testing and debugging is not a problem. Because of its recent release and standard Microsoft “special rendering,” I see numerous layout and rendering problems when I’m browsing the internet. This is obviously a significant problem, with over 20% of people currently using IE7. This is especially important, when you consider the adoption rate, since IE7 was released last year. Its market share is only going to grow.

IE6 Testing

IE6 Testing is much more difficult. Microsoft does not support the running of IE6 and IE7 on the same machine. There are some workarounds such as Tech-Recipe’s: Run ie6 or ie7 in standalone mode (which didn’t work for me). Or Jon Galloway’s Registry Hack (might work, but I don’t like jacking with the registry if it can be avoided.).

Originally, I setup a Remote Desktop connection to my older desktop running Windows XP and IE6, so I wouldn’t have to leave my design workstation to view webpages. All I would have to do was open a remote desktop connection and interact with the other computer. This solution was a bit slow, but actually functioned pretty well, and gave me the authenticity of running the browser in another operating environment. Unfortunately, not everyone has a spare computer to use for browser testing.

Due to the constant whining that the collective web development industry can be quite good at, Microsoft realized this was an obvious problem for a huge industry and created a (somewhat clunky) solution.

Microsoft’s solution involves downloading and installing a free version of their virtualization platform: Virtual PC 2007, so you can emulate a second computer running windows XP and your desired internet browser.

  • You can download the free version of Virtual PC 2007 here: (Download)

Once installed, you then download a disk image (provided by microsoft) which contains Windows XP and the IE6 internet browser. The image they provide expires in a few months, but because of the need for a testing platform, they will always offer a new image with a later expiration date, as they have in the past.

  • You can download the free disk image containing Windows XP and ie6 or ie7 here: (Download)

Once installed, and setup as directed, everything worked pretty well, with one exception. I couldn’t view any webpages! I opened up the command console, and pinged a few webpages, and had no problem. The problem was obviously in IE6. After snooping around for a while, I realized that IE6 was pre-configured to use a proxy, which wasn’t functioning correctly. All I had to do was disable the use of a proxy and everything worked brilliantly.

A word of caution: Emulating another modern computer can be pretty hardware intensive. I’m currently running a quad-core machine with over 4GBs of memory, a state-of-the-art video card, and over a Tera-Byte of storage (which I’m sure will look ancient in another couple months, but is a pretty solid machine right now). With that setup I have no problems, but before I put in an extra 2 Gigs of memory, running VPC could slow down the system pretty well.

Firefox Testing

Firefox is extremely easy to run in tandem with any version of Internet Explorer and pretty much any other browser. It is a great standards-compliant browser, and very well put-together.

Safari Testing

Apple recently released a version of its Safari internet browser for Windows. It is currently in a Beta stage, but the beta is extremely stable, and I haven’t had any problems with it. I also love the rendering performed by Safari. As with most things Apple does, it is significantly more aesthetically pleasing than anything else out there. Whenever I need to use browser screenshots, I almost always take them from Safari.

Summary

Using those 4 browsers, I can guarantee that the pages I design are accessible to 95% of the browsers being used. When including browsers that render similar to those tested, your design should be functional in nearly 100% of modern browsers.