1

I have developed an application that I need to test on several operating systems, including Win98, XP, Vista, and Win7. I am wondering if using virtualization would give accurate testing results. Will the virtualized systems give the same results as if I installed OSs on real computers?

4 Answers 4

3

Yes, virtualisation is a brilliant platform for software testing apart from benchmarking or testing of drivers (but even that is doable with USB support).

You may also have problems if your software is related to real hardware such as hard drive file restoration utilities (under some circumstances), or maybe programs that specifically target a feature that is not passed through the virtualisation (e.g. years ago I remember having problems with c++ programs that directly use the CPU ticks).

However, for the average program, it is absolutely fine.

1

If your system supports hardware virtualizition, there isn't much between a virtual and a real computer, unless you require graphics acceleration.

2
  • 1
    Actually, it seems that the latest VMware Workstation version (7.0) added proper 3D acceleration support (WDDM 1.0).
    – efotinis
    Jan 30, 2010 at 21:51
  • VBox also offers 3D acceleration. but make no mistake, it's still no match for a real 3D graphics card.
    – Molly7244
    Jan 30, 2010 at 22:03
0

Virtualization is perfect for testing software, you can have masses of very similar instances, the difference being patches, installed software etc This allows you to very specifically test the software while all the time slightly altering the variables. Also it is incredibly easy to roll back to a 'clean' system and start in a different direction if needs be. We have a virtual system that we use to test the windows patches before they go on our main system, we see it as just good practice.

0

Virtualization is indeed the best way to test. The only two exceptions are if you are doing very specific hardware interfaces that talk directly to hardware (even then it is useful for some things like serial as you can capture to a file more easily). The second is if you need to test with multiple clients that communicate to each other AND time sync within the VM network. Note a network of multiple virtual machines works great and behaves as though they were all seperate machines. The two exceptions are extremely rare situations. Another advantage of using VMs to test is if you do automated testing through the UI and are using mouse/keyboard actions in the test. This can run without affecting the host.

You must log in to answer this question.

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