Performance Testing — Know your app limit

Have you ever wonder the limit of your applications? Well, you can find out that by doing performance test!

Muhammad Zuhdi
3 min readJun 7, 2021
Photo by Chris Liverani on Unsplash

What is it?

Performance testing is a non-functional type of testing on software development to know the current system performance. It is used for checking the current system’s responsiveness and stability under various workload conditions. In short, it will test the system under multiple and different load conditions and checks how long the system responds to these loads.

What does it checks?

This testing process usually used for testing the software’s speed, scalability, stability and reliability.

  • Speed : Evaluates the system’s speed to response a request
  • Scalability : Evaluates the maximum user load that the system’s can handle
  • Stability : Evaluates if the system is stable under heavy concurrent user load
  • Reliability : Evaluates if the system is reliable under prolonged periods of high user traffic

Types

source : https://www.testingxperts.com/blog/performance-testing-guide/
  • Load Testing

It is performed to validate the system (application under test) performance under normal (around 70% of peak user load) and peak user load. It helps us to tune the system and finalize the baseline. Besides that, this test can be used to identify performance bottleneck before the system goes live.

  • Stress Testing

It is done to identify the breaking point of the system when it’s subjected to a user load beyond the expected peak. The breaking point can be defined as a load at which either the response time degrades beyond 10% or transactions start failing by more than 5%. Usually, the system is subjected by 2 times of user peak load when doing the stress test.

  • Spike Testing

It is a subset of stress testing. It analyzes the behavior of the system by suddenly varying the number of users to check if the system is able to support such situations efficiently.

  • Endurance Testing

It is similar to load testing, but it’s done with a longer period of time (usually, around 8 to 72 hours). With this test, we can check for memory leaks of the system and other random behavior that might be shown by the system.

  • Capacity Testing

It helps to identify the actual number of the users that the system can support with current hardware capacity. Besides that, it can be used to determine the software application’s effectiveness in “scaling up” to support an increase in user load. It also can be a help on planning a capacity addition to your system.

  • Volume Testing

It is used to check the system performance on executing multiple data-intensive transactions and validate if the system behavior is efficient enough to handle various data volumes.

Tools

Performance testing can be done by using many tools, such as JMeter, K6, Locust, Grinder, LoadNinja, etc.

k6

Stress Testing with K6

--

--

No responses yet