Ensuring good application performance is crucial, especially to critical web applications, that require fast cycle times and short turnaround times for newer versions. How can such applications be optimally tested without spending a fortune on tools, technology, and people but still ensure quality assurance and on-time release? With tightening budgets and time-consuming processes, IT organizations are forced to do more with less.
A judicious combination of tools, the available cloud platforms, and well thought out methodology provide us the answer. While it is proven that open source software can reduce software development cost, there hasn’t been much use of open source tools for testing until the cloud computing paradigm has become more readily available. Until now performance testing on a large-scale testing project using test tools on dedicated hardware to model real-world scenarios has been an expensive proposition. However, cloud testing has changed the game.
Performance testing on the cloud can be broadly classified into two categories:
- Cloud Infrastructure for Test Environment – Performance testing always requires some sophisticated tool infrastructure. The test infrastructure requirement could vary from having specific hardware for specific tools, the number of hardware, licenses, back-ups, Bandwidth, etc. In the past, getting all the required hardware was not only challenging but also in many cases, the performance testing was not adequately tested due to missing test tools. With Cloud testing, one can just focus on performance testing and simply not on the infrastructure. Any tool be it open source like Grinder, JMeter, or any licensed software products like Silk Test Performer can be easily set up and run the test on the AUT (Application Under Test). There is some time required for setting up the tool and also requires few test runs to ensure the load injectors (the client machine that generates load) do not cause bottlenecks. This environment may be best suited in a typical waterfall model scenario where the software is evaluated and tuned at the end of the software development cycle.
- Cloud as a Test Tool – There are different sets of software testing tools that are readily available in the Cloud as a SaaS model. The test tool is readily available on the cloud, therefore no setup required, just subscribe and you are all set to go thus saving time in setup. Also, their system configuration is optimized to generate the required load without causing the bottlenecks. Some of the readily available test tools on Cloud are – LoadStorm, CloudTest by SOASTA, BrowserMob, nGrinder, Load-Intelligence (Can Use JMETER in Cloud), etc. This environment is more suited in an Agile scenario, where the same tasks need to be performed for smaller iterations from the initial stage of the SDLC itself. So, here you just have the scripts ready and upload to the cloud run the test and once you have the requirement metrics, you sign-off.
Conclusion – A combination of carefully selected testing tools, QA testers, readily available cloud platforms, and a sound performance test strategy, can make bring the same benefits as of the conventional methods at a much lower cost.