Performance testing team should work closely with developers, business analyst (BA) and other involved Infra & DB team during planning, designing and test execution of Load, Stress, Endurance, and Volume tests with identified Concurrent user loads. Application critical user journeys should be identified, and performance SLAs/metrics should be defined in collaboration with the application SMEs, Infrastructure admins, Business analysts and key stakeholders based on application complexity, associated risks with respect to the changes/enhancements/new developments will be deployed as part of the release.
Performance testing will be conducted using open-source or commercial tools like Jmeter, LoadRunner, Neoload along with APM tools DynaTrace, AppDynamics, New Relic, Splunk, SolarWinds etc. to identify the potential bottleneck at different layers.
Performance testing team will execute required performance tests scenarios to ensure that performance has been met as per defined SLAs, along with assisting the development team in analyzing areas which needs to be improved.
We propose the following performance test approach based on general NFRs.
- NFR gathering and Planning
- Assess application technologies and frameworks
- Define the objective of PT and obtain performance targets (SLAs) & metrics
- Understand usages pattern and Identify workload distribution and
- Do usage analysis and identify business critical and data heavy transactions
- Identify performance risks and prepare mitigation plans
- Finalize performance metrics to be collected during performance test runs
- Test Design and Development
- Test environment readiness check
- Setup tools and frameworks
- Design and develop performance test scripts/ scenarios
- Run smoke test to verify scripts stability
- Test Execution
- Execute incremental user loads to set baselines, and carry out load testing against anticipated load
- Conduct load (concurrent user) tests to determine client response time and measure load statistics for each component
- Perform the application profiling using planned tools
- Test Result Analysis & Reporting
- Collect performance metrics and test result analysis
- Identify slow performing transactions and identify bottlenecks
- Compare collected results and confirm performance targets SLAs
- Track relevant metrics to measure application performance against the defined objectives
- Tuning and Re-test
- Coordinate with Dev team and other required stakeholders to get bottlenecks fixed
- Re-validate performance around impacted components and validate changes
- Validate achievement of performance targets
- Conduct regression performance testing to ensure there is no negative impact in other areas
Performance testing key deliverables – Below are the list of key deliverables to be shared with customer
- Performance Scope document
- Test Strategy/ Plan document
- Workload Model
- Test Scripts
- Final Test Results with interim results
- Analysis and recommendations if any