Testing Services provides a platform for QA professionals to discuss and gain insights in to the business value delivered by testing, the best practices and processes that drive it and the emergence of new technologies that will shape the future of this profession.

« Testing of Business Process Implementations | Main | Different BPM Products: What difference does it make from a testing perspective? »

Is your Performance Testing in an Agile SDLC really 'agile'?

Agile software development is seen as a value-driven method where cross functional teams are expected to deliver and respond to changes quickly and for the iterations happening throughout the development cycle. I have come across performance testing team working in agile projects complaining about burnout due to excessive testing and effort overrun. While an agile method promotes incremental development to changes, it creates quite a bit of challenge for the performance test team. Performance testing team expects a functionally stable environment to carry out tests and investigate performance issues but with continuous changes happening in the code it seems a distant dream. Once bottleneck is identified, performance tuning is done that involves isolating the code segment causing performance issue and rectifying it. However, continuous changes in the code and the functionality make it difficult to pin point the code causing performance degradation. Moreover, short sprint timeline for performance testing does not leave a room for deep dive analysis.

Nevertheless there are benefits too when performance testing goes hand-in-hand with agile development cycle. It is well known that the cost of fixing a defect is less when detected early in the life cycle stages. The objective of testing in the sprint is to test performance early and often. It becomes more costly to incorporate the changes related to performance when testing takes longer time. Performance testing team becomes an important part of the collaborative team and a continuous feedback to developers, architects, project team on application performance is provided which finally results in the delivery of a superior quality product.

To quantify Agility in a project a metric called Agility Measurement Index (AMI) is used which can be derived based on five dimensions - Duration, Risk, Novelty, Effort and Interaction. A low value of AMI indicator is a combination of short duration, low risk, low novelty, limited effort and with minimal customer interaction and that project is more likely suitable for waterfall model. To read more about AMI refer to the research paper titled METRICS AND TECHNIQUES TO GUIDE SOFTWARE DEVELOPMENT published by Florida State University. I believe similar agility assessment is required separately for the performance testing as well to take a decision as to whether the performance testing piece is really a right candidate for the agile cycle.

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)

Please key in the two words you see in the box to validate your identity as an authentic user and reduce spam.