Load, Stress, Soak & Spike Testing Software – Which Techniques To Use?

Not carrying out formal performance testing and a resistance to address performance related issues could have a negative impact on your business.

Having looked at why web and application performance matters for your business in our previous article, here we begin to assess the different types of performance test techniques that exist and the benefits they can each provide.

Neglecting to carry out formal performance testing and a resistance to address performance related issues could have a negative impact on your business. Put simply, unstable, unresponsive and slow applications turn away users.

A regular schedule of performance tests, monitoring and remediation can help to avoid this, and results can prevent unwanted outcomes, such as unresponsive web pages and incomplete purchasing transactions.

Performance testing techniques

In this article we’re going to look at a few of the more common performance testing techniques and how they are applied:

  • Load Testing
  • Stress Testing
  • Soak Testing
  • Spike Testing

Each of these techniques achieve different results, which will help to determine how a system performs in terms of responsiveness and stability, as well as whether various attributes of the application adhere to the product specification.

Load Testing

Load Testing is the standard performance testing technique. How do you know how your system will behave when accessed by a large number of users? Load testing evaluates a system and its behaviour while exposed to a specific load, which is usually the expected volume of traffic the application is likely to be subject to under peak conditions.

The load is evaluated as the number of concurrent users accessing the application or the amount of transactions completed over a set time. The results detail the response times for all requests, while highlighting which transactions take priority over others. Monitoring the system during the test can reveal elements of concern such as bottlenecks within the software or hardware.

Stress Testing

Stress Testing is the logical next step after conducting a load test. The technique aims to assess the upper limits of the system by simulating an exceptional amount of transactions beyond the expected peak levels covered in load testing. This test provides information regarding the maximum capabilities, scalability and breaking points of the product, and is useful for assessing risk factors. Monitoring the application under test could also give clues on how user errors are handled which may help to improve customer experience.

Soak Testing

Where systems expect to be subject to user load over a longer period of time, it is also important to verify that they can sustain ongoing high performance. In this scenario Soak Testing can be executed to assess whether memory leaks and performance degradation would be triggered by continuous usage. The system is exposed to a constant, average level of stress for an extended period, while also simulating periodic traffic peaks. It is then possible to locate, for example, hanging processes which could impact on the long term performance of the system.

Spike Testing

Finally, Spike Testing simulates a sudden increase or decrease in the amount of users and transactions applied to a system. This form of testing aims to assess whether the infrastructure is able to handle intense changes in load and that performance is maintained in fluctuating conditions.

Suitability

In general, a performance test is executed against web products where a lack of stability could present risk factors for the company (e.g. loss of conversions, damage to company reputation) or the infrastructure itself (e.g. payment portal disruptions, issues with the load-balancer).

For some products, reliability under stress is key to their main purpose, for example a road traffic news site in the event of severe traffic.

Each of the software performance testing techniques we have discussed can be executed against any web application. Certain techniques such as spike testing are more beneficial when performed against products that experience sporadic load peaks and are likely to be considered a high risk factor – such as an online sale or ticket booking website. However, a single round of tests can be tailored to include different stress types, in order to meet specific needs. A formal risk assessment can detail high risk factors and could give clues on which technique to choose.

 

Load test graph

Our approach

At Zoonou, our performance testing strategy is always tailored to our client’s specific needs. During an initial assessment, we gain an understanding of the product’s core functionality, the most common user behaviours and data on the likely challenges and risks involved from a performance perspective. For instance, will there be a highly publicised launch, or associated ad campaign, that could drive high levels of users to the application?  

We develop a test script to simulate real-world users interacting with the application. We achieve this by applying genuine test data and scenarios. At the end of a test phase, we provide a formal report, complete with data analysis and identification of specific issues, to help our clients to identify and fix performance issues, and ultimately provide a better experience for their end users.  


If you would like to know more about our performance testing service, feel free to get in touch with one of the team at info@zoonou.com and we’ll get back to you. Check out our Performance Testing page to find out more about the service. If you’d like to get in touch about anything else, please head over to our Contact page.

Keep up to date with the latest news from Zoonou

Get up-to-date information on our business and services by email. You can unsubscribe at anytime, and we will not share your data with any 3rd party marketing organisations. Read our Privacy Notice.

Blog Update Sign Up Form

  • This field is for validation purposes and should be left unchanged.