пʼятниця, 1 травня 2015 р.

Understanding performance, capacity, endurance (soak), load and stress testing

Performance testing creating the load and measure the response

Both performance and load/stress tests help determine the capacity of a system



Performance tests and load/stress tests determine the ability of the application to perform while under load. During stress/load testing, the tester attempts to stress or load an aspect of the system to the point of failure. The goal is to determine weak points in the system architecture. The tester identifies peak load conditions at which the program will fail to handle required processing loads within required time spans.

During performance testing, the tester designs test case scenarios to determine if the system meets the stated performance criteria. Example: A login request shall be responded to in 1 second or less under a typical daily load of 1,000 requests per minute. In both cases, the tester is trying to determine the capacity of the system under a known set of conditions.

Types of Web Performance Tests

1. Performance Test: A performance test is any test that measures stability, performance, scalability and/or throughput of your web application(s).

2. Capacity Test: A capacity test is a test to determine how many users your application can handle before either performance or stability becomes unacceptable. By knowing the number of users your application can handle “successfully”, you will have better visibility into events that might push your site beyond its limitations. This is a way to avoid potential problems in the future.

Capacity testing is related to stress testing .It determines your server's ultimate failure point. You perform capacity testing in conjunction with capacity planning.

You use capacity planning to plan for future growth, such as an increased user base or increased volume of data. For example, to accommodate future loads you need to know how many additional resources (such as CPU, RAM, disk space, or network bandwidth) are necessary to support future usage levels.

Capacity testing helps you identify a scaling strategy to determine whether you should scale up or scale out.

3. Load Test: A load test consists of applying load to an application and measuring the results. The load may or may not be at the high end of application capacity. These tests can help determine normal performance metrics. By using iterative testing, you can determine whether new code has helped or hurt performance.

4. Stress Test: A stress test is a test that pushes an application beyond normal load conditions. When you push your application to the extreme, you will see which components fail first. Making these components more robust, or efficient, will help determine new thresholds.

5. Soak Test: A soak test is a long-running test that is used to determine application performance and/or stability over time. An application may work well for an hour or two, and then start to experience issues. These tests are especially useful when trying to track down memory leaks or corruption.
  • It is a type of non-functional testing.
  • It is also known as Soak testing.
  • Endurance testing involves testing a system with a significant load extended over a significant period of time, to discover how the system behaves under sustained use. For example, in software testing, a system may behave exactly as expected when tested for 1 hour but when the same system is tested for 3 hours, problems such as memory leaks cause the system to fail or behave randomly.
  • The goal is to discover how the system behaves under sustained use. That is, to ensure that the throughput and/or response times after some long period of sustained activity are as good or better than at the beginning of the test.
  • It is basically used to check the memory leaks.


Were taken from here,
here

Немає коментарів:

Дописати коментар