Virtual testing (software)

elefantfresh

Registered User
Messages
450
Pros/cons of virtual testing?
I'm thinking things like the hardware environment not being replicated etc. Emulation is emulation after all - this would lead to issues not being spotted etc? Of course, its quick and easy to flip OS's but that can be done with the likes of Ghost etc which WILL replicate environments.
Anyone got any ideas? Pros/cons?
 
By virtual testing, I'm assuming you mean the use of virtualization software such as VMWare? My view is that this is now a fairly well established way of doing things, especially when there are many platforms to be supported & reproduced. The technology is also being used in production environments, to replace aging hardware and reduce the server foot print.
 
It's a useful way of doing clean machine and destruction testing (e.g. pathalogical low diskspace or memory) testing etc. I've used VMWare and MS Virtual PC for this sort of stuff in the past. I don't see too many cons to be honest. One might be that the emulated environment can be significantly slower than the real/host environment depending in your setup.
 
Thats exactly what i'm talking about Clubman - I'm currently looking at both the apps you've mentioned (trial versions downloaded) trying to see what are the potential pitfalls. There does seem to be a large setup time with both of them regarding original OS setup. But once done - its the same with Ghost. However, I am wary that I am infact "emulating". Am I missing something here? Is using the likes of Ghost a more authentic representation of environments? I would assume it is. And in fairness, a Ghost image may only take 15mins to re-install. But the VM's are instant. My biggest concern is emulation. Any info you have at all would be great.
 
Unless you test on a exact clone of the hardware you will deploy on, you lose little if anything by testing on a virtual server. New virtualisation technologies on modern CPUs virtualise access to the physical hardware with an extra translation layer -- they don't emulate the hardware in software. Assuming of course you are writing business/presentation logic and are not making heavy use of hardware dependent subsystems like graphics/audio.
 
If you have spare real machines then maybe reimaging for testing is a better idea but if machines are more scarce or you need to do simultaneous multi OS testing then perhaps virtualization is better? Probably best to do a bit of research/searching on feedback on the pros and cons of virtualization testing before making a decision? I'd imagine that there is lots of info about this on the web?
 
Yeah, right enough Clubman - I spent yesterday playing with both of the above mentioned apps and they both appear very similar in function. Machines are scare (aren't they always) but i'm just not confident with the emulation. Isn't it essentially just another app running on the host OS? I mean, if i find issues, isn't it possible that the apps themselves are buggy and not what I'm actually testing? Isn't it just another possible point of failure? I'm leaning towards ideal for smoke test scenario or perhaps build verification but not for a 100% test pass. Does that seem sensible?
They certainly appear to do what i expected, i'm just afraid that i'm
missing something regarding a test environment.
 
Isn't it essentially just another app running on the host OS?
Yes and no. It's a virtualization layer above the physical hardware and not a normal application per se. However you are correct that it is not identical to running on the real hardware but I believe that it's "close enough". Probably best to do a bit more research to see what opinions others have on it elsewhere before making a decision.
 
Thanks guys for your help - just looking on qaforums.com - i'll see if i can find out more in depth stuff there. Still really nervous about this :eek:
 
if i find issues, isn't it possible that the apps themselves are buggy and not what I'm actually testing?

As opposed to testing without virtualisation, where the hardware could be faulty or the device drivers could be buggy?

There is no test suite that can catch all bugs. Unless you are testing hardware performance, or testing software with low-level hardware access, you don't lose anything by using virtualisation, and stand to gain a whole lot in terms of convenience.
 
Also, are all your users going to be using exactly the same hardware and devices, with exactly the same versions and revisions of firmware, device drivers, OS and patches? Unlikely. I think you'll find when you research it further alot of people are using virtual servers for what you need.
 
If you were testing something like office apps or web apps then its probably ok. If you were testing backup devices, networking or games then no.
 
Back
Top