Blast liver finishing, performance testing - test tool selection (various comparisons) rolled up...


foreword

The performance test is different from the functional test. The execution of the performance test is the repetition and concurrency of basic functions. It needs to simulate multiple users. When the performance test is executed, the indicator parameters need to be monitored. At the same time, the results of the performance test are not so obvious, and the data needs to be analyzed. These characteristics determine that performance testing is more suitable to be done through tools.

From the perspective of the definition of performance testing, performance testing refers to testing various performance indicators of the system by simulating various normal, peak and abnormal load conditions through automated testing tools.

If you do not use tools, performance testing only by humans will have the following disadvantages:

Testing requires a lot of resources:
in order to simulate multiple loads and concurrent scenarios, multiple people need to work together. Usually, there are not many resources for testing, and even if there are resources, the effect of manual work will be greatly reduced. In some scenarios, only manual work is required. Can't be done.

Very poor repeatability:
Performance testing often requires repeated tuning and test execution. Without the help of tools, it is unimaginable to rely entirely on manual work.

Poor test accuracy:
Due to the need to simulate a variety of load and concurrency scenarios, if it is operated manually, there will inevitably be errors, and compared with tools or programs, this error will be larger, and it will have a great impact on the test results.

Poor collection, collation and presentation of results:
If there are no tools, manual data collection will have larger errors than tools.

The relationship between performance testing and performance testing tools

1. Performance testing is divided into system testing from the testing stage, and it has no direct relationship with the specific tools used. The use of tools is just a method and means to improve the efficiency and accuracy of performance testing. In essence, there is no substantial difference from using tools when doing other things.

2. Performance testing is not equal to Loadrunner. LR is just one of the performance testing tools, and it is not a panacea. In some cases, it cannot be used.

3. The difference between automated testing tools and performance testing tools: performance testing tools are generally based on communication protocols (agreement followed by the client and server to exchange information), and it may not care about the UI of the system, while automation uses object recognition technology , pay attention to the UI interface. Automation can't or can't cause load, but it's easy with agreement.

Selection of performance testing tools

Usually in a company or project, we will do some research when we choose any tool, the purpose is to choose the tool that is suitable for the company or project. Then the performance testing tool is no exception, usually it can be considered from the following aspects:

1. In terms of cost,
tool cost: tools are usually divided into two types: commercial closed (shou) source (fei) and non-commercial open (mian) source (fei). Commercial tools are usually more powerful, and there is a fee. Due to the fee, after-sales service can be provided , if something goes wrong, there are professionals to help deal with it.

Open source tools are usually free, with limited functions, and the organization of maintenance tools is also spontaneous, so if you encounter problems, you need to solve them yourself, and there is no dedicated person to provide services. The specific choice of commercial or open source tools needs to be considered according to the company's situation, such as the company's size, the cost it is willing to bear, and the overall situation of the project.

Generally speaking, large companies can usually afford the cost of tools and will consider buying commercial tools. Small companies may choose open source tools due to financial pressure.

Learning costs: learning is required to use any tool, which will incur learning costs (such as: time), so we also need to consider the learning costs of project team members when choosing tools.

If there are two tools, A and B, that can meet the testing needs of the project team, and if tool A is used by most people, but tool B is only used by a small number of people, then it is recommended to give priority to tool A.

Usually, it is best for testers to be familiar with a commercial (performance) tool for a process, an open source free (performance) tool, and familiarity with common (performance) scripting development languages, etc. This is the basic requirement.

2. Supported protocols
Performance testing is usually closely related to protocols. For example, the B/S system usually uses the http protocol for information exchange between the client and the server provider, and the C/S system usually uses the socket protocol for information exchange. When choosing a tool, you need to consider the protocol your project uses. Whether a test tool can meet the test requirements and achieve satisfactory test results is the most basic issue to be considered when selecting a test tool.

3. Vitality
There are a lot of performance testing tools now, such as LR, jmeter and other popular tools have a lot of relevant information on the Internet, but some niche tools may have less online information.

If you encounter a relatively handy problem in the process of using the tool, the tools of the public will have an advantage when seeking solutions or help. The problems encountered may have been encountered and solved by others a long time ago. Even if no one has encountered them before, due to the large number of people using research, I believe that there will always be experts who can help solve them through the help of the community or forums.

4. Cross-platform:
Needless to say, just look at why JAVA has been so popular.

Common performance testing tools

Performance testing tools, theoretically speaking, all the tools used in the performance testing process can be called performance testing tools, usually divided into the following categories:

Please add a picture description

Description:
Server-side performance testing tool: needs support for generating stress and load, recording and generating scripts, setting up and deploying scenarios, generating concurrent users and applying continuous stress to the system.

Web front-end performance testing tools: It is necessary to focus on the processing process of client tools such as browsers on specific pages that need to be displayed.

Mobile-end performance testing tools: Same as web-end performance testing tools, you also need to care about the page processing process, and also need specific data collection functions, such as: mobile phone CPU, memory, power, startup time and other data records.

Resource monitoring tool: This is mainly to collect data during performance testing and display good results.

Features of common performance testing tools

JMeter: It adopts a multi-threaded model, which is very scalable, but the manufacturing pressure is not so high. It is very suitable for pressing some Tomcat services, or some back-end interfaces. The disadvantage of JMeter is that the pressure value cannot be precisely controlled, it is difficult to adapt to high concurrency situations, and because it is written in JAVA, it consumes more resources.

LoadRunner: more like a simulator, it is more suitable for complex front-end construction scenarios, such as simulating 100 user login scenarios, LoadRunner provides good support for non-technical personnel. LoadRunner does not work with backend interfaces.

JMeter and LoadRunner comparison table:

describe JMeter LoadRunner
Architecture principle Through the intermediate agent, monitor and collect concurrent client instructions, generate scripts from them, send them to the application server, and monitor the feedback process of the application server Same JMeter
Install Simple, just decompress, more flexible The LoadRunner installation package is relatively large, the installation is more troublesome, and the tool itself is relatively cumbersome
supported protocols Support multiple protocols: HTTP, HTTPS, SOAP, FTP, Database via JDBC, JMS, etc., but it is not comprehensive enough compared to LR. For this reason, jemter is relatively flexible and portable There are many protocols supported, which are relatively comprehensive, but because of this, the tool itself is relatively cumbersome and not flexible enough
script recording Provides a function of using the local ProxyServer (proxy server) to record and generate test scripts, and also supports badboy recording and regenerating JMeter scripts Built-in powerful recording function, can directly record and play back
concurrency model Increase concurrent users by increasing the number of thread groups, or setting the number of cycles Support a variety of concurrency models, by selecting what kind of scene to set in the scene, and then select the number of virtual users
Distributed testing Support, multiple agents can be set up, and multiple machines can be concurrently pressured through remote control Same JMeter
resource monitoring Realized by JMeterPlugins plug-in and ServerAgent Built-in resource monitoring function
report analysis Generate HTML reports by integrating with Ant It supports the generation of HTML and Word reports
Virtual IP not support support
Internet speed simulation not support support
Scalability Open source, you can modify the source code according to your needs Implemented through extended function library
study cost Mainly the information on the official website for self-study There are a lot of online materials and related training, and if you buy the genuine one, there is also technical support
The following is the most complete software test engineer learning knowledge architecture system diagram in 2023 that I compiled

1. From entry to mastery of Python programming

Please add a picture description

2. Interface automation project actual combat

Please add a picture description

3. Actual Combat of Web Automation Project

Please add a picture description

4. Actual Combat of App Automation Project

Please add a picture description

5. Resume of first-tier manufacturers

Please add a picture description

6. Test and develop DevOps system

Please add a picture description

7. Commonly used automated testing tools

Please add a picture description

Eight, JMeter performance test

Please add a picture description

9. Summary (little surprise at the end)

Every effort is one step closer to success; every setback is a catalyst for growth. Don't be afraid of failure, face difficulties bravely, and persevere in chasing your dreams. Only in this way can you become the person you aspire to be. Believe in yourself and keep fighting!

Only by working hard can we reap brilliance; only by persisting in struggle can we pursue our dreams; only by going forward bravely can we reach the other side of success. Do not forget the original intention, forge ahead, you will be able to create your own brilliant life!

Only by doing our best can our dreams shine; only by persevering can we cross the peak of life; only by never giving up can we achieve a brilliant future. Struggle, move forward bravely in the direction of success!

Guess you like

Origin blog.csdn.net/csdnchengxi/article/details/131501814