What is the knowledge of Performance Testing? My opinion on the classification of Performance Testing

Source: Internet
Author: User

Starting from this article, the wormhole team has made great efforts in performance. Looking at my blog, I was first keen on jmeter, so I wrote a few illustrated articles.Article(In fact, it mainly involves operations and text descriptions). Since many of my friends have no knowledge about performance, I downloaded a LoadRunner and said I would do a performance test. The results can be imagined, various concepts and usage problems are encountered. So I wrote 《What do I need to know before performing a performance test?"What do I need to know after performing a performance test?I didn't write a blog about LoadRunner, because there are too many websites, materials, books, and videos about LoadRunner. I think I will also focus on this series.

 

 

 

 

Common Performance Testing categories

When talking about performance testing, load testing, stress testing, and concurrency testing, many people use them in hybrid mode, or stress testing or concurrent testing. These concepts are not clearly divided by non-testers, and even many professional testers are vague about these terms. I have read a few good books about this category. They are also vague and have not provided any essential difference. Only from different angles and customs
Note. Let's take a look at the common explanations between them.

 

Performance testing (narrow sense)

The performance testing method is to test whether the system performance meets the production performance requirements by simulating the business pressure volume and Application Scenario combination during production and operation. In general, this method is to verify the system capability status under specific operating conditions.

Features:

1. The main purpose of this method is to verify whether the system has the ability to claim the system.
2. This method requires you to know the classic scenario of the tested system in advance and has a definite performance goal.
3. This method requires running in a determined environment.

That is to say, this method is a prerequisite for having an understanding of the system performance, and has a clear goal for the requirements, and is carried out in a defined environment.

Load Testing

Through continuous pressurization on the tested system until the performance indicators reach the limit, for example, the "Response Time" exceeds the predefined indicator or all of the resources have reached the saturation state.

Features:

1. The main purpose of this performance testing method is to find the limit of the system's processing capability.
2. This performance testing method needs to be carried out in a given testing environment. Generally, the Business pressure and typical scenarios of the tested system need to be considered, so that the testing results have business significance.
3. This performance testing method is generally used to understand the performance capacity of the system or use it with performance tuning.

That is to say, this method is a constant pressurization of a system, depending on when you have exceeded "My requirements" or system crashes.

Stress Testing (intensity testing)

Stress Testing Method: test the system's session capabilities that can be processed by the system under certain saturation conditions, such as CPU and internal saturated usage, and whether the system will encounter errors

 

Features:

1. The main purpose of this performance testing method is to check the performance of applications when the system is under pressure.
2. This kind of performance test generally uses Load Simulation and other methods to make the system resource usage reach a high level.
3. This performance testing method is generally used to test the system stability.

That is to say, this test puts the system under great pressure and determines whether the system is stable or not.

 

Concurrency Test

The concurrent test method simulates concurrent user access to test whether a deadlock or other performance problems exist when multiple users concurrently access the same application, the same module or data record.

Features:

1. The main purpose of this performance testing method is to discover possible hidden concurrent access problems in the system.
2. This performance testing method focuses on possible system concurrency problems, such as memory leakage, thread locks, and resource contention issues in the system.
3. This performance testing method can be used in various stages of development with the cooperation and support of relevant testing tools.

That is to say, the focus of this test is that multiple users simultaneously (concurrently) Pressurize a module or operation.

Configuration Test

By adjusting the software/hardware environment of the tested system, the configuration testing method can understand the impact of various factors on system performance and find the optimal allocation principle of system resources.

Features:

1. The main purpose of this performance testing method is to understand the impact of different factors on the system performance, so as to determine the most worthy optimization operation.
2. This performance testing method is generally conducted after a preliminary understanding of the system performance.
3. This performance testing method is generally used for performance tuning and planning.

That is to say, the focus of this test is "fine-tuning". By adjusting the software and hardware without segment, we can find out their best state and bring the system to the strongest state.

Reliability Test

When a certain amount of business pressure is loaded to the system, the system runs for a period of time to check whether the system is stable.

Features:

1. The main purpose of this performance testing method is to verify whether it supports long-term stable operation.
2. This performance testing method needs to run under pressure for a period of time. (2 ~ 3 days)
3. Pay attention to the running status of the system during testing.

That is to say, the focus of this test is "stability". It does not need to put too much pressure on the system, as long as the system can be in a stable State for a long time.

The classification above is not comprehensive, and there is also a failure test, that is, whether other modules can run normally in the case of local system problems. This is carried out in rare cases and will not be introduced here.

 

 

Classification of Performance Testing

After dividing the classes above, it seems that many experts have recognized them and there is nothing wrong with them. But can we tell them clearly during the performance test? You can strictly differentiate whether your current test is a concurrency test or a stress test.

The first thing I disagree with isPerformance Testing. I think the performance test includes all the above categories. The definition of this performance test is a narrow definition of "Performance Test", which is a kind of performance test.
Performance testing is relative to functional testing. The most essential difference between them is whether the processing capability of the system is sufficient. If one user's operation (such as querying a large amount of data) puts enough pressure on the system, I can also regard it as a performance test.

 

 

In fact, performance testing can be divided in this way.

If so many categories have been settled above, is it a bit dizzy. In fact, I think we focus on two points during performance testing. Endurance and explosive power.

In junior high school, I practiced sports for several years. The best thing is to represent the school in the county sports competition, but to the bottom. Haha! For a sports athlete, there are actually two ways to assess him for so many sports. First, explosive power. Second, endurance.

Explosive Power: For a weightlifting player, his focus is on the weight, because you only need to be able to raise it for three seconds, even if you have succeeded. The key is to see what kind of weight you can lift.

Endurance: Taking a marathon as an example, it is useless to run a hundred meters faster. The key is that the winner is the first person to reach the destination of the 40 km journey.

Overall coordination: Of course, as a coach, When I select a contestant, in addition to watching the athlete's endurance and explosive power, the overall coordination of the body is also an important indicator of my assessment. For example, an operator is very strong in all parts of the body, but has congenital atrophy in the right arm. Although he has a good running score. However, while running, all parts of the body are sharing the insufficiency of the right arm. The right arm affects the overall physical performance.

In terms of system performance, explosive power is the maximum pressure that the system can withstand. It is possible that the system is under great pressure. But it went down in half an hour. Endurance is the stability of each system under pressure for a long time. This system is super stable and does not need to be restarted for decades. The overall coordination means that there is no system bottleneck in the system and system optimization is not required.

Please forget the category when performing a performance test

Here, I just want to tell you which type of performance test is this? Is it a concurrency test? Or stress testing?

We also take the above example of selecting coaches.
I remember when I entered the school team, the coach told me to take two laps. Then I started to run around the playground. What do you say my coach wants me to watch my skills when I take two laps?
1. Check the legs. One is the stride, that is, the distance between the step and the step. One is the frequency. If you pull a lot in one step, the frequency will definitely decrease. If you want to increase the frequency, it will definitely affect the stride size.
2. Check whether the shoulders are relaxed, whether the arm is strong, and whether the swing of both arms and legs are coordinated.
3. Whether the breathing condition is balanced. The current speed can be several laps.

I only performed one physical exercise and checked my content. A performance test is not limited to a specific category. It is also possible that one test contains multiple categories.

Web performance testing practices:
Many types of performance tests seem scary. In fact, they are mostly closely related. For example, if you run the test for 8 hours to test whether the system is reliable, the test may include reliability testing, strength testing, concurrency testing, and load testing. Therefore, when performing performance tests, we must not separate their internal connections. Instead, we should analyze the relationships between them and design performance tests in an efficient way.

 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.