Cover Stories

Virtualisation and Testing


What is virtualisation?
Virtualisation is a strategic way of deploying resources. It does away with the cost and labour of physical devices. In the testing environment, it offers the possibility of having multiple operating systems reside on the same physical machine. This therefore allows applications or software bee tested in there own virtual machines. The hardware can be partitioned in such a manner that Linux and Window OS can exist side by side on the same machine. The virtual machines share hardware resources without actually interfering with each other. This is the core of server virtualisation

How virtualisation works?
Software known as a Hypervisor then takes a layered approach to management, acting as a mediator between these Operating Systems and the hardware that they reside on. The hardware is partitioned so that the virtualized solutions can run side-by-side, sharing resources as needed and without interfering with each other. The Hypervisor manages the operating systems, and keeps a strict list of hardware requirements minimizing the risk of not having the drivers that it needs. Most implementations of virtualization use a Storage Area Network (SAN) to link virtualized servers together so that software doesn't necessarily need to know whats going on within the resource it is relying on, as long as the resources are available to the software as it expects them to be. This approach allows applications to operate within their own containers, or virtual machines.

Do you need server virtualisation technology?
Server virtualization creates virtual machines (VMs) that run separate operating systems. The result is that the VM operates as if it were a separate server with its own operating system. One advantage of server virtualization is its flexibility server virtualization allows multiple operating systems to be present on a physical machine. A disadvantage is the ability to run fewer virtual machines on a single host due to the operating system overhead. Again, the organizations requirements determine the right choice. For example, if different operating systems are pervasive throughout the organization, the added flexibility of hardware virtualization may be their best choice. It must however be mentioned that virtualisation does not yet lend itself to load or performance testing.

Virtualisation and testing
While testing has now become core to the implementation of most applications, project managers and testers are still faced with the same problems of time to allocate to testing. This arises from the fact that in most test systems the testers do not have the time to perform the test itself. Over 50% of the testers time is used in getting the environment ready, getting the testers the necessary access rights, loading the applications to be tested onto the test environments. It even becomes more complex with applications that have multiple dependencies. It is not unknown for all this processes and work orders to take up to a month to resolve in some cases. In a virtual environment, this can be ready without the recourse to creating a job lot for IT to create the necessary environment
The tester can create his/her own test environments in a few hours.The cost benefits are enormous.

-Article by QAGUILD analysts
posted on 20/04/2008