In this post, I will talk about potential solutions to some of the challenges that I described earlier. The solutions to these challenges encompass technology, process as well as business aspects. While the “softer” nuances are often overlooked, they are typically the key to tackle the challenges effectively.
I have divided this blog into 2 parts so that we get to address the solutions in detail.
Methodical approach to Performance Testing (PT)
Challenge: Carrying out a complete Performance testing exercise is a comprehensive process and can be quite complex.
As mentioned in the previous blog, performance testing deals with continually changing technologies, large variety of user operating environments, collection and analysis of large volumes of data to name a few. Also there is architectural complexity associated with N-tier applications, which are made up of a large number of components residing on multiple machines. This increases the scope and complexity of testing.
Methodical approach ensures thorough testing of the Application under test (AUT). This approach should consist of a step-by-step guide directing the performance tester during the complete PT life-cycle. A typical PT lifecycle consists of the following major phases:
Performance test requirement/system study:
– Application architecture and environment
– Business process/scenario
– Work load characteristics
Performance strategy and planning:
– Detailed performance test strategy and planning document
– Workload modeling
– Define – Transactions, think time profile, run time setting, naming convention and scripting guidelines
– Define test data requirements
Test development and scripting:
– Test environment setup – load test tool, application
– Generate load test script and load scenario based on workload model
– Test data preparation
– Determine what metrics to measure and track
Performance test execution:
– Executing load/stress/endurance tests
– Measure response time, transaction throughput of individual transactions, understand how many interactive users the system can support on the given system, measure the utilization of system resources for every load test scenario, to verify whether the performance targets are met and establish the baseline metrics.
Performance test result analysis:
– Result analysis
– Detailed reporting and recommendations
In the next part I will address the challenges related to managing PT skills, tools, and frameworks.