Common classifications for performance testing
Often people talk about performance tests, load tests, stress tests, concurrency tests, many people are mixed, or one is called a stress test, and one is called concurrent testing. These concepts, in addition to non-testers, are not clear, and even many professional testers are vague about these nouns. About this classification I looked through a few of the better books, they speak more vague, not to give the difference in nature. Just explain it from different angles and points of interest. Well, let's look at a more general explanation for them first.
Performance testing (Narrow)
The performance test method is to test whether the performance of the system meets the production performance requirements by simulating the business pressure of production operation and the combination of usage scenarios. In layman's terms, this approach is to verify the capability State of the system under certain operating conditions.
Characteristics:
1, the main purpose of this method is to verify whether the system has the ability to claim the system.
2, this method should understand the classic scene of the tested system in advance, and have the definite performance target.
3. This method requires operating in a defined environment.
In other words, this approach is a prerequisite for the understanding of the system performance and has clear objectives for the requirements and is carried out in the established environment.
Load test
By continuously pressuring the system under test until the performance index reaches its limit, such as "response time" exceeding the predetermined indicator or a resource has reached saturation.
Characteristics:
1, the main purpose of this performance testing method is to find the limit of the system processing capacity.
2, the performance test method needs to be carried out in a given test environment, usually also need to consider the test system's business pressure and typical scenarios, so that the test results have business significance.
3, this performance test method is generally used to understand the performance capacity of the system, or with performance tuning to use.
In other words, this method is a continuous pressure on a system to see when you have exceeded "My requirements" or system crashes.
Stress test (Strength test)
Pressure test method test system in a certain saturation, such as CPU, memory in the saturated use of the system can handle the ability of the session, and whether the system error
Characteristics:
1, the main purpose of this performance testing method is to check the system under pressure performance, the application of performance.
2, this kind of performance test generally through the simulation load and other methods, make the system of resource use to reach a high level.
3, the performance test method is generally used to test the stability of the system.
In other words, the test is to let the system under a great intensity of pressure, to see if the system is stable, where there will be problems.
Concurrency test
The concurrency test method simulates user concurrent access to test whether a multiuser has a deadlock or a performance problem with concurrent access to the same application, the same module, or data logging.
Characteristics:
1. The main purpose of this performance testing method is to discover the problems of concurrent access that may be hidden in the system.
2. This performance testing method focuses on the possible concurrency problems of the system, such as memory leaks in the system, thread locks, and resource contention issues.
3. This performance test method can be used in various stages of development to use the relevant testing tools for the coordination and support.
In other words, this test focus is that multiple users simultaneously (concurrently) Pressurize a module or operation.
Configuration test
Configuration test method by adjusting the software and hardware environment of the tested system, we can understand the degree of different effects on the performance of the system, and find the optimal allocation principle of the system resources.
Characteristics:
1, the main purpose of this performance testing method is to understand the various factors on the impact of the system energy level, so as to determine the most worthwhile tuning operation.
2. This kind of performance test method is generally carried out after a preliminary understanding of the system energy condition.
3, this performance test method is generally used for performance tuning and planning capabilities.
In other words, the focus of this test is "fine-tuning", through the hardware and software of the non-paragraph adjustment, to find out their best state, so that the system to achieve the strongest state.
Reliability Testing
In the case of loading a certain business pressure to the system, the system will run for a period of time to detect the stability of the system.
Characteristics:
1, the main purpose of this performance testing method is to verify whether to support long-term stable operation.
2. This kind of performance test method needs to run under pressure for a period of time. (2-3 days)
3, the test process needs to pay attention to the operating conditions of the system.
In other words, the focus of this test is "stable", do not need to give the system too much pressure, as long as the system can be in a stable state for a long time.
The above classification is not comprehensive, there is a failure test, that is, if the system local problems, the other modules can be normal operation. This is done in rare cases and is not covered here.
My opinion on the classification of performance test
The above class is finished, it seems to get a lot of experts agree, and nothing wrong. But are we really able to differentiate between them in the performance testing process? You can strictly distinguish between the test in the end of your tests or stress tests.
The 1th I don't quite agree with is the definition of "performance test". The author believes that the performance testing includes all the above categories. The definition of performance testing is only a kind of "performance test", which is a kind of performance testing.
Performance testing is relative to functional testing. The most essential difference between them is whether the system has the ability to handle enough pressure. If a user's one operation (such as a query of a large amount of data) is enough to pressure the system, I can also consider it a performance test.
In fact, it's possible to divide the performance test
There are so many classifications, is not a bit dizzy. In fact, the author thinks that we are concerned about the performance test two points. Endurance and explosive force.
At the beginning of high school practice a few years of sports, the best representative of the school to participate in county sports competitions, but to the bottom. Ha ha! Ha a sports athlete, so many sports, in fact, the assessment of his two aspects. One is the explosive force. The second is endurance.
explosive : Take a weightlifting player, his focus on weight, because you can only hold up for three seconds even if you succeed. The key is to see what weight you can lift.
Endurance : For a marathon runner, you run at a speed that is no longer useless. The key is that 40 kilometers away, the first to reach the end of the talent is the winner.
Overall coordination : Of course, as a coach, I in the selection of contestants, in addition to watching the athlete's endurance and explosive power, the overall coordination of the body is also a very important indicator of my assessment. For example a runner body parts are very strong, but the right arm is congenital atrophy. He has a good running performance. But in the course of his running, all parts of his body were sharing his right arm's inadequacy. The right arm affects the entire physical exertion.
Then to the performance of the system, the explosive force is the system can withstand the maximum pressure, the system will withstand the pressure is very large. But it went off in half an hour. Endurance is the stability of this system for a long time under pressure, which is super stable and runs for decades without restarting the server. Then the overall coordination is to see the system has no system bottlenecks, need not to perform system tuning.
When doing performance testing, forget about the classification
Just tell me in the performance test do not think this test is part of the performance test what kind? is concurrency testing? Or a stress test?
We also use the above coaches to select players to do examples.
Remember when I entered the school body team, the coach said let me run two laps. Then I started to run around the playground. You said the coach told me to run two laps to see what I was capable of.
1, the evaluation of two legs, one is the stride, is the distance between step and step. One is the frequency, the frequency of the two legs alternating. If you pull a big step, the frequency will certainly fall. If you want to increase the frequency, it will certainly affect the size of the stride.
2, the examination of arms, whether the shoulder is relaxed, whether the swing arm is strong, the swing of the arms and legs of the swing is coordinated.
3, breathing is symmetrical, the current speed can run a few laps.
I only did a sports run, so I examined so much content. We do a performance test not confined to a certain category, or maybe one of our tests contains multiple classifications.
Performance Test 1