What is Performance testing, Load testing and stress-testing tools in software testing?

Performance testing tools are basically for system level testing, to see whether or not the system will stand up to a high volume of usage. A load testing is to check that the system can handle its expected number of transactions.

A volume testing is basically to check that the system can handle a large amount of data, e.g. many fields in a record, many records in a file, etc. A stress testing is one that goes beyond the normal expected usage of the system (to see what would happen outside its design expectations), with respect to load or volume.

The purpose of the performance testing is to measure characteristics, such as response times, throughput or the mean time between failures (for reliability testing). This can be done in different ways depending on the tool, such as different user profiles, different types of activity, timing delays and other parameters. Adequately replicating the end-user environments or user profiles is usually key to realistic results.

If the performance is not up to the expected standard, then some analysis needs to be performed to see where the problem is and to know what can be done to improve the performance.

Features or characteristics of performance-testing tools are:

  • To generate load on the system to be tested;
  • To measure the timing of specific transactions as the load on the system varies;
  • To measure average response times;
  • To produce graphs or charts of responses over time.