Be Fast – Performance
Performance is an essential part of the user experience for the vast numbers of users who expect “good performance” from their applications when using a variety of fixed and mobile platforms. Performance testing plays a critical role in establishing acceptable quality levels for the end user and is often closely integrated with other disciplines.
The evaluation of functionality, usability and other quality characteristics under conditions of load, such as during a performance test, may reveal load-specific issues which impact those characteristics.
- Could the application respond adequately to the generated load?
- How many concurrent users can the application handle?
- What are the application’s bottlenecks?
- How does the application respond when its limits are exceeded?
Why Performance Testing?
- 🗹To find average response time of pages and transactions, slowest and fastest pages.
- 🗹To detect improvements at the configuration or hardware level.
- 🗹To tune all the web application components to support as much load as possible using actual hardware.
- 🗹To find out how the application works when overloaded.
- 🗹To Save costs reducing solution times.
- 🗹To attract and retain end users.
- 🗹To find out possible actual hardware bottlenecks and prevent new ones.
Type Of Performance Testing
Performance testing is an umbrella term including any kind of testing focused on performance (responsiveness) of the system under different volumes of load.
Focuses on the ability of a application to handle peak loads that are at or beyond the limits of its anticipated or specified workloads. Stress testing is also used to evaluate an application’s ability to handle reduced availability of resources.
focuses on the ability of a system to handle increasing levels of anticipated realistic loads resulting from transaction requests generated by controlled numbers of concurrent users or processes.
Focuses on the stability of the system over a time frame specific to the system’s operational context. This type of testing verifies that there are no resource capacity problems that may eventually degrade performance and/or cause failures (e.g., memory leaks, database connections, thread pools).
Focuses on the ability of a system to meet future efficiency requirements which may be beyond those currently required. The objective of these tests is to determine the system’s ability to grow (e.g., with more users, larger amounts of data stored) without exceeding the currently specified performance requirements or failing.