In today's market, performance and responsiveness of applications play a key role in the software testing life cycle. We conduct performance testing to address the bottlenecks of the system and to fine tune the system by finding the root cause of the performance issue.
Performance testing answers questions like how many users the system can handle. What is the response time of the system under normal and peak loads.
Before going live, the software system should be tested against the speed, stability and scalability under a variety of load conditions.
Load Testing is to verify that the system/application can handle the system while constantly increasing the load on the system. Here increasing the load means increasing the number of concurrent users, and the number of transactions. The main purpose is to monitor the response time of the application to see how well the system is performing under both normal and peak load conditions.
Volume Testing will verify the system/application can handle a large amount of data. The main goal of this test is to monitor the performance of the application under varying database volumes.
Capacity Testing checks the system/application to determine its capability to scale up in terms of number of users supported, the number of transactions, the data volume etc. Here we try to understand at what peak the system prevents more scaling.
Stress Testing checks the stability of the software when hardware resources are not sufficient like CPU, memory, disk space etc. We determine an application's behavior when it is pushed beyond normal or peak load conditions.
Soak Testing will run a system at high load for a prolonged period of time to identify the performance problems. It is to make sure the software can handle the expected load over a long period of time.
Spike testing is carried out to determine the performance of the system when it is subject to load volumes that repeatedly increase beyond anticipated production operations.