Load testing is a kind of performance testing which determines a system's performance under real-life load conditions. This testing helps determine how the application behaves when multiple users access it simultaneously.Load testing is commonly used for the Client/Server, Web based applications - both Intranet and Internet.
Soak Testing is a type of performance test that verifies a system's stability and performance characteristics over an extended period of time. It is typical in this type of performance test to maintain a certain level of user concurrency for an extended period of time. This type of test can identify issues relating to memory allocation, log file handles, and database resource utilisation.Typically, issues are identified in shorter, targeted performance tests. Soak Testing provides a measure of a system's stability over an extended period of time.
Volume testing is a non-functional performance testing, where the software is subjected to a huge volume of data. It is also referred as flood testing. Volume testing is done to analyze the system performance by increasing the volume of data in the database. With the help of Volume testing, the impact on response time and system behavior can be studied when exposed to a high volume of data. For example, testing the a music site behavior when there are millions of user to download the song.
Scalability Testing is the ability of a network, system or a process to continue to function well, when changes are done in size or volume of the system to meet growing need. Scalability testing ensures that an application can handle the projected increase in user traffic, data volume, transaction counts frequency, etc. It tests the system, processes and databases ability to meet a growing need. The idea behind Scalability Testing is to measure at what point the application stops scaling and identify the reason behind it.
Endurance testing involves testing a system with a significant load extended over a significant period of time, to discover how the system behaves under sustained use.The goal is to discover how the system behaves under sustained use. That is, to ensure that the throughput and/or response times after some long period of sustained activity are as good or better than at the beginning of the test. It is basically used to check the memory leaks.
Stress testing is used to test the stability & reliability of the system. This test mainly determines the system on its robustness and error handling under extremely heavy load conditions.It even tests beyond the normal operating point and evaluates how the system works under those extreme conditions. Stress Testing is done to make sure that the system would not crash under crunch situations. Most prominent use of stress testing is to determine the limit, at which the system or software or hardware breaks.