For the past couple of years I’ve been trying to get a reasonable setup for testing Internet Explorer on my Mac. With the recent release of IE 8 RC1, I thought it might be a good time to revisit my browser testing setup.
I use an Apple Macbook (the black one) with OS X 10.5 and 4GB of RAM as my sole machine. With my Mac I should be able create a reasonable setup to test all major web browsers. I’m less interested in testing all OS and browser combinations simply because that seems unreasonable for most projects.
Operating System and Browser Testing Combinations
The following is the list of OS and browser combinations I want to be able to test; each OS has browsers listed in the order of which I care most about supporting:
- OS X 10.5
- Firefox 3
- Safari 3
- Windows XP
- IE 7
- IE 8
- Firefox 3
- IE 6
- Firefox 2
Developing on a Mac, I’m always running things in OS X 10.5 / Firefox 3, making the combination always supported. I will also occasionally checkout how Safari 3 is doing while developing, although it’s usually fine.
When in browser testing mode (not developing new features) I’ll run through the Windows XP / Firefox 3 and Windows XP / Firefox 2 combinations; mainly to checkout how the font-renderings are holding up in Windows.
I feel that I’ve found a testing setup that will allow me to carry out my browser testing process much easier than I could in the past.
My Browser Testing Setup
Let me just say, VMware Fusion 2 is awesome, simple to use, and works really well; much better than the 1.0 version. Initially after buying Fusion 2 I setup a virtual machine for Windows XP SP3 with an old XP install disk I had laying around. I installed all the updates, including IE 7, and also put Firefox 3 on; basically this is my standard Windows XP VM.
Now I just have a standard Windows XP VM, I still need to have a way to test IE 8, IE 6, and Firefox 2 on Windows XP. In the past I’ve messed around with trying to install multiple versions of IE and Firefox on a single OS instance. My experience with that approach has been that it’s hard to manage and update, and is pretty crufty. This time around I wanted something simple, more straight-forward, and standard.
I thought about what I have, a self contained virtual machine; it’s up to date with the latest service pack of Windows XP and the latest production versions of IE and Firefox all wrapped up into a single package-file on my MacBook. It occurred to me that since VMware Fusion is a hardware emulator, that I should be able to copy the .vmdk (Virtual Machine Disk) file that is contained in the VM’s package contents and create another VM using the copied disk file.
I created two copies of my Windows XP VM’s vmdk file for two new virtual machines to use. I created one VM for IE 8 (XPSP3IE8 and had it use one of the vmdk copies for it’s disk); which I downloaded and installed Internet Explorer 8 RC1 on. For the other new VM (XPSP3IE6 which used the other vmdk copy), I uninstalled IE 7 which reverted to IE 6, and also installed Firefox 2. This process left with me 3 virtual machines of Windows XP SP3 each set to use 512MB or RAM: one has IE 7 and Firefox 3, one has IE 8, and the other has IE6 and Firefox 2.
This approach feels much better for multi-browser testing; no hacks, no cruft, and easy to maintain. Another useful feature of VMware Fusion is Unity Mode, which allows you to have application windows from VMs present on your host machine’s (my MacBook’s) desktop. Meaning you can have IE browser windows on your desktop as if they were native to your Mac.
My browser testing setup should now hold me over for the projects to come and help me get new and existing web projects supporting IE 8.