Introduction to Performance testing

Cedric Damian
Practical Software Testing
3 min readJul 12, 2021

--

Performance testing is a non-functional testing technique that is used to determine the system’s responsiveness and performance under stressful workloads. This gives the developers the diagnostic information they need to identify and eliminate bottlenecks.

There are various techniques of Performance testing that you are going to learn today:

1. Load testing

This is the simplest technique that measures the system's performance under specific workloads, which could be in the form of concurrent users or transactions happening on the system. As the workload increases, we measure the response time and staying power of the system. The workload, however, stays within the parameters of normal working conditions.

2. Stress testing

Also known as fatigue testing, this technique looks to measure how the system performs when the workload goes above the normal working conditions. This could be an increased number of users or concurrent transactions happening. The goal here is to measure the stability; at what point does the system fail and how does it recover from the failure.

3. Soak testing

Also known as endurance testing, it is used to measure how a system performs under normal workload but over a continuous period of time. The goal is to check for system problems such as memory leaks where a system fails to release discarded memory.

4. Spike testing

This is a type of stress testing where the workload is increased repeatedly and quickly. The workload is very large for a short period of time.

5. Volume testing

Also known as flood testing, volume testing floods the system with data and is used to determine how effectively a system performs under large projected amounts of data.

Performance Testing steps

1. Identify the Test environment

Also known as a testbed, this is where the software, hardware, and network configurations to be used for testing are set up. A comprehensive understanding of this environment will make it easier to understand the user scenarios and the problems they may encounter.

2. Identify performance metrics

You must clearly define the success criteria of your application. You should also identify metrics such as response time, throughput, and constraints.

3. Design and plan performance test scenarios

To carry out reliable tests, it is necessary to anticipate how different users will use your application.

4. Develop and execute the tests

In addition to running the performance tests, monitor and capture the data generated

5. Analyse, report, retest.

Analyze the reports and share the findings. Run the performance tests again under different parameters.

Importances of Performance testing

Perfomance testing is important because of the following reasons:

1.Performance tests will ensure your software meets the expected levels of service and provides a positive user experience and customer satisfaction.

2. These tests will highlight the improvements you should make to your application relative to speed, stability and scalability before you deploy to production.

3. Conducting performance testing on your applications reduces the risk of system downtime once applications are released to the public.

4. Perfomance testing will ensure the deployment of an overall higher quality application.

In my next article we will dive deeper into Perfomance testing and look at the different metrics to be measured and also how to automate performance tests.

Cheers!

--

--

Cedric Damian
Practical Software Testing

QA Automation Engineer || Frontend Developer || Lover of Life