Today, organizations are facing a lot of challenges associated with QA environments like unavailability of environments, lack of skills to manage environments, coordinating with multiple vendors who manage these environments, etc. These challenges inhibit the efficiency of QA teams, which eventually impacts the organization’s business. These inherent challenges, along with the cloud evolution, have been catalysts in driving organizations to explore possible cloud adoption for the creation of QA environments. Senior managers will learn about the challenges faced by organizations with regards to traditional QA environments, and the possible benefits that cloud adoption could bring to this space.
Challenges with traditional QA environments
Shared QA environments
Limited hardware assets leads to sharing of resources across different QA teams. The sharing of environments includes applications, middleware, databases, specialized software and testing tools between different groups, leading to delays in testing due to high levels of inter-dependencies and different work priorities amongst the different teams. Shared environments force non-functional testing like performance testing to be carried out in a scaled down QA environment, which lacks the exact simulation of business requirements.
Mismatch and unavailability of infrastructure
Testing often happens in QA environments where the underlying infrastructure does not comply with the recommended hardware configurations. Even if it did, QA environments are often unavailable due to routine infrastructure maintenance activities. The unavailability of QA environments within an organization forces teams to explore external service providers who provision infrastructure, usually with a lock-in period. This obviously increases the cost of the corresponding project, driving down ROI significantly.
Lack of a standard methodology for building QA environments
Non-availability of a cohesive method that includes building, using and managing test environments, significantly restrains the ability of QA teams to respond to business units that need QA environments. Further, non-standard practices lead to multiple cycles for problem identification, analysis and refinement of QA environments.
Lack of skills to manage QA environment
Lack of skilled teams to manage and maintain QA environments will lead to significant effort being spent in setting up QA environments. Skilled resources are expensive, which increases costs and makes it hard to procure.
No centralized team to manage QA environments
Organizations end up having isolated teams which support different QA environments. In certain scenarios, application development teams manage environment and data, while in others it is managed by infrastructure teams. Different teams follow their own processes for environment management. This leads to a lack of single ownership for all QA environments.
High level of multi-vendor coordination
To avail various testing services, test infrastructure tools, hardware, etc., organizations end up dealing with multiple vendors. Dealing with multiple vendors involves setting up stringent operational level agreements (OLA) in order to ensure delivery of the application, on-time and within acceptable costs.
Multi-vendor engagements often require close monitoring of the progress on projects with multiple vendor coordination involving leased environments, leased testing tools, etc. Besides the coordination challenges that get thrown up by this model, the burden on “management time” is immense.
QA methodology remains stagnant as technology evolves
Organizations fail to revise their QA methodologies to match technology evolutions like SOA and cloud computing. This results in validation gaps which lead to defect prone applications going live. With the evolution of technology, more applications are migrating to or are being built on newer technologies like cloud and SOA, which necessitates the need for the organization to have a robust QA methodology in place to test these new-age applications.
Is the cloud the solution?
A separate QA environment dedicated to application validation can address most of the challenges stated above. In the current traditional models, organizations end up owning many hardware and software assets or leasing additional infrastructure from external infrastructure service providers. Both these options increase the CAPEX of the organization which does not go down well in the current economic conditions with decreasing spends in IT. Traditional QA environments involve procurement and leasing which further delays application go-live due to factors like procurement lead time, contract negotiation with external infrastructure provisioning.
Businesses can find means to effectively address QA environment concerns with the adoption of the cloud. In the cloud, organizations will benefit from features like demand provisioning, elasticity, resource sharing, availability and security. Organizations will also be able to move from traditional CAPEX models to OPEX models, leveraging the on-demand and pay-per-use model of computing resources for their testing and QA infrastructure needs. This would result in significant cost savings for the businesses. The pay-per-use model can also help organizations reduce the maintenance overhead and help them focus more on their business rather than spending effort/management time over environment procurement/leasing, environment management and infrastructure vendor management.
With the adoption of the cloud, organizations would also be able to effortlessly bring in centralization of QA, thus putting an end to issues arising due to the lack of standard methodologies for building QA environments and non-availability of skilled resources.
The QA environmental need is the perfect opportunity for organizations to begin their cloud adoption journey before making any decision on moving applications to the cloud. Leveraging cloud for the QA environment needs will help organizations address their test environment challenges as well as help them achieve benefits like shorter release cycles, business flexibility and better business service levels. Businesses need to ensure that they have all the necessary roadmaps and knowledge to help them transform their traditional test infrastructure to a cloud-based test infrastructure.
Continue reading this story in The benefits of adopting the cloud in quality assurance environments.
The third part of this story continues in Determining the cloud model that best meets your business requirements.
Follow us on Twitter at @SoftwareTestTT and let us know what you thought of this article.
About the author:
Vijayanathan Naganathan (Vijayanathan_n@infosys.com) is a Senior Technology Architect with the Independent Validation group at Infosys. With 13 years of industry experience, he currently leads the Cloud and Service Virtualization service offerings for QA. His current work includes helping customers adopt cloud for QA environments, defining strategies and executing them for cloud based application validation. Vijay blogs at http://www.infosysblogs.com/testing-services/.