Advertisment

Software Testing as a Service

author-image
PCQ Bureau
New Update


Advertisment





Typically, software testing is done either internally using the infrastructure that exists within the organization, or then is outsourced to software services providers. At the IT service provider's side, software testing underwent a long drawn evolution cycle. From ad-hoc practices within different business units, it gradually evolved to a centralized Managed Test Center approach, and finally towards institutionalising a Testing Center of Excellence (TCoE) within the organisation. The final stage of the evolution cycle of testing has manifested in the form of Testing-as-a-Service (TaaS). Today, Testing-as-a-Service is being increasingly considered a viable testing model by many organizations to achieve reduced costs and improved service for their IT test requirements. As per industry reports, the worldwide market for software and systems testing services will reach over $56 billion in 2013-14 (about 20% of end-user spending). Out of this the potential for managed test services may account for nearly USD 30 billion (~53%)..

Advertisment





The need to move on the cloud

Depending on the enterprise requirements, the amount of infrastructure utilized can be increased or decreased to manage the existing load through the benefits of a pay-per-use model. There are four key factors which govern the process of taking an existing application requirement to the cloud. These elements provide the appropriate framework for delivering enterprise ready testing on the cloud.

Advertisment

- People - Subject matter experts with domain knowledge, test experience, management.

- Processes - Well developed test process and methodology which would generate more test cases in specific domains.

- Governance - Relationship management, QA Project management office, productivity, demand management, risk mitigation.

Advertisment

- Infrastructure - Public or Private Cloud based test environment, test automation, tools/partners, test ware management.

Since, there is no standardized approach to implementing TaaS, enterprises need to undertake a thorough assessment specifically around testing. This assessment exercise will lead to the formation of a right cloud environ­­­­­­­­­­ment, load, risk analysis, mitigation and governance for the enterprise. The discovery and portfol­­io analysis process is an important phase that sets the right expectations with the stakeholders, produces a cohesive testing roadmap, and ultimately leads to the greatest ROI. TaaS can be used in the following scenarios:

Advertisment

1. Functional testing — In a continuous integration kind of scenario, TaaS could be a platform for creating an agile based functional testing environment

2. Load Testing — TaaS could be used for creating various kinds of loads to stress test applications. The scale-in/scale-out nature of cloud comes in handy for generating variable loads.

3. Performance and Benchmark testing — For ISV's, looking to create benchmark reports for their products with their standardized test suites, TaaS can be used

Advertisment

4. Regression testing — Applications which are in maintenance mode, can make use of TaaS to run regression tests of previously written test scripts.

Advertisment

5. Mobile application testing — Mobile applications can be tested on TaaS. TaaS provides a realistic platform to test mobile applications, and leverages the key advantages of cloud to test application performance using cloud based content delivery networks (CDN) distributed across multiple locations around the world, effect of network latency and this will be testing on a live network.



Benefits of a TaaS on Cloud

A major advantage of using the Testing as a service, especially a Public Cloud is that it is a highly scalable model; a major improvement as compared to an internally managed model. Enterprises need space, servers etc. to handle any on-demand computing needs and a public cloud model ensures that the capacity needs can be immediately fulfilled. Also, when deploying testing configurations, the environment is created using certain specific tools. These testing tools can be easily deployed on a public cloud at a faster rate than in the enterprise's own environment as it requires customized testing. A public cloud deployment is also much quicker compared to testing in an internal environment as it has a standardized hardware and computing power.

The TAAS model also offers licensing benefits since test tools, hardware, application licensing or even operating platform (unix, linux etc) are managed by the cloud. Additionally, using standardized testing processing and tools can yield a 10%-20% cost reduction due to increased quality and Test Automation from cloud deployments show a 5%-10% revenue enhancement.



Challenges

At times, testing environments are quite unique to clients and the biggest challenge faced when implementing TaaS on the Cloud is the involvement of certain legacy applications. This is because some of these systems software and hardware cannot be easily replicated on the cloud. So one needs to consider creating a hybrid model which deals with working on a public cloud, with a simultaneous connectivity to the enterprise's own data centre. The legacy environment can then be connected to the public cloud in the same testing environment. The speed at which the test environment is created is another possible disadvantage.

Advertisment