By Jon Tonti
Methodology for software development is one of the fastest evolving segments of technology project management. Long dead is testing on a post-development cycle basis. As a percentage of development time and cost it varies, but nobody can deny that it is weighty. Testing is adapting to accommodate the demands of software development methodology – hell-bent on cutting waste and turning out deliverable code in short iterations. As a result, the Cloud is emerging as a turbo-charged catalyst for achieving faster, more accurate development cycles.
It almost goes without saying some of the most appealing attributes of IT services outsourcing/nearshoring (fast acting scalability, lower cost and domain specialization) are some of the same qualities that make software testing in the Cloud so promising.
Yet, many companies have significant investments in capital expenditure (capex) based IT infrastructure and the human capital to support it, transitioning to take advantage of the new computing paradigm that is cloud cannot happen overnight. Despite that, software testing supported over a cloud-based environment is one of the best places to get your company’s feet wet according to Warren L. Ross, Global Director of Cloud Services at Softtek.
Testing’s First Mover Advantage
“Testing is one of the best places to start gaining knowledge about the Cloud,” said Ross. He mentioned that the licensing fees for testing software and maintaining the skilled people to run it are expensive and less scalable than a cloud-based approach. And that scalability may be more important than ever.
“Development teams are turning out code at a pace that makes it hard for testers to keep up, so the automation tools and testers have to be available to scale up when needed,” he added.
Ross mentioned Softtek uses HP testing tools under HP’s software as a service (SaaS) umbrella, tools like Agile Accelerator, Perfecto Mobile, ALM synchronizer, PPM tools suite, QC tools, etc. throughout Softtek’s nine global delivery centers (GDCs) under the follow the sun model.
“When you shift paradigms and are building and migrating apps it really makes you look at process maturity”
The benefit of moving testing to the Cloud has the same benefit as moving other IT assets to the Cloud, says Ross. “The capex based economic benefits of eliminating software licensing fees and hardware as well as opex (operating expense) reductions from providers’ scale and the high utilization rates they get out of their servers reduces total cost of ownership substantially; by 70 percent for one client of ours,” remarked Ross before going into the less talked about, but more important in his opinion: IT value and business value associated with Cloud usage.
“There is a striking difference when it comes to availability and performance between what a company can get in their own data center verses in the Cloud. IT control as well, the Cloud is month to month whereas ITO contracts tend to be very long. Finally, elasticity – especially with respect to testing – is a big benefit of Cloud,” he added.
In terms of business value, Ross talked about the paradigm shifts of mainframe, client-server, web, and now Cloud.
“When you shift paradigms and are building and migrating apps it really makes you look at process maturity.” That process maturity has come a long way in the testing environment over the last 10 to 15 years. Once upon a time it came into the project life cycle late, was rushed to fit the available time left, contributed little to quality, and was expensive.
“In the process of testing we are always collecting a lot of information about the development process; where frequent errors are occurring and what the development team’s evident skill weaknesses are to ensure there are less errors in the next round,” stated Maria Clara Choucair, manager of Corporate Development and founder at Choucair Testing S.A. Choucair (who was a top ten finisher in the 2011 edition of the Nearshore Americas Power 50) expressed the same sentiment as Ross when talking about the process maturity growing up around testing in general and especially testing within an agile environment.
Testing as a Service (TaaS)
To say that TaaS and cloud based testing are complementary would be an understatement, in fact they are almost synonymous. Sure, not everything cannot be tested on the Cloud yet, and depending upon the nature of the business on site testers and testing infrastructure can absolutely remain desirable, but for many scenarios it already makes sense, and the breath of scenarios is ever-widening given the maturation of cloud based testing.
The Cloud already supports the following types of testing: Stress, Compatibility, Load & Performance, Functionality, Latency, and Browser Performance.
As mentioned earlier, the benefits of Cloud in the testing dynamic are just the same as cloud-based solutions for other IT functions. It is the exact model that the late John McCarthy predicted in the early 1960s, that computing power and applications would at some point be sold as a utility like electricity or water; always on, pay as you go, and you pay for the flow resources that are needed.
Just the same as outsourcing any activity to a provider that can take advantage of economies of scale, scope and skill (ex. high volume of testing, reuse of test cases, access to highly specialized staff), a cost reduction and quick-reliable service can be expected.