Continue with this series of learning, this section focuses on the popular performance testing tools and how to choose the tools suitable for the project. Before that, I have analyzed the principle and architecture of the performance testing tool.
Selection and evaluation of performance testing tools
In the performance tool principle and architecture chapter, we understand that the principle of the Performance Testing Tool is usually through recording and playback scripts, simulating simultaneous access to the tested system by multiple users and simulating load pressure, monitor and record various performance indicators, generate performance analysis results and reports, and complete the basic tasks of performance testing.
For organizations that require performance testing, deciding which performance testing tool to use is not a simple problem. We need to analyze the performance requirements, purchase costs, and take into account the usage costs to determine the most suitable tool for this performance test.
Note: The Performance Testing Tool mentioned here is a performance testing tool in a narrow sense, especially a performance testing tool that includes script generation, load generation, and test data collection. In a broad sense, all tools used in performance testing can be called performance testing tools, including software protocol analysis tools, test data generation tools, and test and monitoring tools.
My simple software performance testing tools are divided into three categories: commercial charging tools, open-source free tools, and self-developed tools. The following is a comparison of the three types of tools:
Through the comparative analysis above, it is difficult to determine the trade-off between a certain type of tools. Each of them has its own obvious advantages and, of course, has obvious disadvantages. How can we better choose a tool, here we need to combine the actual performance requirements.
Consider the following:
First, consider whether to meet the performance requirements. For example, the system protocol is not supported, scripts cannot be created, the number of simulated users of the system cannot be reached, or all of these special functions cannot be tested, such as streaming media performance testing. Some performance tools cannot meet these requirements. Of course, you must first exclude them.
We also need to consider the cost of purchasing commercial tools. In fact, this is also a problem that the boss needs to consider, and the overall budget for performance testing costs. Of course, everything is simplified while meeting the performance requirements. If you only need some functions of a commercial software, you can purchase only some functions. Some are differentiated based on the number of supported protocols and the maximum number of concurrent users, such as LoadRunner..
Here we need to talk a little more, LoadRunnerIt should be a giant in the Performance Testing field. Its annual service fee is more than one million. This is not what a small company can afford. Many netizens may not agree with it when using the cracking habits. AndLoadRunnerIt can be customized. Generally, commercial software can be customized. That is to say, if you have specific requirements, as long as you are willing to spend money, providers can help you customize development. In this case, the cost will be high.
What about open-source software? There are actually a lot of open-source performance testing tools, because they are suitable for different scenarios, so their volume is much smaller than that of commercial software, of course, the functions are relatively simple. However, in some cases, they can fully meet certain performance requirements, or they can be met with several open-source tools, or by extending open-source tools. Extends open-source tools and imposes high requirements on testers. Principle andSource codeThere are quite a few studies. This is very helpful for improving the tester's automatic capabilities.
Or your performance testing project is special. You can find all the performance tools on the market without any satisfaction, and the cost of business customization is too high. Or you want to build your own tool system. In the special and long-term consideration of the company's needs, we can develop a performance testing tool. One development, permanent benefits (of course, maintenance and upgrade, expansion, etc.), and more close to their own needs. At present, many big companies of Zhiming have their own performance testing tools for internal use.
Personnel learning cost:
The last thing to mention is the learning cost of the tool. In fact, when selecting a performance testing tool, the tester should first consider starting with the tool they will use, in this way, we can achieve the lowest level of control and learning. If the entire tool is used, the tester has learned the test script for half a year, and the boss has let you leave. This is also a high requirement for performance testers. Therefore, for performance testers, you 'd better familiarize yourself with a commercial performance tool for the process, an open-source free performance tool, and common performance script development languages. This is the basic requirement.
Introduction to performance testing tools
QA Load: Compuware's qaload is an automated Load Testing Tool for customer/server systems, enterprise resource configuration (ERP), and e-commerce applications. Qaload is part of the qacenter performance edition. It can thoroughly measure the scalability and performance of applications through repeated and real tests. Qacenter is a collection of complete cross-enterprise automated testing products designed to improve software quality. Qacenter can automatically execute test tasks across multiple platforms throughout the development lifecycle.
Silkperformer: An enterprise-level load testing tool in the industrial field. It can simulate thousands of users working in multi-protocol and multi-computing environments. Regardless of the size and complexity of an enterprise's e-commerce application, you can use silk0000mer to predict its performance before deployment. Visualized User Interface, real-time performance monitoring, and powerful management reports can help us solve problems quickly, such as accelerating product market time and ensuring system reliability through a minimum test period, optimize performance and ensure application scalability.
LoadRunner: An Automatic Load Testing Tool with high scalability. It can predict system behavior and optimize performance. LoadRunner emphasizes the entire enterprise system, which helps you identify and find problems faster by simulating actual user operation behaviors and implementing real-time performance monitoring. In addition, LoadRunner supports the widest range of protocols and technologies to provide tailored solutions for your special environment.
IBM Rational performance testerRPT is also a performance testing tool for testing the performance and reliability of web-based applications. Rational performance tester combines ease of use with deep analysis to simplify test creation, load generation, and data collection to help ensure that applications have performance that supports thousands of concurrent users and runs stably.
Open-source or free tools:
Apache jmeterIt is a Java-based stress testing tool developed by Apache. Used for stress testing of software, which was initially designed for Web application testing but subsequently extended to other testing areas. It can be used to test static and dynamic resources, such as static files, Java small service programs, CGI scripts, Java objects, databases, and FTP servers. Jmeter can be used to simulate huge loads on servers, networks, or objects to test their strength and analyze the overall performance under different pressure categories.
AutoscalingIs a Perl script based on httperf. It calls httperf multiple times in a test to test the Web server. Each time it increases the number of concurrent connections according to the given parameter, the httperf test result is saved as a CSV file, this file can be directly read by Excel to generate a test report. With the help of the bench2graph tool that comes with autoscaling, you can generate a beautiful comparison chart of test results.
ApacheBenchThe tool Program (AB) is a tool software attached to the Apache website server. It is used to perform the running efficiency of the website server, especially for the performance analysis of the Apache website server. This program was originally used to check the performance provided by the Apache website server (Web Server). In particular, we can see how many webpages can be sent per second by the Apache website server. Of course, it can also be used in the full name of Apache AB on any other website server. It is a small tool attached to Apache. It is specially used for the HTTP server's Benchmark Testing and can simulate multiple concurrent requests at the same time.
Curl-loader(Also known as "omes-nik" and "davilka") is an open-source C language tool, simulate the app load and the behavior of thousands of HTTP/HTTPS and FTP/ftps client applications of hundreds of thousands of people, each with its own source IP address. On the contrary, other curl-loaders use the client protocol stack written in real C, that is, the HTTP and FTP protocol stacks of libcurl and TLS/OpenSSL SSL, supports logging in and verifying tastes and simulating user behavior.
IagoIago is a website load testing tool that records access to a given website and synthesize traffic data. Unlike other load generation tools, it tries to maintain a constant request rate. For example, if you want to request your service at k per minute, Iago will try to maintain this speed for testing.
PylotIt is an open-source tool used to test the performance and scalability of Web Services. It runs HTTP load testing, which is useful for capacity planning, benchmarking, analyzing system bottlenecks, and system tuning. During use, pylot initiates concurrent requests (HTTP requests) to check server responses and reports with relevant metrics. It performs and monitors the test process on the tested website through the GUI or shell/console.
There are a lot of performance testing tools. If you are an open-source fan, you can go to open-source China, where there are many excellent open-source software.