What is the difference between performance testing, load testing and stress testing

Performance testing (or multi-user concurrent performance testing), load testing, strength testing, and capacity testing are several aspects in the field of performance testing, but the concepts are easily confused. Several concepts are introduced below. 

 
 

Performance Test (Performance Test): usually collects all the performance related to the test, usually used by different people on different occasions. 

 

Concerns: how much and how fast 

 
 

Load Test: Load test is a performance test, which refers to whether the program can bear the data when running in an overloaded environment. 

 

Concerns: how much 

 
 

Stress Test: Stress test is a kind of performance test, he runs the software system in the case of extremely low system resources, the purpose is to find out where and how the system fails. include 

 

Spike testing: extreme load testing for short periods of time 

 

Extreme testing: load testing under excessive users 

 

Hammer testing: Do everything you can in a row 

 
 

Volume Test: Determine the maximum number of simultaneous users that the system can handle 

 

Concern: how much (instead of how fast) 

 

Capacity testing, usually related to databases, differs between capacity and load in that capacity is concerned with large capacity and does not need to represent actual usage. 

 
 

Among them, the English interpretation of capacity test, load test and strength test is: 

 

Volume Testing = Large amounts of data 

 

Load Testing = Large amount of users 

 

Stress Testing = Too many users, too much data, too little time and too little room 

 
 
 

You may be confused about role performance testing, load testing and strength testing. Yes, these three concepts are more confusing. Load testing and strength testing are both subsets of performance testing. Let's take a running example to explain. 

 

A performance test that represents the best-case scenario that can be performed on a given benchmark. For example, how long does it take you to run 100 meters without a load (here, no load is the benchmark)? 

 

The load test is also a performance test, but it is under a different load. For the example just now, if it is expanded to: in the case of 50 kg, 100 kg... etc., how much time does it take you to run 100 meters? 

 

Strength test is a performance test under strength conditions. For the example just now, if you change it to: In a strong wind, how long does it take you to run 100 meters with or without a load?

 
 

Performance test is power, load test load, stress test strength

 
 

Stress test stresstest: It is the impact of long-term continuous operation of the system on system performance under certain load conditions.

Load test Loadtest: Under a certain workload, the load caused to the system and the system response time. 

The main purpose of stress testing is to discover changes in the performance of a software system under a (arbitrary) set of conditions, by changing the input of the application to impose an increasing load on the application (concurrency, cyclic operation, multi-user) and measure The change in performance under these different inputs is commonly referred to as the concept: stress testing examines the maximum load that the system can withstand under the current hardware and software environment and helps identify system bottlenecks. In fact, this kind of testing can also be called load testing, but load testing usually describes a specific type of stress testing - increasing the number of users to stress test the application. For example, in practice, we start with a relatively small load and gradually increase the number of simulated users until the application response time expires, which is called load testing.

The goal of stress testing is to test the long-term stability of the system under a certain load, with particular attention paid to changes in the performance of the long-running system under heavy traffic conditions (for example, whether the response slows down, whether there is a memory leak that causes the system to gradually crash, whether can recover); the stress test is to test the system's limit and fault recovery ability, it includes two situations:
Stability stress test: under the selected pressure value, continuous operation for a long time. Through this type of stress test, you can check whether various performance indicators are within the specified range, whether there are memory leaks, whether there are functional failures, etc.;
destructive stress test: some problems may occur in the stability stress test, such as system performance Significantly lower, but it is difficult to reveal the real reason. By means of destructive and continuous pressure, it can often quickly cause the system to collapse or expose the problem obviously;

the goal of load testing is to test the system performance under a certain load (not focusing on stability, that is, not focusing on long-term run, just get the relevant performance indicators under different loads); in practice, we often start from a relatively small load, gradually increase the number of simulated users (increase the load), and observe the application response time and resource consumption under different loads until Timeout or critical resource exhaustion, this is called load testing, which is a performance indicator under different load conditions of the test system.

 ——————————————————————————————

In the simplest terms:

load testing is the maximum performance test the software itself can withstand;

stress testing is a destructive performance test;

as long as you understand the difference between these two points, it is very easy to understand performance testing

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325299802&siteId=291194637