Debugging and testing sites in Internet Explorer 7, 8 and 9 under Mac OS X and Linux.
Debugging and testing sites in Internet Explorer (or Exploder as some might say) is certainly the moment of joy in every web developers life. You know the saying test early, test often so you can identify issues and bugs early. How many of us actually do testing with Internet Explorer in the early stages? Well maybe those that have Windows as their main development environment. But what about testing sites with IE when you are not using Windows but instead OS X or Linux? Do you actually have to pay for testing environment if you want to test IE compatibility? You can but you don't have to! In this blog post I will briefly go through the basis of the recommended ways to test sites in Internet Explorer 7, 8 and 9 and actually how to do it for free.
Reliable ways to test sites in Internet Explorer
So how can you actually get reliable results when testing sites in Internet Explorer? These IE collections seem to be pretty popular but those aren't the best option you have. The problem with IE colletions is that the pages might not render exactly same than they do if you are running just one version of IE on your Windows installation. So you can't actually be sure when the rendering is correct and when not. So what to use then? Let's find out!
Microsoft provides virtual machine disk images (link to download) to facilitate website testing in multiple versions of IE, regardless of the host operating system. Setting up manually a dedicated virtual machine for each version of Internet Explorer using these image isn't actually that hard. It just takes a lot of your valuable time! To save some time for some important stuff (hey isn't this important!?!?) is to to use VirtualBox as virtual machine platform and IEVMS script to download, convert and install three different virtual machine instances each containing different IE version. The installer is going to download several gigabytes of stuff so best option is to leave it running for the night. You should note that there is also somekind of expiration time of three months so either take a snapshot after installing those images or you have to install them again after three months. You also need a lot of free disk space because you will actually have three separate Windows installations. So if you are low on disk space hop on to the next option (yeah, you can read the next one even if you have plenty of free disk space).
BrowserStack (paid service)
CrossBrowserTesting (paid service)
CrossBrowserTesting is also a paid 3rd party service where you can test different browsers. They have all the major browsers but the cool thing is that they also offer you to select your operating system. You can select for example OS X 10.5, Windows XP, Ubuntu 11.10, iOS or Android and you can select if you have for example flash or quicktime installed or not. You can see all the combinations that they have from here. They also offer you to test your local dev site as BrowserStack does. You can even take screenshots of the site, record video and trace the traffic between browser and the server. They offer free 7 day trial with 60min of testing time so you can actually try if you like the service or not. CrossBrowserTesting is a bit more expensive than BrowserStack but then again they do offer more variety in choosing the testing environment.
General debugging tools
If you are using those IEVMS images you might want to also install some tools which help you tracing the bugs that you might encounter. Even though you don't have the some sort of de facto testing tool Firebug available for IE you can use it's smaller sister Firebug Lite to test your sites. It hasn't got all the magic that normal Firebug has but it still helps a lot in debugging stuff. Other great tool for debugging is Developer Tools for Internet Explorer. It's built in feature but it's only available for IE8 and IE9. For IE7 you can use IE Developer Toolbar but it isn't near as good as Developer Tools is for IE8 and IE9. Then you also have Debugbar CompanionJS which is a similar debugging tool than Firebug Lite.
So what is your favourite way to test your sites in Internet Explorer or do you just skip the testing until you-know-what hits the fan? :)