Types of Performance Testing

Pavithra M
2 min readSep 16, 2021

Performance Testing

Performance Testing is a software testing process used for testing the speed, response time, stability, reliability, scalability and resource usage of a software application under particular workload.

The main purpose of performance testing is to identify and eliminate the performance bottlenecks in the software application. It is a subset of performance engineering and also known as “Perf Testing”.

The focus of Performance Testing is checking a software program’s

Speed — Determines whether the application responds quickly

Scalability — Determines maximum user load the software application can handle.

Stability — Determines if the application is stable under varying loads

There are two types of performance tests:

Protocol-based tests simulate traffic via HTTP protocols and measure the response time. For example, a test might make an HTTP GET request and measure how long it takes the server to respond to the request with a payload.

Browser-based tests spin up actual web browsers that make requests as a real user would, so it assesses both the time it takes for a response, and the time it takes the browser to fully render the response.

The most common use cases for each performance test type include:

Load Test: Ideal for ensuring consistent performance under an expected load. These tests should run on a regular basis with each major deployment, typically as part of a continuous integration and deployment process.

Stress Test: Ideal for understanding the limits of an application and should be run periodically to identify weak points. These tests are typically run ad hoc when there is a major code change that could impact application performance.

Spike Test: Ideal for testing ahead of a major holiday or event, such as a sale or marketing campaign, to ensure that the application can handle a sudden influx of traffic.

Endurance Test: Ideal for testing following a new release to ensure that it holds up over time. These tests are helpful if there are new processing tasks that could impact performance over time and are typically run ad hoc.

Infrastructure Test: Ideal for testing every now and then to ensure that infrastructure costs remain under control and databases aren’t prone to failure.

Many load testing tools support different performance test types along with both CI/CD and ad-hoc capabilities.

For instance, LoadNinja makes it easy to run all of these performance test types and includes built-in integrations with Jenkins CI to make it easy to run load tests on a continuous basis to ensure performance before each major deployment.

--

--