Service Virtualization – Completing the Cloud Story
Today, a common issue faced by QA teams is the non-availability of QA infrastructure for carrying out their validation exercises. Organizations that have applications in the production phase need at least four to five unique sets of pre-production environments for system testing, performance testing, user acceptance testing and automated regression testing. However, creating these environments using physical infrastructure increases the CAPEX of an organization.
Organizations can overcome this issue by using the existing and underutilized environments for varied QA needs by consolidating, virtualizing and sharing them across different lines of business. However, this approach would require investments in virtualization software, having dedicated teams to manage the environments and renting infrastructure. After organizations overcome their issue of environment availability for QA needs, they face a larger challenge of gaining access to legacy systems or dependent systems for enabling end-to-end business workflow testing. Moreover, the testing teams would also face challenges like waiting for the setup of test environments and delays in accessing expensive test tool licenses, etc.
Let us consider a scenario where a payments processing engine (PPE), hosted in a traditional QA environment is undergoing changes. Let’s also assume that this PPE system would be interacting with two other major external systems (legacy and data warehouse) which are currently unavailable. If the organization is to perform an end-to-end test of the PPE system, then access to both these external systems would be needed. Acquiring access to a legacy system is expensive and is available for a very short time, i.e. say two hours. Further, the data warehouse system is not available in a pre-production environment. Such constraints and dependencies on external systems lead to subsequent delays, increase in time–to-market and CAPEX, which brings down the overall testing efficiency. The resolution for organizations in similar situations is to adopt service virtualization for all external dependent systems.
The cloud can partially address the delays in environment setups by quickly creating images of various environments which comprise of the machine configuration, an operating system, data bases and test data setups in underutilized environments. The QA teams can chose an image that meets their needs from a cloud service provider’s catalogue and quickly implement the same. This approach cuts down the provisioning times from ‘months’ or ‘weeks’ to ‘minutes’. As long as you are able to provision and manage dependent systems in the cloud the QA teams can operate efficiently. In the event of over utilized systems, the moment an external dependent system moves out of cloud, it becomes very challenging to gain access to expensive external systems such as mainframe and legacy systems.
In underutilized environments, solutions like hardware virtualization or the cloud provide ease and flexibility in provisioning resources, but it doesn’t help overcome system dependencies like gaining access to the expensive external systems. Virtualizing the external dependent systems using service virtualization helps overcome these issues in testing environments.