Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have an app that I want to test under several different installation scenarios. In particular, I need to validate the behaviour when the app is installed over the top of previous installations of that app.

I have VirtualBox installed with a WinXP host.

For sake of example, lets say I am wanting to test Version 3.x of the application, when installing it on:

  • 1 - a "clean" Win XP installation (i.e. freshly installed XP)
  • 2 - a Win XP installation with Acrobat installed
  • 3 - Win XP with version 1.x of the app installed
  • 4 - WinXP with 2.x installed
  • 5 - win XP with 2.x installed over 1.x

Because it is likely several compile-build-test cycles might be needed it is important that I be able to return the testing VM(s) quickly to each of the above starting points. At first I imagined I would be able to start with a clean XP VM and then add each of the scenarios, saving a new VM at the end of each step. At the end of this I would have 5 separate VM's that I could start from that saved state, and easily return to that saved state, but now I'm unsure as to how to go about this, or even if it is possible to go about it in this way with VB.

What is the best way to go about this - One VM or many? Snapshots or exported/imported appliances?

share|improve this question
up vote 0 down vote accepted

VirtualBox, like VMware (and many other virtualization tools), creates system profiles and virtual hard disks.

If you create a VM called, say, "XP test blank". All you need to do is navigate on your drive to the location of the folder holding that VM, and copy it. Make as many copies as you need, and add each to the VirtualBox inventory (with new names, of course).

share|improve this answer
OK, so I find the vdi file, say at E:\VirtualBox Machines\WinXP\WinXP.vdi on my PC. I copy it to WinXP2.vdi. Do keep it in that folder? Or do I replicate the folder structure. Can I take the original VM, install my app v1.x, exit VM, create copy, start VM, install my app v2.x, exit VM, create copy, etc, etc i.e. take the VM through the successive stages and copy the VDI file and thus creating my VM images at each stage? – rossmcm Jul 9 '11 at 15:32
Oops. Forgot to add the @Warren tag. – rossmcm Jul 10 '11 at 2:39
@rossmcm I always just copy the whole folder – warren Jul 10 '11 at 4:11

I do this as part of my daily work and over time I have found that separate VMs are best. You can start with a base XP install, then copy the hard drive file. Within each scenario, with a separate VM you can then make snapshots to return to a specific starting point in the scenario. The primary benefit of using separate VMs is if you run into issues you can continue testing on other scenarios while keeping the problem VM quickly available. I use VMWare workstation but a similar process can be applied to VB.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .