One of the New Zealand government’s largest departments is migrating its software testing platform from the physical world to the virtual world, empowering its development teams to create and launch new testing environments in minutes. This revolution enables testing to commence at a much earlier stage and allows multiple projects to be tested in parallel. Not only does this reduce the time taken to complete projects, it also significantly improves both their quality and reliability.
The government agency has over 1000 employees spread across multiple offices throughout New Zealand.
The department’s software development procedures had exceeded their architectural limits; projects were taking longer than necessary and costing more due to the serial nature of the software development lifecycle. The impact of this was outages due to niggling issues that should have been resolved during the testing phases earlier in the project.
During a 2012 review of its corporate risks, the organisation’s Chief Information Officer identified several factors that were causing these issues. The software development testing environment did not accurately replicate its live environment, resulting in ineffective testing. Furthermore, it only allowed one project to be tested at a time, which created significant bottlenecks – especially as projects neared completion.
“Project performance didn’t match expectations and troubleshooting was difficult, especially when trying to reproduce an incident in the test environments,” explained Lee Clements, Technical Account Manager at VMware Professional Services.
“Our review identified the need for multiple isolated test environments that properly simulated production. They also needed projects to be tested at a much earlier stage in the software lifecycle – when it is easier and cheaper to fix coding and design errors,” he said.
Large projects have multiple teams working in silos and they were unable to test their code until all the teams had completed their tasks. This often resulted in gridlock, with components having to wait months before testing could commence; everything was sequential and dependent on the previous step.
Even after that initial delay, the test environment would have been left in an unknown state by previous testers so new projects would have to wait until the development and operations teams had reset the test environment – a labour intensive process that could take weeks to complete.
Several development projects were approaching the test phase, and given the cost of acquiring and provisioning multiple new physical requirements, suddenly it became economically beneficial to invest in a shared fully-virtualised test infrastructure. The department spent several months engaging with experts in the field before committing to a design blueprint that was created by VMware Professional Services and implemented by its technical partner IntegrationQA.
“The option to build more physical environments wasn’t practical because of the pain already being felt with the current system – it would have added to their problems,” said Chris Wellington, Test Architect and Director at IntegrationQA. “What they needed was the ability to provide componentised system test environments where they can analyse system behaviour before it is integrated into a complete solution,” said Wellington.
The demand internally for a consolidated virtual testing platform had been gaining momentum as a number of disparate development teams had searched for a more efficient solution. By consolidating all of the development teams testing needs and building on its successful history of infrastructure virtualisation, approval was given to build a proof of concept.
VMware’s vCloud Director was used to generate and provision multiple virtual test environments that could be called up at lighting speed by the development team. “With vCloud Director, users are able to self-provision an environment chosen from a catalogue and begin testing,” according to the department’s Project Manager.
To fully simulate middleware and back-end systems within the virtual environments, Parasoft’s Service Virtualization was implemented to generate synthetic transaction loads.
As a result, development projects could be tested in a highly accurate virtual clone of the department’s live environment. Projects could also be tested in parallel, eliminating many of the sequencing bottlenecks previously experienced by the development teams.
The multiple virtual environments created a new set of performance optimisation opportunities, which are analysed using Splunk. This real-time monitoring tool reports on the performance of each component of the new system and provides developers with instant feedback on how their projects perform with each code revision.
This combination of technologies created a testing environment that has now been proven technically capable of revolutionising the software development lifecycle.
The new infrastructure provides developers the freedom to choose a suitable environment from a service catalogue and they can be testing their code within minutes. The virtual environment is inherently superior to the previous environment because it replicates the live environment right down to the component level, without multiple physical dependencies.
“Their user acceptance test environments, performance test environments and production environments with vCD now have the capability to be truly homogeneous,” explained Clements.
This avoids the frustration and risk generated when developers spend a significant amount of time creating and testing components only to find they don’t function correctly when transferred to the production environment.
Moving to a virtual environment has massively increased the efficiency of the whole system because it also allows multiple environments to be running at the same time, allowing different projects and project components to be tested and developed in parallel. With the previous system, the agency’s test staff complained that it could take weeks to provision a suitable test environment. Now they have proven it possible to complete that task in just eight minutes.
The department staff are far more confident when delivering completed projects because the test environment is identical to the production environment, so there are no more nasty surprises when projects are finally tested on the end-to- end system.
Overall, the department’s executive team have deemed the project successful since they have proven that these tools can be used to change the way in which environments can be structured, isolated and operated.
Parasoft’s industry-leading automated software testing tools support the entire software development process, from when the developer writes the first line of code all the way through unit and functional testing, to performance and security testing, leveraging simulated test environments along the way.