In this article about performance testing process, you can read about end-to-end life cycle of performance testing starting from requirement gathering to final sign off. Below mentioned are the stages of performance testing.
- Requirement Gathering
- Test Planning
- Test Environment, Test Data & Monitoring Readiness
- Scripting
- Workload Modelling
- Test Execution & Monitoring
- Result Preparation & Analysis
- Performance Bottleneck / Defect Fix, Retest
- Performance Signoff
Requirement Gathering
All information required to start a performance testing is collected in requirement gathering phase.The key focus in requirement gathering phase will be in getting an understanding on system architecture, different system components available in the architecture and its integration with each other.
In requirement gathering phase information on scenarios, workflows ,components involved etc are collected. Volume used for performance testing is another important criteria.This discussion happens with developers,product owners,architects,infrastructure owners etc.
test planning
Test strategy and planning is the next phase after requirement gathering for an application. In this step, a test plan document prepared with below details by a performance test engineer.
- Overall Test Strategy
- Test Objective
- Scenarios or User flows
- Estimations – Resource and Timeline
- Risk & Mitigations
- Infrastructure and Capacity details
- In scope & out of scope
- Test Environment, Tools, Test Data and Monitoring details
- Timelines
Internal and external stakeholders will review and approve the test plan document before next process in performance testing life cycle.
Test ENVIRONMENT, Test data readiness and monitoring setups
Performance test environment should be similar to production environment. This helps in maintaining accuracy and reliability of performance results.
Data volume for performance testing should be based on infrastructure capacity specially incase if performance test environment is not similar to production environment in terms of its capacity.
Performance testing needs adequate volume of data to test a scenario more realistically. A full-fledged end – end monitoring setup has to created which helps a performance engineer triage a performance bottleneck. Multiple monitoring and log analysis tools are available in the market like Dynatrace, AppDynamics, New relics, Splunk etc . These tools will help to identify performance bottleneck quicker and easier.
scripting
In scripting phase, different tools like Loadrunner , JMeter, Neo load etc is used to develop performance scripts. These scripts might be an API based or a user interface based script. Scripts usually mimics the real user actions or load pattern. If you wish to read more about articles about JMeter, then refer JMeter Blogs
workload modelling
In workload modelling, number of users needed calculation done to simulate a load. It is calculated using little ‘s law. It helps performance engineer to design a realistic load while running a performance test.
test execution and monitoring
In execution phase different types of performance testing like Load test, endurance test, stress test etc are conducted along with a real time monitoring of client and server side metrics to evaluate applications performance. Based on the type of application and its business usage, performance engineer will decide about the types of execution needed for testing. To know more about types of performance test execution read this article on Types of Performance Testing
result preparations and analysis
In performance testing process, result preparation and its analysis is the crucial phase of entire performance testing life cycle. Performance engineer looks into different performance metrics like response time, throughput, error rates, resource usages, downtimes, outages and report them to different teams like development, infrastructure, devops and many more.
Performance Bottleneck / Defect FIX, Retest
In result analysis phase if a performance engineer is identifying a performance bottleneck, then performance test engineer will collect more data related to performance bottleneck and communicate with the relevant team with a defect. Developers will always be benefit by a detailed analysis and report on the identified bottleneck. Defects will help performance engineers to track the progress on fix for the identified performance bottleneck.
Performance Signoff
In the final stage of performance testing life cycle, an application is certified stating as “GOOD TO GO” to production followed by production monitoring.
0 Comments