Digital Serenity

Digital Serenity is the blog of John McPherson Leask III (Jay). His mind wanders from food to travels, every-day activities and humor to sports, podcasting and technology - though mostly the focus of Digital Serenity will be his technological exploits.

Web Development QA Testing

It seems I'm about to hit a month of no posting, so before that happens, let me share with you one of the biggest problems a web developer has: QA Testing across multiple browsers.

Back in 2000 when I worked for Modem Media the solution for our QA issues was a different box for every testing environment.  It worked, I walked over to the Mac and tested IE for Macs, I slid my chair over to that beautiful Windows 95 box and tested IE5, or whatever version it was.  The point is I had a box for every testing environment and it was beautiful.  The room was about 10 by 20, the temperature was about 10 degrees warmer than the rest of the office, but I was able to get my work done (yes, I did QA for a time, shut up).

But this isn't 2000, this is 2007 (what a difference 7 years makes).  It is no longer acceptable for there to be a full computer for every testing environment.  Companies are often being (slightly) more cost conscious then they were during "The Boom" and computers, and especially space, cost money - lots of money.

So where does that leave us.  Well, in the age of ... whatever age this is ... there is Virtualization; specifically related to Platform Virtualization in this case, more commonly talked about as Virtual Machines.

Virtual Machine:

"A self-contained operating environment that behaves as if it is a separate computer."

"A virtual machine is a machine completely defined and implemented in software rather than hardware."

"An architecture that is emulated for the purpose of portable bytecode execution."

Google Definitions Search

No matter how you define it, a Virtual Machine means your life is about to get easier.  But this post isn't about Virtual Machines, in general, it's about how they make your life as a web developer (or god forbid a QA for web developer) easier ... much ... much ... MUCH easier.

I know, you're sitting there going "but I already have a copy of IE6 that I didn't even have to install, I just unzipped it and I'm good to go!"  Sure, right up until you have to deal with a site that requires cookies or session state - I recently found this out the hard way.  So I began my research (yes, if Google ever went away I'd truly be lost) on what options I, as a Windows Server 2003 user, had.

And then I found it (here first): free downloads from Microsoft that will last through December of FULL Windows XP environments with user choice of IE6 or IE7 (separate downloads - and they're big).  The process is a bit ... interesting ... the first time around, but once you've done it it's cake.

  1. Download & Install MS Virtual PC - don't forget to choose 32bit or 64bit appropriately
  2. Download IE6 VM or IE7 VM (or both, if you're so inclined)
  3. Unpack the VPC image you just downloaded (I wanted to give you a cool screen shot, but the only thing I got was a lousy "do you want to unpack the Virtual Machine" popup)
  4. After unpacked you'll get three files:
    1. ReadMe.txt
    2. VPC_EULA.txt
    3. XP SP2 with IE6.vhd <-- or IE7
  5. Open Virtual PC and select 'File' > 'New Virtual Machine Wizard'
     Virtual PC Console > File > New Virtual Machine Wizard
  6. Follow the steps selecting:
    1. Select 'Create a virtual machine'
    2. Enter a name of your choice
    3. Select 'Windows XP' for the OS
    4. You can customize the RAM but I select 'Using the recommended RAM'
    5. Select 'An existing virtual hard disk'
    6. Browse to the VHD file you just unpacked
  7. Once you complete those steps and click 'Finish' you will get a new VM in the VPC Console
  8. Select this new VM and click 'Start' and you should be watching your "computer" boot up just as if you had started your own Windows XP box from scratch.

There are customizations, like turning off the proxy settings in IE, re-establishing the page file if you like, and anything else you can think of (like installing a back-dated version of FireFox for example).  The main point, however, is you can now test your websites in browsers that you'd otherwise not be able to install, and all it cost you is some hard drive space and download time (you're not paying per kilobyte, are you?).

Even Mac users no longer need a separate computer to QA on a Windows IE7, they just pull up their Parallels, open up IE7 and [insert magic word here] they're rollin' in the Windows bugs.

While researching Virtual Machines you'll find tons of great tips out there, but my biggest suggestion is find out what you need and keep each VM simple: only put on it what you need.  By having a different VM for different purposes you'll find life to be much easier.

So tell me, how do you do your QA?

Published Wednesday, September 12, 2007 3:02 PM by jleask
Filed under: ,

Comments

No Comments