Performance test vs load Test vs stress Test _ performance test

Source: Internet
Author: User
Tags memory usage

Here we introduce performance testing, load testing, and stress testing.

As one of the important quality attributes of ISO 9126 internal and external quality, efficiency is defined as the ability of a software product to provide the right performance relative to the amount of resources used in the specified conditions. Resources may include software and hardware configurations for other software products or systems, as well as other related resources (such as printer paper, disks, etc.).

Efficiency testing focuses on the product's time and resource-related characteristics. Time-related characteristics are defined as when a software product performs its function, it provides the appropriate response and processing time, as well as throughput, such as the time that a user will have to wait to open a Web page; The resource-related attribute is the ability of a software product to use the appropriate number and category of resources when it performs its functions under specified conditions. , for example, the memory and CPU changes of the system when the user is involved in the operation.

Depending on the time and resource characteristics of the product, the efficiency test can include different types of tests, such as performance tests (performance test), load tests (loading test), and stress tests (Stress test). These three types of efficiency tests, not only have different emphases on the specific definition, but also are closely related to each other.

1) Performance test

Performance testing primarily evaluates whether the performance of a system or component is consistent with specific performance requirements, such as the performance requirements for access speed or the need for memory usage. The focus of a particular performance test is the ability of a component or system to respond to user or system input within a specified period of time and under certain conditions.

The measurement of different performance depends on the different objects being tested. For a separate software component, its performance can be judged by CPU frequency. With the client-side system, the performance is determined according to the response time of the system processing a specific user request. For systems consisting of multiple components, such as clients, servers, and databases, performance testing is performed between components.

The performance of the product has a significant impact on whether the user will continue to use the product. Table 1 shows a user's attitude distribution to wait at different times for a single page to visit. As you can see, when the page load time is 10 seconds, 84% of the users are willing to wait, but when the page load time reaches 30 seconds, only 5% of the users are willing to wait.

Table 1 users are willing to wait for time distribution

The data in table 1 takes into account the latency of the network. And if in the test environment, the entire network is the test system exclusive, the system performance requirements are much higher. For the time that is willing to wait, each user has a different scope, and the waiting time that the user is willing to accept for different applications is not the same. The following is a set of performance requirements describing response time: For multimedia interactive systems, the system response time should be no more than 0.1 seconds in 90% of the time; For each user with only one task on the online system, the system response time should be no more than 0.5 seconds in 90% of the time; For each user with a multitasking online system, the system response time should be no more than 1 seconds in 90% of the time.

Performance testing focuses on whether system performance is consistent with specific performance requirements, and the performance of the system is not a concern for testers when performance requirements are exceeded.

For example: The performance requirements of the system should support the maximum number of simultaneous online users 5,000, then in the performance testing process will focus on whether the system can support 5,000 users at the same time, when 5,000 users online, performance testing needs to focus on whether the entire system is running to meet the requirements And for more than 5000 online users, the behavior of the system is not a performance test to pay attention to.

2) Load test

A load test is a test method that evaluates the performance of a component or system by increasing the load. For example, measure the load that a component or system can withstand by increasing the number of concurrent users and/or transactions. The main difference between a load test and a performance test is that when the load test, the system load is increasing rather than one-step, and the load test needs to observe whether the system works properly under a variety of load conditions.

The figure below is a trend chart where the number of users increases and the corresponding response time increases. The specific trend is shown in Figure 1.

Figure 1 Number of users and response time diagrams in a Web site load test

By looking at Figure 1, you can see that the system response time increases as the number of users increases. When the number of online users to 700, the system response time growth significantly faster. Of course, response time is just one of the data that needs to be observed, and as the test load increases, you need to observe system resources and other occupancy.

3) Stress test

A stress test is an assessment of the system's performance when the system is in or over the expected load. The focus of stress testing is on the ability of the system to handle a peak load or exceed the maximum load. As the pressure level increases, system performance should fall slowly as expected, but should not crash. Stress tests can also uncover the critical points of the system's collapse and identify weaknesses in the system.

For example, the number of online users with maximum support for the system is 1000, and the stress test needs to test the performance of the system at the same time as 1000 users and even 2000 users online. Although the load has exceeded the design capability of the system in this case, the test system should not crash. Stress tests can also be tested against system resources, such as testing the system's performance when the system is running out of memory, and the test system should not crash.

The previous three efficiency test types for performance testing, load testing, and stress testing were described. At present, the definition of these three types of test is not uniform in the field of software testing. In the actual test work, the word performance test is widely used. In many cases, performance testing is the generic term for the three types of tests mentioned above, and in some books or references, the scope of performance testing is even wider.


From:http://developer.51cto.com/art/201106/267717.htm

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.