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!
IEVMS (free)
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)
BrowserStack is a paid 3rd party service where you can test sites with different browsers. They have IE 6-9, Firefox 3-7, Chrome 12-15, Safari 4-5.1 and Opera 10 & 11.5. They also have the debugging tools preinstalled so you can just start debugging your javascript problems right away. You can even test the layouts that you have only on your hard drive or the local dev site you have set up on your dev environment. BrowserStack also offers you to test your site using different resolutions so you see if something doesn't fit to the browser window when using for example 1024x768 resolution. They offer 60 minutes of free testing time so you can test the service and see if you like it.

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.
If you want to do some performance testing there is this wonderful tool dynaTrace AJAX. With dynaTrace AJAX you can actually trace which part of the page is lagging and for example find the slow javascripts that are jamming your site in IE.
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? :)



Comments
IETester Permalink
1. December 2011 - 17:08 - jmarkel (not verified)
You've left off one of the best (and almost certainly the easiest) options - install Windows 7 in a Virtual Box (or Parallels or VMWare) virtual machine and install IETester (http://www.my-debugbar.com/ietester/index_all.php). IETester is a browser which incorporates the rendering engines from IE 5.5 through IE 9. If you can still dig up the IE 10 preview release from somewhere it'll include that, too.
No expiration, and no multiple VMs - all versions of IE in one place, and you can load the page being tested in all IE versions at the same time.
I'm a bit skeptic on all Permalink
1. December 2011 - 17:26 - Ilari Mäkelä
I'm a bit skeptic on all testing utilities that try to run multiple IE versions under one operating system. As I mentioned in the post these IE collections might not render correctly. And there is also the thing that this kind of approach fits for one person. But what if you have 10 or 20 persons in your organization that needs to be able to test with IE? You have to buy a Windows license for each of them.
You're right Permalink
5. December 2011 - 14:25 - marcvangend (not verified)
You're right, in my experience, all-in-one IE test tools are not reliable. I have seen colleagues spend hours on some IE bug that appeared in a similar program, only to find out that it didn't occur in a "real" IE installation.
For a multi-user solution, wouldn't it be possible to set up VM's on a server and access them with remote desktop connection?
Yeah that is one possibility Permalink
5. December 2011 - 15:28 - Ilari Mäkelä
Yeah that is one possibility but I don't know if you can use those Windows images in that way. Like does their licence allow this kind of use. Or did you mean that you would actually buy Windows licences for virtual machines?
No, I mean using the free VMs Permalink
5. December 2011 - 17:24 - marcvangend (not verified)
No, I mean using the free VMs available from Microsoft (or create one yourself with a valid license), placing them on a server in your local network, and accessing it over the network with a remote desktop. I have read that, with the right configuration, Windows can even handle simultaneous remote desktop sessions. That said, I don't know if the MS license does allow this.
ie9? Permalink
2. December 2011 - 16:43 - mths (not verified)
What is wrong with the dev options in IE9 that allow you to render a site as if ie6/7/8?
I intalled W7 in virtualbox solely for testing sites in IE that way.
Again I'm repeating myself Permalink
2. December 2011 - 17:11 - Ilari Mäkelä
Again I'm repeating myself but when you try to run multiple versions of IE using one codebase you never know if your page rendering actually is done correctly. This is because the actual multibrowser installation doesn't have all the same codebase (dll's and such) than the single browser setup. It shares some of the codebase. Here is one good article on this thing http://bit.ly/qduDH7
I run IE6, 7 and 8 on a Permalink
2. December 2011 - 17:04 - Felipe Fidelix (not verified)
I run IE6, 7 and 8 on a single XP Virtualbox using IECollection:
http://utilu.com/IECollection/
It renders everything accurately, from my experience.
See my reply on this same Permalink
2. December 2011 - 17:12 - Ilari Mäkelä
See my reply on this same thing above. Though I disagree with that article in that sense that you should run different versions of IE on separate operating systems.
IEVMS automatically creates a snapshot Permalink
2. December 2011 - 19:01 - Ashok Modi (not verified)
Its interesting because I was installing using ievms this past week :) The script from xdissent automatically creates the snapshots of the various versions for you so you don't have to do so manually (just revert back to the snapshots it made). I do agree that it takes up a large amount of room, however.
Yes it does, I totally forgot Permalink
2. December 2011 - 19:04 - Ilari Mäkelä
Yes it does, I totally forgot it :) Thanks for the correction! But as a side note you may want to install all the debugging tools and then take another snapshot so you don't have to start from scratch after three months.
concurring Permalink
20. January 2012 - 12:31 - Hans (not verified)
Can agree on many levels with the article. Here's our take on the situation at hand http://www.mrhenry.be/blog/2012-01/63/internet-explorer-debug-on-osx
In the end, it seems virtualbox is numero uno to go, when wanting to check on ± devices/setups.
Add new comment