Minimizing expense when testing webapps on Internet Explorer

Currently - my favorite methods of testing web applications for Internet Explorer compatibility at minimal expenditure of time, money, and pain are:
  • Virtualbox installations
    • PROS: Great performance and virtually zero hassle after initial setup
    • CONS: These are not easily shared, so every developer needs his own virtual machine which needs to be individually licensed
  • GoGrid on-demand servers
    • PROS: Instances can be shared by multiple developers so you only need to configure each virtual machine environment once. MS Windows Licensing is built into the on-demand pricing.
    • CONS: Performance is adequate, but screen refreshes are slow enough to be distracting. It takes about 15 minutes to spin an instance up.
With either method of obtaining a virtual machine, you'll have to decide how to handle testing for all the permutations you need to support. The "brute force" method is to create a virtual machine for each permutation of OS, Browser, Flash Player, etc...  There are some other options though:
    • Microsoft Expression Web SuperPreview for Windows Internet Explorer 
      • can be used to test basic IE6 support on a machine with a more recent version installed - but not a terribly accurate emulator
    • Internet Explorer 8 with Developer Tools installed
      • using "Compatibility" mode to emulate IE7 works well enough to debug javascript