1. What is Performance Testing?
Performance Testing is a software testing process used for testing the speed, response time, stability, reliability, scalability and resource usage of a software application under particular workload.
The focus of Performance Testing is checking a software program’s in:
- Speed – Determines whether the application responds quickly
- Scalability – Determines maximum user load the software application can handle.
- Stability – Determines if the application is stable under varying loads
2. Why do Performance Testing?
The main purpose of performance testing is to identify and eliminate the performance bottlenecks in the software application.
- The goal of Performance Testing is not to find bugs but to eliminate performance bottlenecks.
- Performance Testing uncovers what needs to be improved before the product goes to market.
- Without Performance Testing, software is likely to suffer from issues such as: running slow while several users use it simultaneously, inconsistencies across different operating systems and poor usability.
- Performance problems are difficult to recognize during operation, so it insidiously causes great damage to the system.
- Hence, performance testing is important.
3. Types of Performance Testing
- Load testing – checks the application’s ability to perform under anticipated user loads. The objective is to identify performance bottlenecks before the software application goes live.
- Stress testing – involves testing an application under extreme workloads to see how it handles high traffic or data processing. The objective is to identify the breaking point of an application.
- Endurance testing – is done to make sure the software can handle the expected load over a long period of time.
- Spike testing – tests the software’s reaction to sudden large spikes in the load generated by users.
- Volume testing – Under Volume Testing large no. of. Data is populated in a database and the overall software system’s behavior is monitored. The objective is to check software application’s performance under varying database volumes.
- Scalability testing – The objective of scalability testing is to determine the software application’s effectiveness in “scaling up” to support an increase in user load. It helps plan capacity addition to your software system.
4. Common Performance Problems
Reference: