The difference between load testing, capacity testing, stress testing, strength testing, and performance 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. be used in different situations. Test the performance of the software in the system, and measure the gap between the system and the predefined goals.
Concerns: how much and how fast

Load Test (Load Test): Load test is a performance test, which refers to whether the program can bear the data when running in an overloaded environment. By gradually increasing the system load, determine the maximum load that the system can bear under the condition that the performance indicators are met.
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. Including
Spike testing: extreme load testing for a short period of time
Extreme testing: load testing under excessive users Hammer
testing: continuous execution of all operations that can be done
This is to obtain the maximum level of service that the system can provide.

Volume Test: Determine the maximum number of users that the system can handle at the same time, subject the system to excess data capacity to find out if it can handle it correctly.

Concerns: how much (rather than how fast)
capacity tests, usually related to databases, the difference between capacity and load is: 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


Example: One person carries X pounds
Load Testing: Can you hold on to 200 pounds? 5 minutes.
Stress test: In the case of 200, 300, 400 pounds, his performance, when did he fail, what would he do after the failure, and whether it was normal to carry 200 again.
Capacity test: How many kilograms can he carry at a time when he insists on it for 5 minutes.


Load testing: Load testing is a performance test, which refers to whether the program can bear the data when running in an overloaded environment. Strength test: Strength test is a kind of performance test, which is the operation of the software system under the condition of extremely low system resources.
Capacity testing: Determine the maximum number of simultaneous users that the system can handle.
1. Stress Testing or Stress Testing: Stress or stress testing is the execution of repeatable load tests in a manner that requires an unusual number, frequency, or resources to check a program's resistance to unusual conditions and identify performance bottlenecks. Abnormal conditions, mainly referring to those peaks, extreme values, long-term processing of large amounts of data, etc., including: connecting or simulating the maximum (actual or actually allowed) number of clients; all clients perform the same for a long time, performance may be Most volatile critical business function; has reached maximum database size and is executing multiple queries or report transactions concurrently When the normal frequency of outages is one to two per second, run a test case that generates ten interrupts per second; runs may Test cases that cause the virtual memory operating system to crash or a large amount of data to access the disk, etc. Stress testing can be divided into stability testing and destructive testing:
Stability stress test. Run the test continuously for more than 24 hours at the selected pressure value. Through the stress test, you can check whether various performance indicators are within the specified range, whether there are memory leaks, and whether there are functional failures. Destructive stress testing. There may be some problems in the stress stability test, such as the system performance is obviously degraded, but it is difficult to expose the real reason. By means of destructive and continuous pressure, it can often quickly cause the collapse of the system or make the problem obvious.
In the stress test, some tracking mechanisms (such as log logs, etc.) are added to the program, and then it is necessary to view the log files that monitor the performance of the system and server, find out the key time when the problem occurs, or check the test running parameters. Therefore, the test strategy or test environment can be adjusted purposefully, so that the stress test results truly reflect the performance of the software.
2. The performance indicators of the performance test system are generally clearly defined in the product requirements document. There are three forms to describe the performance indicators of the software system:
give the main indicators of product performance, such as the time to query a specific data in 100,000 records is 0.5 seconds . Take a released version as a baseline, such as a 30-50% performance improvement over the previous version. Compare with similar products from competitors.
Performance testing, according to its purpose, is divided into: product performance and quality testing, through the test, to determine whether the product meets the performance indicators (non-functional requirements) required by the product specification. performance indicators and establish performance benchmarks. The benchmark value is used as a performance reference for subsequent product releases (in the new version, the performance index is required to only increase but not decrease) or a reference for comparison with competitor products.
The performance planning test, through continuous testing, determines the required hardware configuration (memory, CPU, network, etc.) and software configuration to meet the performance requirements defined by the implementation. This kind of testing is very meaningful for the deployment of software systems. At the same time, it is also possible to further understand the degree of influence of hardware parameters and software parameters on system performance, so as to ensure that the system has good scalability or to formulate a better system capacity expansion plan in advance.
The methods of performance testing mainly include: stable pressure loading, adding the load to a certain level at one time for a period of time, also known as flat testing. Gradual loading or alternating loading to a certain load level, also known as a "ramp-up" test. Peak-valley test to determine the system performance status/indicator when the load changes from the peak time of the system to almost idle, and then climbs to high load. This kind of test has the characteristics of capacity test or is part of capacity test.
Performance testing is generally carried out by simulating human operations through testing tools. The focus of performance testing lies in the establishment of the test environment, the design of the preliminary data and the analysis of the later data. Because the performance test needs to obtain the data or system behavior performance of the system occupied resources (CPU, memory, etc.) under certain conditions (such as 100, 200, 500, 1000 real-time connections), and also rely on the test tool or software system to record it. The data results of changes in these indicators. For example, if a Browser/Server structured network real-time online training system software is tested, the system performance focus is the server's CPU, memory occupancy rate, and the client's response time under different numbers of concurrent connections. During the test, the continuous increase of concurrent connections (increase of load) has become more and more obvious in the performance of the system. In the system performance test, during the loading process, the system must run smoothly for a period of time before acquiring data at each test point, so as to eliminate the mutual influence of different test points. It can be seen from the table that for the same 300 users, the performance of 1?00 and 60? is very different, and the loading method has a great impact on the system performance. Therefore, try to simulate different loading methods to perform system performance. test. In addition, you can also test the data under different connection methods such as TCP and HTTPS for comparison. Through comparison and analysis, you can clearly know the performance status of the system, and under what conditions the system performance reaches the best state, and where is the performance bottleneck. The performance test requires that the test environment should be as consistent as possible with the product operating environment, should be run independently, and try to avoid simultaneous use with other software.
3. Capacity testing Software testing passes performance testing. If the system's limits or performance performance in harsh environments are found, to a certain extent, we have completed load testing and capacity testing. The capacity can be regarded as a specific performance index under a specific environment in the system performance index, that is, the set limit or limit value. The purpose of capacity testing is to analyze in advance the limit value of an index reflecting the application characteristics of the software system (such as the maximum number of concurrent users, the number of database records, etc.) The main functions are functioning normally. Capacity testing will also determine the maximum load or workload that the test object can sustainably handle in a given period of time. The test of software capacity enables software developers or users to understand the carrying capacity of the software system or the ability to provide services, such as the number of online users that an e-commerce website can bear and conduct transactions or settlements at the same time. Knowing the actual capacity of the system, if the design requirements cannot be met, new technical solutions should be sought to increase the capacity of the system. With the accurate prediction of software load, not only can we have full confidence in the performance of the software system in actual use, but also help users to plan the application system economically and optimize the deployment of the system.
   The relationship between stress testing, capacity testing and performance testing: Stress testing can be seen as a means of capacity testing, performance testing and reliability testing, not a direct test goal. The focus of stress testing is to find system-level defects that are not easily found by functional testing. The capacity testing and performance testing are the main objectives of system testing, that is, to determine the non-functional quality characteristics of software products or systems, including specific characteristic values. Capacity testing and performance testing are more focused on providing performance and capacity data, providing services for software system deployment, maintenance, and quality improvement, and can help with market positioning, sales staff's interpretation of customers, and advertising and other services. Stress testing, capacity testing, and performance testing have similar and similar testing methods. In actual testing work, they are often combined to improve testing efficiency. Generally, a special performance testing laboratory will be set up to complete these tasks. Even if the actual operation is simulated by virtual means, the required client is sometimes very large, so the investment in the performance testing laboratory is relatively large.


pertinent:
http://www.51testing.com/html/8/2009.html

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326854404&siteId=291194637