VMWare Rocks

I’ve been using VMWare for configuration testing. This is a program that lets you run multiple virtual “computers” in windows on your desktop. It runs on Linux or Windows NT/2000. Each virtual computer can have any Intel-compatible operating system (Any flavor of Linux, DOS, and all flavors of Windows work fine.) Each virtual computer gets its own IP address, its own hard drive, and access to the CD-ROM and floppy, and acts exactly like a real computer. You decide how much RAM to allocate to your machine.


I’ve got a computer set up with a huge hard drive and 512 MB RAM for this purpose. It took all week, but I set up a couple of dozen operating system configurations: everything from Vanilla Windows 98 to Windows NT 4.0 to Windows 2000 to XP. I have entire domains running all on virtual machines; at one point I was running three machines at once: a domain controller, a machine with SQL Server 2000, and another machine with IIS. This allowed me to test really difficult FogBUGZ installation scenarios all on one computer.

The coolest thing is that you can create “undoable hard drives” on your virtual machines. So every time I ran SETUP and it didn’t work, with one click I could wipe out all the changes I had made to the hard drive and go back to a pristine Windows installation. (Testing on pristine computers is essential. Otherwise you may ship an installer which works perfectly on your developers’ computers, because they have all kinds of goodies loaded, but which simply does not work on typical users’ computers).

This is such an excellent product that I think every tester, developer, and product support person should have it. It’s also a great way to try out scary software (like Windows XP, Office XP, or the .NET Beta) without messing up your primary computer. It’s a nice tool for product support: when a user calls up asking for help with a procedure in Windows NT 4.0, you can instantly boot up Windows NT 4.0 in a window and give them exact instructions for what to do. Finally, it’s a nice way to run Linux software under Windows and vice-versa. I highly recommend it.

(I do have one complaint about VMWare… every time you create a virtual hard drive, it’s unpartitioned and unformatted. It took me almost three days to install an NT 4.0 system from scratch, because I had the hardest time figuring out that the NT 4.0 installer requires a FAT 16 formatted hard drive. It would be trivial for VMWare to ship some formatted “hard drives” on their CD-ROM).

Software takes ten years in Russia too.


About the author.

I'm Joel Spolsky, co-founder of Trello and Fog Creek Software, and CEO of Stack Overflow. More about me.