Performance tests help measure diverse aspects of web applications, sites and environments, in order to guarantee they are fast, stable and scalable. There are diverse types of performance tests, such as load tests, stress tests or capacity tests.
What is a performance test?
Performance tests are used to measure stability, scalability, throughput and performance of web applications, sites and environments.
By simulating traffic and concurrent users, this type of tests help understand how applications, sites and environments respond as well as identify bottlenecks. Thus ensuring they are fast, stable and scalable before reaching production.
Types of performance tests
There are different types of performance tests that address diverse aspects and issues. Here is a list of the most common ones.
Capacity tests determine the amount of users an application can handle while guaranteeing an acceptable performance and stability. This gives visibility into events that might push the application beyond its capacity limitations. Therefore, it helps avoid potential issues in the future and ensure the desired user experience at all times.
Component test or module test
Component tests or module tests are used to test individual components of an application, such as specific functions or third-party components. The functionality and usability of each component are validated separately, allowing to identify issues at the component or module level at an early stage. Thus making the application’s testing stage easier.
Load tests apply loads to an application or environment to understand how it behaves under a specific load. This helps determine normal performance metrics as well as the response times of business critical operations. So, it is useful to assess whether system performance meets user requirements and SLA compliance.
In addition to being used to simulate visits and interactions in an environment or site to verify that it can handle higher load conditions. It is also commonly used as a migration test to ensure a successful migration to the cloud with no impact on the service, or the minimum impact possible.
Smoke test or confidence test
Smoke tests or confidence tests are run under very low load conditions, which just show that the application works as expected. It aims to reveal if there are any simple failures that could be severe enough to reject the release. They are used as a best practice to verify a build is valid before the test team runs larger tests.
Smoke testing is also known as build verification testing or build acceptance testing.
Soak tests are used to determine application performance and stability over time. They verify that the application works correctly during longer periods of sustained activity. Because an application may sometimes work well for a few hours before starting to experience issues. These tests are particularly useful when tracking down memory leaks.
Spike tests apply sudden, extreme increases and decreases in load to determine the application’s behavior during spikes in traffic. It aims to assess whether performance can be affected by unexpected loads and whether the system is able to handle sharp load changes.
Stress test or torture tests
Stress tests or torture tests push hardware and software capabilities beyond normal operating conditions in order to determine the point at which they break. They help identify which components fail first in order to improve their robustness and efficiency. Thus allowing IT teams to get ahead of potential issues and provide the best possible experience to end users; even if the real load ends up being higher than expected.