[Original] What is performance testing?
The following is an explanation in Wikipedia:
Performance Testing
From Wikipedia, the free encyclopedia
Jump to: navigation, search
Http://en.wikipedia.org/wiki/Performance_testing
Performance TestingCovers a broad range of engineering or functional evaluations where a material, product, system, or person is not specified by detailed material or component specifications: rather, emphasis is on the final measurable performance characteristics.
Performance testing can refer to the assessment of the performance of a human examinee. for example, a behind-the-wheel driving test is a performance test of whether a person is able to perform the functions of a competent driver of an automobile.
In the computer industry, software performance testing is used to determine the speed or upgrade tiveness of a computer, network, software program or device. this process can be involve quantitative tests done in a lab, such as measuring the response time or the number of MIPS (Millions of instructions per second) at which a system functions. qualitative attributes such as reliability, scalability and interoperability may also be evaluated. performance testing is often done in conjunction with stress testing.
Why is performance testing required?
The purpose of the performance test is to verify whether the software system can meet the performance indicators proposed by the user, and find the performance bottlenecks in the application, such as resource contention or slow running code. Then, the system is optimized through performance optimization.
What are the goals of Performance Testing?
The following is Robert W. Buchanan, Jr's 《The art of Testing Network Systems(John Wiley & Sons, inc., 1996.
Performance testing objectives |
Performance testing target example |
Measure the response time of an end user. |
How long does it take to complete a business process? For example, how long can the server return data when 10 users log on at the same time! |
Define the best hardware configuration |
Which hardware configuration can provide the best performance? |
Check Reliability |
What is the difficulty or duration of system error-free or fault-free operation? |
View hardware or software updates |
What is the impact of upgrade on performance or reliability? |
Evaluate new products |
Which server hardware or software should be selected? |
Measure System capacity |
How much load can the system handle without a significant reduction in performance? |
Identify bottlenecks |
What causes longer response time? |
Performance testing goals should be set during performance testing. To provide assessment benchmarks, criteria for distinguishing acceptable and unacceptable test results should be clearly defined.
For example:
Fuzzy Performance Testing goals: to launch a new product, select the Web server hardware.
Explicit Performance Testing goals: new products should be launched, and the same 300 virtual users should be run on one HP Server and one NEC server. When 300 users browse Web application pages at the same time, determine which hardware has a shorter response time.
Performance testing should be carried out throughout the entire software product lifecycle. The following are the relationships associated with each stage:
Product plan and design |
Product Development |
Product deployment |
Product launchProduction |
Product upgrade |
|
|
|
Evaluate new products |
Measure Response Time |
Check Reliability |
Measure Response Time |
Check for hardware or software upgrades |
|
Measure Response Time |
Check the best hardware configuration |
Measure Response Time |
Identify bottlenecks |
Measure System capacity |
|
|
Check for hardware or software upgrades |
Measure System capacity |
|
|
|
|
Check Reliability |
|
|
|
|
If you have specific performance goals, you can start testing to determine whether the application meets these requirements. Performance tests generally assume that these applications run stably and reliably. Therefore, the performance test conditions that affect the performance test should be minimized. For example, errors in the code can cause performance problems or even mask performance problems. Therefore, to accurately compare the results of different performance tests, the application must work correctly. If the implementation of components is modified during the adjustment process, it is particularly important to retest the functions of the application. The application must pass the functional test before testing the performance. In addition to application changes, unexpected changes may occur to hardware, network traffic, software configurations, system services, and many other aspects. It is important to control application changes.