Outsourced QA and Training

Software Testing with Real or Virtual Machines?

An ongoing debate in the field of software testing is whether or not to rely on test results gathered from testing on virtual machines (VM’s). In the last ten years or so, virtual machines have revolutionized the way software testers work. Before, the virtual machine revolution, testers would often spend their day in front of racks of computers to perform their day-to-day testing. These computers would each have to be setup to specific configurations and this would ultimately result in a large amount of additional setup time to perform each test.

Virtual machines allow a tester to deploy a test environment within seconds, and most testers rely on these today. However, there is a risk that certain defects can only be detected on a real machine, and may not be seen in a ritualized environment. The current trend shows that testers are accepting this level of risk and relying on the virtual machines. There is still much debate as to whether or not this is an acceptable risk, and to be fair will depend on each projects requirements and expectations of the test results.

2 Comments

  1. December 10, 2013    

    Hi,
    Great Post. Thanks for providing information about Software testing is real or Virtual Machines. I think this information will also help to company to Hire a Tester.

  2. jhertig
    December 12, 2013    

    ‘Accepting the risk’ of testing 100% on VMs is very often a bad decision.

    For early testing, VMs are very valuable and appropriate. They are cheaper, more easily customized, and have less impact from the inevitable crashes.

    For later testing, they are only a SIMULATION of reality. They don’t use real hardware/software, timing or workload. If you don’t ever run at least some tests on real platforms, you are setting your product up for unpleasant surprises when it is in the hands of customers and their real platforms.

    The relative percentage of VM versus real platform is where intelligent risk acceptance can be applied. An important factor to include is how GOOD the VM is. The best ones are quite close to reality, which implies that the ‘savings’ from using them is less. Another important factor is how interactive the product is with other users or products. Something which is ‘standalone’ is less vulnerable to the differences between the VM and reality than a product which has multiple users or interacts with other hardware or software.

Leave a Reply

Your email address will not be published. Required fields are marked *