Testing environment management challenges with virtualisation

Virtualisation brings challenges and great opportunities for improving the delivery and management of environments for software development and testing.

Many IT projects have encountered environment related issues and defects that impact the test and development teams and are the cause of significant delays to projects. It has been estimated that up to 40 percent of effort during the software development life-cycle is wasted due to these types of issues.

Here we look at these challenges and how virtualisation can reduce the impact of them.

Challenge: Time to provision and configure new test environments:The lead time to obtain new hardware, deploy into the data centre and then install and configure the necessary applications and data is so long that it affects the organisation’s ability to respond to change and the time to market for change. For a not insignificant number of clients, this can be in the region of months.

Benefits of virtualisation

Although this activity is still required, server virtualisation technical resources can configure a template “image” of a server and\or application. With storage virtualisation template datasets can be created. Any time a new instance of a server or application configuration is required, all that is required is for a new copy of the image to be created; basically a file copy operation and a new instance of the configuration is available within hours and not days or weeks. Similarly different datasets can be cloned and attached to virtual server configurations. Combining multiple server and application images and datasets through network virtualisation allows an entire complex multi-system architecture to be encapsulated as a single independent and isolated object. Through a combination of these techniques, a library of ready to use servers, applications and datasets can be built and made ready to deploy. Provisioning can be done in a matter of minutes.

Challenge: Unauthorised change made to environments: Code and configuration changes are made in response to defects or other issues which are not tracked. This typically leads to defects and issues affecting production at go-live as the necessary changes are not tracked and so not applied into production.

Benefits of virtualisation

Virtualisation does not help prevent unauthorised change to be made to environments. However, as templates can be created we can revert to known states and verify testing against these whenever we require. Additionally, we can ensure that a “snapshot” of the final state of environments used during testing is retained. This can be used to check if there are differences between the test environment and production environment if defects are found in production.

Challenge: Insufficient environments or infrastructure available: Typically a compromise is established and environments are shared between testers and even across multiple projects. This results in testers affecting the validity of each other’s testing by altering the state of data (unless is it is very carefully managed and coordinated - a challenge in itself).

Benefits of virtualisation

Server virtualisation allows more servers to be offered using the same amount of physical infrastructure. By having more servers available we can provide more environments. We then start to reduce the number of issues and complications that sharing environments brings – reducing scheduling complexities, project interdependencies and the risk that testers can impact one another.

Join the newsletter!

Error: Please check your email address.
Show Comments

Market Place