Tools and Framework
Challenge: Simulating large number of users
This is a challenge since pricing for commercial tools is on a per virtual user basis. Licensing cost associated with large number of virtual users may prove to be cost prohibitive
– Open source tools and in-house accelerators: Often times, use of expensive commercial tools can be avoided, by considering solutions involving more cost-effective ways of handling PT engagements. Over the years Mindtree has developed powerful accelerators around JMeter to overcome its inherent limitations related to scripting/debugging (Mindtree PT Scripting Helper Toolkit), large scale distributed load generation (Mindtree PT Framework) and reporting (JMeter Aggregate Reporting Framework)
Combination of open-source tools and in-house accelerators can be a good low cost solution for overcoming the challenges associated with simulating a large number of virtual users in diverse operating environments.
– Partnerships with load testing tool vendors: On few occasions you have to rely on commercial tools to devise solutions for complex problems. Partnerships with tool vendors would help you not just build competency in the tool but also devise solutions using the tools.
– Cloud based load testing: Cloud based load testing can provide elastic scaling that is critical for large scale load simulation. Over the years many tool vendors have embraced the “cloud” and have come up with OnDemand/SAAS based load generation model (e.g. HP SAAS). This is certainly a good alternative to evaluate if your performance test effort requires large volumes of load to be simulated
Skills and Expertise
Challenge: Paucity of skilled Performance testing engineers
In order to be able to execute the above phases successfully, it becomes imperative to build and nurture a specialized team for performance testing: PT is much more than the ability to create scripts using a particular tool. A dedicated team is needed that can:
– Specialize in the classic PT phases such as performance test strategy planning, scripting performance scenarios, execution, reporting and analysis that all tie into the performance objectives for the AUT
– Understand technologies and challenges and come up with relevant solutions at a faster pace
However the dedicated team created may not always possess the requisite skills for advanced performance engineering activities. In order to resolve the issues found through Performance Testing, individuals with specialized performance engineering skills such as database tuning, application code profiling are needed. Hence it becomes imperative to have ready access to a virtual pool of experts that can work in conjunction with the dedicated team, on demand. These experts may not be a part of the dedicated team, but a slice of their time can be utilized, as required.
I have tried to provide a glimpse of the solutions that we have devised to overcome the challenges associated with PT. Needless to say, these solutions are continuously evolving to keep pace with changing technologies, product performance goals and end customer requirements.