The definition of Load/Stress/Performance Test
Most people don't know how to distinguish between load, stress and performance testing. Therefore I do a little survey to confirm the definition of load, stress and performance testing. I hope it's helpful to let everyone can understand them well.
1. The Art of Software Testing, Glenford J. Myers
A. Volume Testing
Volume testing is subjecting the program to heavy volumes of data.
For instance, compiler would be fed an absurdly large source program to compile.
The purpose of volume testing is to show that the program cannot handle the volume of data specified in its objectives.
B. Stress Testing
Stress testing involves subjecting the program to heavy loads or stresses. This should not be confused with volume testing, a heavy stress is a peak volume of data encountered over a short span of time.
Am analogy is an appraisal of a typist. A volume test is the determination of whether the typist can cope with a draft of a large report; a stress test is the determination of whether the typist can type at a rate of 50 words per minute.
C. Performance Testing
The purpose of performance testing is to demonstrate that the program does not meet its objectives, test cases must be devised that attempt to show that the program does not satisfy its performance objectives.
=========================================================================
2. WiKi
A. Load Testing
Load testing is the the process of running a number of clients simultaneously to test a client-server system and measure response times
Load testing generally refers to the practice of modeling the expected usage of a software program by simulating multiple users accessing the program's services concurrently. As such, this testing is most relevant for multi-user systems, often one built using a client/server model, such as web servers.
When the load placed on the system is raised beyond normal usage patterns, in order to test the system's response at unusually high or peak loads, it is known as Stress testing. The load is usually so great that error conditions are the expected result, although there is a gray area between the two domains and no clear boundary exists when an activity ceases to be a load test and becomes a stress test
B. Stress Testing
Stress testing is a form of testing that is used to determine the stability of a given system or entity. It involves testing beyond normal operational capacity, often to a breaking
C. Performance Testing
In software engineering, performance testing is testing that is performed to determine how fast some aspect of a system performs under a particular workload.
Performance testing can serve different purposes. It can demonstrate that the system meets performance criteria.
It can compare two systems to find which performs better. Or it can measure what parts of the system or workload cause the system to perform badly. In the diagnostic case, software engineers use tools such as profilers to measure what parts of a device or software contribute most to the poor performance or to establish throughput levels (and thresholds) for maintained acceptable response time. It is critical to the cost performance of a new system that performance test efforts begin at the inception of the development project and extend through to deployment. The later a performance defect is detected, the higher the cost of remediation. This is true in the case of functional testing, but even more so with performance testing, due to the end-to-end nature of its scope.
=========================================================================
3. Software Testing and Continuous Quality Improvement, William E. Lewis
A. Volume Testing
The objective of volume testing is to subject the system to heavy volumes of data to find if it can handle the volume of data.
Stress testing subjects the system to heavy loads or stresses in term of rates, such as throughputs over a short time period.
Volume testing is data oriented and its purpose it to show that the system can handle the volume of data specified in its objectives
B. Stress Testing
The objective of stress testing is to investigate the behavior of the system under conditions that overload its resources. Of particular interest is the impact that this has on the system processing time.
Stress testing is boundary testing. For example, test with the max number of terminals active and then add more terminals than specified in the requirements under different limit combinations
Stress testing studies the system's response to peak bursts of activity in short period of time and attempts to find defects in a system.
It is often confused with volume testing, in which the system's capability of handling large amounts of data is the objective.
C. Performance Testing
The objective of performance testing is to measure the system against predefined objectives. The required performance levels are compared against the actual performance keveks and discrepancues are documented.
=========================================================================
4. Improving .NET Application Performance and Scalability
A. Volume Testing
Use load testing to verify application behavior under normal and peak load conditions.
You incrementally increase the load from normal to peak load to see how your application performs with varying load conditions.
You continue to increase the load until you cross the threshold limit for your performance objectives.
B. Stress Testing
Use stress testing to evaluate your application's behavior when it's pushed beyond the normal or peal load conditions
Stress test your application by subjecting it to very high loads that are beyond the capacity of the application, while denying it the resources required to process that load.
C. Performance Testing
Performance testing is used to verify that an application is able to perform under expected and peak load conditions, and that it can scale sufficiently to handle increased capacity.
The main goal of performance testing is identify how well your application performs in relation to your performance objectives.
=========================================================================
5. Testing Computer software
A. Volume Test
It studies the largest tasks the program can deal with
B. Stress Test
It studies the program's response to peak bursts of activity.
High volume is much work over a long period
High stress is max load at one time.
C. Performance Test
One objective of performance testing is performance enhancement.
The tests might determine which modules execute most often or use the most computer time.
=========================================================================
6. Testing Applications on the Web, Second edition, Hung Q. Nguyen, Bob Johnson, Michael Hackett
A. Load/Volume Test
Load/Volume tests study how a program handles large amounts of data excessive calculations, and excessive processing, often over a long period of time.
These tests do not necessarily have to push or exceed upper functional limits
B. Stress Test
Stress tests force programs to operate under limited resource conditions. The goal is to push the upper functional limits of a program to ensure that it can function correctly and handle error conditions gracefully.
C. Performance Test
The primary goal of performance testing is to develop effective enhancement strategies for maintaining acceptable system performance.
Performance testing is a capacity analysis and planning process in which measurement data are used to predict when load levels will exhaust system resources.
留言列表