Success and accurate testing in a virtual environment is all about making sure your virtual machine is running with the correct configuration and with a detailed test plan for planned reporting at each stage. Planning a testing procedure is often the most difficult stage of any application testing because make mistakes here and you can undermine your test results. Plans for testing in a virtual desktop differ greatly from Hypervisor testing, but both should follow basic principles.
Exhaustive vs. Optimal Testing in Virtualisation
For anything more than a very basic application, it’s almost impossible to perform exhaustive testing because the combinations of variables such as test environment and user interaction would be almost limitless. That’s why it’s important to rationalise and test instances that are most likely to cause problems.
For example, someone testing an operating system on a virtual machine would know that multiple users may cause problems, but opening editing and storing files as single user would be relatively low risk and would not warrant a great deal of test planning or recording of results. The important thing to remember is that testing only reduces the chance of bugs appearing during use. It’s almost impossible to ensure an application is bug free.
Running Virtualisation Continuously
App testing should begin very early in the lifecycle because bugs are easier to fix when code is fresh in your mind and you only deal with one at a time. This is why it’s a good idea to have virtual machines running constantly with fresh deployments at regular stages. Virtualisation on Dell Windows Servers running Hyper-V will not hardly affect your ability to function so there is no need to worry about loss of resources. If you are testing regularly and not finding faults then you are not testing properly. It’s almost impossible to write code to a plan without coming across unexpected issues, especially when you are testing across multiple virtual machines.
Virtualisation and Contextual Testing
Just like a testing a website with personas in scenarios, your app testing plan is only as good as the context testing procedures you plan. Virtualisation will help you identify defect clustering in the early stages where specific modules do not react as planned and you may suspect those modules of being high risk before testing.
Complex areas of code will eventually work well if you run the same tests repeatedly, but the pesticide paradox comes into play if you do not alter the environment or testing context. In some cases, you can do more harm than good if you concentrate on eradicating the problem before you test with multiple variables to establish the cause of the bug. Again, careful planning will help minimise what could quickly become exhaustive testing.
Being part of the Dell team, I know we have a great range of virtualization solutions available, which can be found on our site. Visit the site and browse the solutions on offer.