Volume testing, load testing and stress testing are types of performance tests. These tests are used to evaluate the performance of a specific module or application under specific conditions.
Load testing is proposed to test the system by continually and firmly raising the load on the system till the time it approaches the threshold limit. It is the merest form of testing which applies the use of computerization tools such as Load Runner or some other good tools that are accessible. The single purpose of load testing is to specify the system the biggest job it could likely handle to test the resistance and monitoring the outcomes. An exciting fact is that seldom the system is filled with a negative or blank task to learn the function of the system at a zero-load condition.
The purposes of load testing are to detect the defects in software application associated to mismanagement of memory, memory leaks, and buffer surplus. Added objective of load testing is to limit the upper limit of all the elements of application like network, hardware and database etc. so that it can handle the predicted load in future. The concerns that would ultimately come out as the result of load testing can introduce bandwidth issues, load balancing problems, the capacity of the present system etc.
Several activities to oppress the existing system with an overflow jobs are brought out in a trial to break down the system, comes under Stress testing. Negative testing, which involves extraction of the parts from the system is likewise done as a role of stress testing. Also recognized as fatigue testing, this testing captures the permanence of the application by testing it exceeding its bandwidth limit.
The purpose of stress testing is to determine the failure of the system and to observe how the system retrieves back fairly. The difficulty here is to set up a controlled setting before starting the test so that you could accurately capture the performance of system frequently, under the most irregular conditions. The main purpose of stress testing is to examine post-crash statements to define the performance of application after the crash. The biggest problem is to assure that the system does not jeopardize with the security of delicate data after the crash. In a favourable stress testing, the system will get back to normal along with all its segments, even after the most disastrous crash.
Volume Testing runs to the set of non-functional testing. This is a word used to emphasize performance testing, stress testing, and load testing. It is the process of injection concurrent end user and or code written volumes against a software application which is in a stage of the test.
As for example, if anyone wants to volume test the software application with an accurate record volume, they will note the record to that amount and then test the functioning of the application software on it. Another example can be if there is a requirement for application software to connect with an interface file (like .dat or .xml format), this connection might be reading and/or scripting from or onto the file. Then a text file is generated by the volume what request and then test the representation of the software with the help of that file test the functioning.
All these three characters of performance testing procedures would request squeezing the application software in a case when the performance is not satisfying. And it is constantly advisable to do at least one round of functional testing/regression system testing following performance testing to verify the system before composition.
Volume Testing, Load Testing and Stress Testing defined above are three performance testing procedures used extensively in software engineering to test an application.