We all know the importance of quality and time-to-market in a software solution. But as applications become more complex it may be cost effective to look into a Testing-as-a-Service (TaaS) solution, an outsourcing model for testing which is becoming more popular in the industry. What exactly are TaaS solutions and how do they differ from other solutions? And with the push towards more collaboration between development and test with Agile methodologies, is TaaS the right way to go? Read on to find out the what’s, why’s, and when’s of a TaaS solution.
What is Testing-as-a-Service?
As applications have become more complex with more complex testing requirements, organizations have looked for solutions to help them test and still have a return on investment. The cost of automation tools and the people with the skills required to properly execute those tools can be expensive. And some companies cannot afford to invest in best-of-breed solutions when testing and automation is not their core competency.
One model used to handle specialized test efforts is to augment the staff with highly-skilled consultants. Another option is to use “Managed Service” solutions where organizations pay for full-service testing efforts, paying for the people resources needed during the period of time when specialized skills are necessary.
“As a Service” solutions are becoming a popular way for organizations to get a service, without the investments or risks necessary by doing the work in-house. Often taking advantage of cloud computing and utility pricing, this model allows organizations to buy what they need, when they need it. Testing as a Service (TaaS) solutions are popular for complex testing efforts requiring a specialized skill set, expensive testing tools or a large amount of resources.
Rona Shuchat, Director of Application Outsourcing Services at WW IDC Services Research Group, says, “The reality around testing-as-a-service or on-demand testing, as some refer to it, is that different vendors are positioning different offerings under this term ‘TaaS’ or ‘On Demand Testing’.”
When would you want to use TaaS?
Certainly TaaS will not cover all of your testing needs. Regardless of test efforts that are outsourced, a good amount of testing should be done in-house when a project is under development. Unit tests, functional tests, and integration tests that require knowledge of the system should be performed throughout the lifecycle with a strong partnership between developers and testers.
However, for tasks that can be automated, but require a specialized skill set or tools, it may be best to use an outsourced solution rather than try to hire highly skilled specialists or purchase and maintain tools and testing environments.
Outsourcing testing efforts is best for specialized testing efforts that don’t require as much in-depth knowledge of the design or the system. Types of services that are well-suited for the TaaS model are automated regression testing, performance testing, security testing, testing of major ERP software such as SAP testing, or monitoring and testing of cloud-based applications.
TaaS solutions often use huge amounts of automation and prebuilt test cases, so would be appropriate for testing for regression bugs, performance and security in mission-critical production systems. With the TaaS model, organizations aren’t paying licensing fees or personnel fees. The TaaS utility model allows users to have access to the latest testing tools and expertise when they need it, at the volume needed.
An alternative to TaaS solutions might be to use a crowd-source model. Similar to TaaS, using an outsourced group allows an organization to only pay for what’s needed, when it’s needed. Crowdsource solutions also may take advantage of cloud computing so that organizations are able to test with large amounts of data without having to invest in the resources. Factors to consider when deciding between crowdsourcing and TaaS would be the relationship with the service provider and the ongoing need for their services.
Smaller businesses that have specialized testing needs may want to invest in developing the skills in-house. Again, in a TaaS solution there is no developer-tester collaboration. Tests that are written are done in a repeatable, methodical way that does not depend on development interaction or exploratory testing. On Agile teams, automated regression tests are usually developed by the development team using test-driven development (TDD) methods. These teams will not need to use TaaS for automated regression, but may consider using TaaS for performance or security testing if they don’t have specialized testers on their staff.
Specialized tests such as performance tests, security tests, automated regression tests or SAP tests can be complex and time-consuming and require expensive tools, resources and people. Testing-as-a-service is a model which will allow organizations to pay for what they need, when they need it. By using a consumption-based pay model, there is less risk and investment on the part of the organization. While this solution may be right for some test efforts, keep in mind that it won’t solve all your quality needs. Collaboration between development, business and test is still recommended for functional test efforts of new development and some organizations may choose to develop automation and specialized testing skills in house. However, TaaS solutions may be the answer to give your organization the state-of-the-art testing solution without the high price tag.