by Ravikumar Bhadravathi Narasimha
Today, organizations are facing many challenges associated with QA environments, such as unavailability of environments, lack of skills to manage environments, and coordinating with multiple vendors who manage these environments. 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. In this paper you will learn about the challenges faced by organizations with regard to traditional QA environments, and the possible benefits that cloud adoption could bring to this space.
The recent sharp downturn in the economy is forcing organizations to reconsider their approach towards IT investment. In a world where companies are more focused on improving efficiency and return on capital employed, senior management need to re-consider how they can reduce their technology investments, or get a higher return on the same or incremental investments. Small and medium-sized companies need fast, secure, and scalable IT infrastructure in order to cope with their business requirements. But these companies lack the ability to have this setup in their own premises. The reason could be the huge capital investment that is required for the growing needs of the IT infrastructure, or the staff and expertise to administer it. This becomes a burden and prevents them from focusing on their core business. Hence there is a need to migrate to cloud computing, a solution to rescue organizations so they can focus on their core business rather than worry about investing in and maintaining their IT infrastructure.
Cloud computing is actively revolutionizing the traditional IT scenario. It is all about paying only for what you consume. It is a legitimate way for companies to significantly lower infrastructure costs while improving operations. Cloud computing enables low cost and rapid system deployment. Its unlimited computing resources and pay-as-you-go model allow each business to scale according to its actual business activity and pay only for what it uses.
Testing is a vital phase in any software development and maintenance initiative and is crucial to enhancing user satisfaction and reducing support costs. Frequently changing requirements coupled with a reduced development life cycle have increased the pressure on testing teams to do more with less. However, testing requires organizations to invest in people, tools, and environments and can take up a significant percentage of the available budget. But quality can never be compromised. Getting IT’s attention and finding enough hardware and software to set up test beds, including test tools with the required licenses, is a problem faced by testers at many companies. And that holds back production. The testing of applications over the past few years has been a very slow process. There were a lot of people involved and it could take four to eight weeks just to get them and set up the tests. New ways of development and testing are enabling organizations to ensure higher quality, but with a significantly lower investment in setting up development and testing environments.
Cloud testing is a means of testing cloud-based applications that use resources found in the cloud. By resources, we mean any element (hardware,
software, and infrastructure) necessary to carry out the tests. Cloud testing provides an end-to-end solution that transforms the way testing is done and can help an organization boost its competitiveness by reducing the cost of testing without negatively impacting mission-critical production applications. Cloud testing leverages cloud computing resources and models to enable all aspects of testing to be undertaken in a highly cost-effective manner. By leveraging a cloud computing solution for testing, organizations can shorten provisioning time because the cloud enables provisioning of test servers and testing tools on demand. This helps ensure unused servers are not sitting idle.
2. Challenges with Traditional QA Environments
As software applications become more critical for business changes, the software development process is becoming more agile, distributed, and non-cohesive.vThis, along with the emergence of a global delivery model, has resulted in smaller distributed teams operating independently for development, testing, and integration. To support these kinds of development processes and the need for continuous testing, organizations
spend a major part of their budgets in setting up test environments and on automated tool licenses, as depicted in Figure 1.
The inherent challenges with traditional QA environments, coupled with external market forces, are driving organizations to explore new ways
of maximizing the return on their investment. Some of these challenges include the ones also depicted in Figure 1.
▪ Shared QA environments: Limited hardware assets lead 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: Nonavailability of a cohesive method that includes building, using, and managing test environments, significantly restricts 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 them 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 use 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 theevolution of technology, more applications are migrating to or are being built on newer technologies like cloud and SOA, which necessitates that the organization has a robust QA methodology in place to test these new-age applications.
A separate QA environment dedicated to application validation can address most of the challenges stated above. Traditionally, a testing lab would be a large room with many servers running different variations of an operating system. This is usually a large investment that requires maintenance even when the servers are not in use. To support a dedicated test lab initiative, an organization would need to put the following infrastructure/resources in place:
▪ Target testing environment, similar to production environment
▪ Multiple target software platform for compatibility testing
▪ Skilled professionals to design, develop, and execute test scripts, and analyze the results of the tests
▪ A good test automation software with multiple virtual user licenses
▪ Sufficient bandwidth for simulating real life scenarios
▪ Any other equipment required (firewall, switches, etc.) to simulate a realistic environment Setting up a dedicated, in-house test lab comes with its own set of challenges. Some of the major ones are:
▪ Infrastructure: Hardware and software resources, establishment of proper tools and processes, and other resources like bandwidth. This creates a strain on the overall budget.
▪ Scalability: To ensure that software works in a real life situation, it needs to be tested in a real life environment. It is not easy for an organization to create a scalable infrastructure that simulates the production environment.
▪ Cost: There is a major capital investment required to own a proper test lab. Since most of the cost is a fixed cost (hardware, software, tool licenses) it also creates the challenge of allocating budgets to this kind of investment and justifying the ROI.
▪ Availability of skilled engineers: Skilled test engineers, especially automation engineers, are not available easily and are very expensive. Cost, along with the other challenges involved in such an initiative, causes decision makers to compromise on critical aspects such as regression coverage and release software without completely validating load, performance, and scalability testing.
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 of decreasing spends in IT. Traditional QA environments involve procurement and leasing, which further delays application go-live due to factors like procurement lead time and contract negotiation with external infrastructure provisioning.
3. Cloud Adoption for Test Environment
Cloud computing has opened up new opportunities for testing departments. Testing has traditionally required expensive dedicated infrastructure
and resources that were only used sporadically. The growing complexity of business applications also made it harder to build and maintain in-house testing facilities that mimic real-time environments. Businesses can find the 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 on environment procurement/leasing, environment management, and infrastructure vendor management. With the adoption of the cloud, organizations would also be able to effortlessly bring in the centralization of QA, thus putting an end to the issues that arise due to the lack of standard methodologies for building QA environments and the non-availability of skilled resources. Major technology vendors are presently collaborating to create huge cloud ‘test beds’. ‘Test beds’ consist of many thousands of processors working together as centers of excellence in cloud computing. These test beds will allow users to test their cloud deployments at internet scale and also understand how their systems and software actually behave within the cloud. Cloud computing, as depicted in the following diagram, reduces the cost by providing a test environment and easier provisioning. Scaling up and tearing down of a test environment is possible within a very short time, sometimes within minutes. This, along with ‘on demand’ testing services from testing service providers, also helps organizations to reduce CAPEX as well as OPEX.
Cloud computing is a new approach to deploy/test applications “over the Internet”. Cloud testing utilizes the same computing concept of extending current testing paradigms using a shared, scalable, ‘on-demand’ testing infrastructure that is allocated on a “pay-as-you-go” basis. This model provides an unparalleled flexibility of ramping up and tearing down a testing environment at short notice. A new test harness can be launched in the cloud with all the necessary configuration work completed, including operating system, software, etc., in almost no time. Organizations need not procure any servers, tools, or licenses – they just need to hook up, deploy the software, test, and only start paying for the resource usage. The same efficiency applies to shutting off a cloud environment – just cancel what you do not need. The cloud testing model’s flexibility reduces much of the capital cost, risk, and effort associated with establishing an appropriate testing environment for the enterprise. More importantly, organizations can focus on their core capabilities.
The two possible options for choosing the right test environment are:
▪ Simulating an in-house cloud test environment
▪ Choosing the right cloud service provider Whether it is an in-house setup or cloud, selecting the right infrastructure is critical to testing. 4. Setting Up an In-House Cloud Test Environment Organizations use different forms of clouds (IaaS, SaaS, PaaS), and in various combinations, to roll out a cloud-based test environment to gain a competitive edge. There are three cloud computing models, depending on the type of service provided, IaaS (infrastructure as a service), PaaS (platform as a service), and SaaS (software as a service).
▪ IaaS – infrastructure as a service: Infrastructure as a service provides infrastructure capabilities like processing, storage, networking, and security that allow consumers to deploy their applications and data. This is the lowest level provided by the cloud computing paradigm.
▪ PaaS – platform as a service: Platform as a service provides application infrastructure such as programming languages, database management systems, web servers, and applications servers that allow applications to run. The consumer does not manage the underlying platform including networking, operating system, and storage. IaaS and PaaS services may be used to set up or acquire an on-demand testing infrastructure and environment that is close to or simulates the target production environment. Virtualization is a major part of most cloud services providers’ infrastructures. The ability to consolidate multiple cloud services onto fewer physical servers provides tremendous efficiency benefits by reducing costs, space, and power consumption. Being able to move virtual machines (VMs) supporting cloud services from one physical server to another also
allows for efficient use of resources in matching time-of-day demand. It also expedites the reaction to any detected performance issues. Cloud
testing puts unlimited resources at your disposal. A virtual lab services hould be built as a testing environment in the cloud. A virtual lab varies
from about 20% to 70% of a real lab. A virtual lab should be hosted for the user and ready to execute whenever the user requires it. You pay
only for what you use. Desktop compatibility testing will be more efficient and effective if virtual machines in the cloud are set up with different images as per the organization desktop image standards. These virtual machines can be used (acquired and released) by multiple projects to certify applications on various standard images. However a process should be in place to address following aspects:
▪ Refresh each virtual machine to pristine state (configuration) after each test.
▪ Ensure that each virtual machine has current and latest image.
▪ Mechanism to place virtual machine usage requests and allot them based on availability chart.
▪ SaaS – software as a service (test tooling from the cloud): Software as a service is the most sophisticated model, hiding all the underlying details of networking, storage, operating system, database management systems, application servers, etc. from the consumer. It provides the consumers with end-user software applications most commonly through a web browser (but it could also be through a rich client).
The SaaS service may be used to give testers access to various tools, such as test management tools like quality center and test director; functional
testing tools; automation tools like QTP or Selenium; performance testing tools like LoadRunner or JMeter; or security testing tools like Nessus
Vulnerability Scanner and WebInspect.
SaaS offers great value in using test tools from a cloud environment, recognizing the dilemma of cost and license commitment that many organizations face when wanting to use test tools. Test tools can be offered from a service perspective, using these tools on a short term,
on-demand basis. Whenever a new project needs to employ test tools for a short-to-medium amount of time, cloud-based test tools can be used.
In addition to the benefits of greater flexibility in tool usage, there is also a reduction in license fees and the elimination of tool maintenance will further increase cost savings.
Cloud computing can carry out performance, scalability, and stress testing in a timely and economical manner. With the cloud, it is easy to provision servers at a speed and cost that would be impossible with traditional methods. You can easily launch different kinds of open-source stacks and even licensed servers like Windows Server 2003 or 2008 with practically no time and money, install testing software on these servers, and run the tests. With cloud computing, we can acquire the necessary amount of servers as well as different variations of the operating system and testing environments: in other words, we can test faster. Then we can decommission the servers when we are not using them.
The cloud provides the opportunity to create scalable testing environments that can be easily ramped up or down to meet the immediate needs of your testing organization. Whether this type of scalable solution is an appropriate fit for your organization is dependent on the idle time of your development and testing infrastructure throughout the year. If most of your infrastructure is in use, or your infrastructure is inadequate, then a straight investment comparison of own versus rent/ lease should be possible. On the other hand, if much of your development and test infrastructure remains idle throughout the year, then leveraging a cloud-based solution may alleviate your overall infrastructure cost.
5. Testing as a Service (TaaS)
Though having a cloud infrastructure solves most of the challenges related to a test lab, organizations still find it difficult to find skilled testers who can prepare test strategies and perform test design and test automation. ‘on-demand’ testing or ‘testing as a service’ offered by leading testing service providers can help organizations in overcoming these challenges. In this model, the service providers take over the complete cloud testing initiative. This helps to maximize the ROI, as internal resources are freed up and can be deployed for other core initiatives. This also helps to convert fixed costs to variable costs. The flexible scale offered by the service providers also helps to shorten the test cycle, resulting in a faster time-to-market. Availability of all standard hardware, software, test automation tools, and bandwidth ensures that almost all types of applications can be tested for optimal performance and throughput using real life scenarios on pay-per-use basis.
Testing in cloud computing has relatively low entry barriers. Cloud-based testing is on-demand and billed per use. The advantages of cloud-based
software testing are worth noting, but the high cost of developing a cloud-testing framework has put off many of the software firms. To address this issue, companies are dependent on third-party companies with a test framework they have developed in their data centers. These third-party companies also provide trained testers, as well as automated tools for testing purposes. This type of service is popularly known as TaaS or testing as a service. Using this service, companies can remove the cost for on-premises and frameworks. Furthermore, testing services are provided on an hourly basis and companies can buy the testing services depending on their requirements. vMany organizations (cloud service providers) already provide cloud-based testing services (see Table 1), such as performance testing, load testing, and Web-based application testing, as well as the testing of environments hosted in the cloud. There are many industry-standard frameworks that are available, which can be used to build a cloud environment for testing applications.
The primary benefit of cloud-based testing is reduced costs for putting up, maintaining, and licensing internal testing environments. For example, Amazon’s cloud tested a network management system for a voice over IP telephony system for less than US$130.6 Other benefits include the flexibility to acquire a testing environment as needed, and global market access for both vendors and customers. Despite these benefits, other costs are less obvious and more difficult to evaluate: testing in the cloud requires special technical skills to generate test cases and scripts, and providing and monitoring security might also incur additional costs.
6. Development, Test, Acceptance, and Production
To achieve a robust level of quality in preparation for production, it is a best practice to use separate environments for development, test, acceptance, and production ‒ the DTAP model. With IaaS and PaaS solutions, cloud test environments need to be virtualized parts of that environment. This both makes implementation easier and facilitates the execution of the different instances in the cloud. These virtualized testing environments can be added or removed from the cloud at will, thereby providing a flexible option to create test environments (including the necessary configuration) whenever needed.
Development environment: Cloud solutions are uniquely well suited to creating development environments because they are often relatively small in size (IaaS and/or PaaS).
Test environment: The use of cloud solutions for test environments is highly dependent upon the nature of the applications, information systems (whether administrative or technical), test levels, and test types. The applicability of a cloud-testing environment also depends on criteria like test data, dependencies, and interfaces.
Acceptance environment: A public cloud solution is less suited to acceptance testing than a traditional environment. It is often necessary to use (production) test data, and therefore private and hybrid cloud solutions seem the most appropriate for acceptance environments, or parts thereof. Whenever the infrastructure needs to be upgraded to a “production-like” infrastructure, the environment can be stepped up, and after the tests have been carried out it can be stepped back down.
Production environment: These can also be created, providing “cloudready” applications.
7. Benefits Delivered by Cloud-Based QA Environments
Let us now look into the key benefits delivered by cloud-based QA environments:
Dynamic and scalable provisioning: With cloud-based QA environments, organizations can quickly provision/de-provision virtual machines on
demand, drastically reducing the provisioning time from several months to a few minutes. This ability to scale gives organizations an edge with high quality services and diverse QA environment requirements. It also helps businesses focus on core areas, by reducing the time spent on procurement operations.
Reduced time to market: Test cycles have always been seen as critical paths for release to production. Cloud adoption in a QA environment facilitates faster on-demand provisioning of resources, an increase in productivity, and shorter lifecycles for application development and testing which significantly contribute to faster time-to-market. Interestingly, in traditional QA environments, 30% of defects in an application’s production phase were primarily due to wrongly configured test environments. Cloud eliminates this, thus reducing time-to-market immediately. Greater environment control: With the cloud adoption for QA environments, multiple channels requesting QA environments for various projects are consolidated into a single channel, significantly reducing server and application sprawl. This leads to better control over the environment.
Reduced TCO (total cost of ownership) and improved resource utilization: The ability to share environments due to virtualization improves resource utilization, thus reducing the associated costs of hardware and software licenses. Cloud-based QA environments deliver significant cost savings of almost 50% on IT support costs, helping organizations move from a CAPEX to an OPEX mode.
8. Operational Challenges for Testing in the Cloud
Despite the clear benefits or bright upside, there are still some areas where testing on the cloud will have some limitations and of which organizations need to be aware. Organizations must contend with a different set of challenges in their quest to reap the cloud’s benefits. Cloud-based testing poses different challenges to in-house testing. There are other factors that must be considered before moving testing assets to a cloud-based solution. These factors do not involve the capacity of cloud-based testing solutions – the capacity is certainly there.
From a cloud-testing service provider’s perspective:
Cloud Security: Fundamentally the nature of cloud computing means the data of one consumer is often stored alongside the data of another. Security in the public cloud remains problematic or is still a major concern – with major security incidents happening on a regular basis. The main cause for concern is that the data may be stored in a remote location beyond an organization’s legal and regulatory jurisdiction. To some extent that challenge is being met through encryption, which is often used to segregate data-at-rest, but this is not a cure-all, and a thorough evaluation of the encryption systems used should always be undertaken. Encryption techniques currently available today are considered insufficient.
If your production environment has not moved to the cloud and you have not created obfuscated test data, then you are exposing your organization to significant security risks by moving testing to the cloud. The question to ask is, “Am I exposing my organization to additional risks by moving to a cloud-enabled testing solution?” If the answer is “yes”, then a proven risk mitigation plan needs to be put in place before moving testing assets to the cloud. Procedures are being developed to improve security and performance in the public cloud. For instance, service providers are developing virtual private clouds and client partitions. Also be aware of associated expenses, such as the cost of encrypting data to assure its security in the cloud.
Cloud Performance: As public clouds are shared by numerous users, there may be cases where a company might have to wait for the required bandwidth. There may also be cases where a service provider may suddenly announce a disruption to its service due to a maintenance window or
network outage. Some of these issues can be resolved by working closely and proactively with the service provider.
Lack of Standards: First, there are currently no universal or standard solutions to integrate public cloud resources with user companies’ internal data center resources. Public cloud providers have their own architecture, operating models, and pricing mechanisms and offer very little interoperability. This poses a big challenge for companies when they need to switch vendors.
Legacy Systems: Most types of services and systems can be virtualized, including legacy systems, but 5-10% of all systems cannot. However, by using robust interfaces with these legacy systems, the risk posed by that disjunction can be reduced. An example might be using a VPN connection between the cloud and the client’s own servers to create a connection between legacy and cloud systems.
Cloud disaster recovery is not necessarily built in just because the test infrastructure is in the cloud.
From a cloud-testing service user’s perspective:
Planning: Test teams should also rigorously plan their test environments and test infrastructure, and arm themselves with security and greater control over data, from utilization periods through disassembly. They should also be aware of the associated expenses, such as the cost of encrypting data, before putting testing in a cloud environment, since these requirements will consume additional CPU and memory. It is important to monitor the utilization of cloud resources to avoid overusage and over-payment.
Choice and usage: Improper choice of cloud-based use and pricing options is another risk. Improper usage of cloud-based test environments can
increase cost. Even though some vendors offer pay-as-you-go cloudbased testing services, they are only cost-effective when the right plan and servicer provider are chosen for the anticipated needs (e.g. space vs. RAM vs. bandwidth). This approach can be expensive or out of sync with requirements, particularly if user estimates are too conservative or wildly overblown. Costs can quickly spin out of control if resource estimates differ wildly from actual usage. Companies that apply pay-as-you-go approaches must first perfect their cost models or apply process-driven estimates rather than utilizing projections that are unsupported by data. Infrastructure requirements: Some cloud providers offer only limited types of configurations, technology, servers and storage, networking, and bandwidth, making it difficult to create real-time test environments. It is vital that infrastructure requirements are rigorously set, because the very flexibility that the cloud offers for testing environments can itself be a risk if the requirements for those environments are inappropriate. Results will then be poor, and negative perceptions of the cloud as a test environment will result from what was really an inattention to requirements around the infrastructure. Using a simple checklist will help reduce this risk to a minimum.
Service Level Agreements: The terms and conditions of cloud service are sometimes hard to understand, misleading, and biased toward the vendor. Such areas include clauses governing the integrity, preservation, location, and transfer of data. Companies would do well to be diligent and proactive in sorting through these issues with their vendors.
9. Incremental Cloud Adoption Model for Testing
Money talks, and the chance to cut costs and move from CAPEX into OPEX means cloud service adoption will continue to rise and rise. To that extent, serious engagement is not optional –it is imperative as the opportunity is enormous. Looking forward, we anticipate an incremental take up of testing on the cloud, see Figure 4.
Short Term: High profile cloud Solutions, such as the announcement by the UK’s Royal Mail of cloud-based enterprise architecture, are inevitably going to boost credibility and drive adoption. That said, imperfect understanding of the cloud means that organizations will look to service providers for advice rather than exploratory projects, with a gradual adoption of SaaS offerings.
Medium term: Cloud solutions, and consequently testing, will gather momentum, and offerings will gain maturity. Organizations will increasingly implement their development and test environments in the cloud, and performance testing in the cloud will become more routine through a managed test line model. Increasingly activity will focus on building private, hybrid and public (test) clouds and testing cloud-based applications for a growing number of adopters. That will create a need for more services based on assessment, implementation, and strategy. Cloud-ready applications and cloud-based applications will come on stream at speed. Figure
Long Term: Cloud will become a full model for computing, but as an additional platform rather than a replacement for mainframe and client/ server. Service providers will develop a broader base of offerings from the test cloud business models, such as creating cloud-based test environments, testing on cloud-based environments, testing cloud-based applications, using SaaS for testing tools, and becoming a broker for test cloud services. There will be a corresponding decline in demand for infrastructure/data center services.
The QA environmental need is the perfect place for organizations to begin their cloud adoption journey before making any decision on moving applications to the cloud. Leveraging the cloud for the QA environment’s 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. In years to come, more and more organizations will implement their development and test environments in a cloud environment, and agile performance testing will become mainstream.
It is recommended that organizations explore and evaluate their internal QA environment infrastructure for conversion into a secure private enterprise cloud. In the event of unavailability of internal infrastructure, organizations need to partner and engage with an external cloud service
provider which has the ability to provide the infrastructure for QA as a service in a pay-as-you-use model.
The real opportunity to cut the costs of test environments in private, hybrid, public, or community clouds lies in both their management and maintenance. When cloud resources are not needed, they can be ‘turned off’ cheaply and efficiently, and then ‘on’ again as necessary, without
implementing the environment again. Cost savings achieved through such infrastructure optimization can be reinvested by the organization into core business projects to bring in the much needed innovation to drive overall enterprise sustainability and market relevance. Testing in the cloud has not only reduced the cost of testing, but it is of great help to software firms that lack the resources and other requirements to set up an in-house testing department. It provides such firms with the required test environments and tools. Moreover, in a cloudbased testing environment, companies can hire testers on a contract basis without providing them access to the company’s internal network. Using the TaaS service, organizations can save 50-70% of their cost of testing, including test infrastructure costs. Businesses need to ensure that they have all the necessary roadmaps and knowledge to help them transform their traditional test infrastructure into a cloud-based test infrastructure.