Performance testing approach for applications built on hybrid /Agile Methodology
Review Non-functional requirements (NFR) and determine the SLA’s - end user response time, transaction response times and system resource utilization
- Create hardware sizing model using following parameters - Workload, Transaction Complexity, Performance Targets and Technical Architecture
- Create workload characteristics
- Testing at ATS Environment To conduct performance profiling (using tool like HP Diagnostics) and capture the metrics for any given component,
- checking execution time
- number of database queries executed
- class and method level
- CPU usage every time there's a programmatic change
- Testing at BTS Performance Test Environment (production like) - Conduct full blown end to end performance testing at production like environment to certify / confirming compliance to performance, load, capacity and stress requirements:
The first phase focuses on single transaction profiling under single user and the max users that the transaction needs to support
- Single Transaction Profiling: Smoke test ascertains the most crucial aspect of stability to handle a small volume of messages. This proves as a quick check on the environment to accept high volume of messages of all types.
The second phase focuses on conducting load tests under varied and increasing user loads of 100%
- Load Test subjects the system under test to an expected load and understand the behavior of the system
The third phase focuses on conducting stress and Endurance/ scalability tests as required for the application under test
- Stress testing subjects the system under test to an increase in limits of its specifications / target loads. The goal of stress testing is to determine and ensure that the system functions properly within the set performance targets with increase in volume.
- Endurance / Scalability testing subjects the system under test with a significant load extended over a significant period of time, to discover how the system behaves under sustained use. It is intended to find any errors or system failures due to extended usage. Memory leaks, low available memory, disk space and other defects may occur when the system is subjected to maximum loads for extended periods of time.
Informative article
Very useful post Saravana...!! Thanks for sharing your experience.
A more detailed approach explained here https://www.youtube.com/watch?v=Ipu4YHI6HwI
well explained Saravanakumar T