Below are some of the different types of performance tests that exist:
Load testing evaluates an application's ability to perform well under an anticipated user workload by simulating the expected number of virtual users who might use the application. The goal is to recognize potential performance bottlenecks before the software goes into production and is made public.
Stress testing assesses the behavior of systems that are subject to high levels of activity. This process monitors how well the software handles high traffic and data processing under extreme workloads in order to identify an application's breaking point.
Spike testing examines the software's response to sudden large spikes in user load. It analyzes when and why activity spikes and levels are above average by taking into consideration the number of users as well as the complexity of the actions performed.
Scalability testing is used to determine the effectiveness of a software application and its ability to “scale up” to support an increased user load.
Endurance testing is performed to ensure that the software can withstand the expected load for an extended period of time.
Volume testing checks the performance of a software application with varying database volumes. Data is entered into a database, and the overall behavior of the software system is monitored.
Unit testing isolates transactions that could disrupt the system. It does so by simulating the transactional activity of a functional test campaign.
Soak testing involves monitoring a system’s behavior while increasing the number of concurrent users over an extended period of time. The intention is to see if sustained activity causes performance levels to drop when putting excessive demands on the system’s resources.