There are different types of Performance Testing. Performance testing is a non functional testing. In this type of testing functionality of the application is not tested. Non functional performance requirements of the applications are tested.
In real-time multiple concurrent users would be accessing the web application/web services concurrently. So, performance testing is very important. Some of the types of Performance testing are as follows:
- Stress Testing
- Load Testing
- Spike Testing
- Capacity Testing/Scalability Testing
- Soak Testing
Stress testing as the name denotes we will stress the application under test and determine how the application behaves. Testing the application under abnormal and extreme conditions and check the application behavior. The main reason for this kind of testing is to determine the safe usage limits of the application under test.
Load testing is a type of performance testing that is used to determine the application performance under normal real production load. Load testing is done for multi-user systems like web applications/web services.
For example, in load testing technique, we will check the web page load times of the web application under concurrent user load that mimics the production 1x load( Concurrent virtual users that is equivalent to the production load) . Load testing will check the application and page load times under concurrent user load. This is to ensure that the page loads faster than the agreed SLAs.
Testing the website for unusual spikes in the traffic. For example, An e-commerce website would get a 4x spike traffic in the production load during festive season. In spike testing we will test the application under spike 4x, 5x production loads. We will check if the application sustains the spike traffic.
In Soak testing the application is tested for long periods usually 24hr, 3 days soak or persistence tests. In this testing we check if the application sustains continuous production load for long periods.
Capacity Testing is done to know the limits of the system. This testing is used for Capacity planning based on the application forecasts and to support future application performance requirements.
Software Testing Tutorials: