Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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?

share|improve this question
add comment

4 Answers

up vote 3 down vote accepted

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.

share|improve this answer
add comment

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

share|improve this answer
1  
Actually, it seems that the latest VMware Workstation version (7.0) added proper 3D acceleration support (WDDM 1.0). –  efotinis Jan 30 '10 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 '10 at 22:03
add comment

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.

share|improve this answer
add comment

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.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.