Soak Test (Endurance Test)

Soak Test (Endurance Test)

What is a Soak Test or Endurance Test?

A non-functional test called a “soak test”  can help to spot memory leaks in software systems. The Soak Test is often referred to as an “Endurance Test.” For a long time during the soak test, the server is subjected to considerable demand. The soak test typically lasts 8 to 24 hours, however, the length of the test may change depending on the needs of the project. The behavior of the garbage collector and memory management may be determined by running a longer-term performance test with an average load.

How to calculate the Average Load?

The business analyst uses previous data to determine the typical load. He may look at information from previous days, weeks, months, or years to determine the average. He uses various mathematical formulas to compute the amount. Refer to the graph below to see how the average load was calculated. It is a typical graph rather than a useful one:

The graph up top displays a month’s worth of historical data. When the given numbers are averaged, the result is the

number that is 100. Therefore, 100 represents the soak test’s typical user load.

In rare circumstances, 50%, 60%, or 75% of peak load might be taken into account for the test if data needed for the computation is not available. However, before running the test, acquire the project team’s approval on these volumes.

For a new application: The project team must appropriately approve the usage of the indicated percentage of peak load for soak testing because a new application lacks historical data. all new and old applications can use the soak test; its goal remains the same in all cases.

Purpose of Soak Test:

  • Make sure the application is sustainable.
  • Examine the reaction time to see whether it has increased.
  • The memory leak should be located.
  • Investigate the garbage collector’s behaviors.
  • Find any bottlenecks if there are any.
  • Get the error % and consider the error that results from the test’s extended time.
  • Ascertain that the resources like CPU, Memory, and Disc do not exceed the specified performance limit.

Approach:

The benefits of the Soak test are not well known by customers. As a result, they omit this test and don’t specify any requirements for a soak test. One of the crucial performance tests, the soak test, aids in the identification of memory leaks. A different set of NFRs must be included in the NFR document for the endurance test. These NFRs relate to things like average user load, response time, transactions per second, etc. Conduct the test at 50%, 60%, or 75% of peak load in the absence of an average load, and examine how the application behaved.

Using known or estimated NFRs, a performance tester creates the longer-duration workload model and runs the test. The ideal endurance test time (excluding ramp-up and ramp-down periods) is 8 to 24 hours. An example user graph for an endurance test is:

This endurance test graph includes a steady state of 23 hours, a ramp-up time of 30 minutes, and a ramp-down duration of 30 minutes. As a result, the test will last 24 hours. After the test is over, a performance tester compares the results to the established load test NFRs.

In a single performance testing cycle, it is advised to design at least two soak tests; only go on to the subsequent type of performance test if the findings of both tests are reliable.

Scroll to Top