What is Step-up Performance Test?
The step-up performance test is helpful to identify the performance of a software system at varying loads. Unlike the load test, the step-up test has multiple steady states in a single test. Due to multiple steady states, this test is also called as ‘Multi-level Load Test’. Step-up test starts with less number of users, continue with the same load for a certain period and then increases the load to the next level. At the next load level (step), the test again continues for a defined period of time and jump to another level.
Basically, the Step-up performance test approach applies to a new application especially when the client or project team does not define any non-functional requirement. In the absence of NFRs, a performance tester can easily find out the performance of the application at different user loads and show the result to the client.
How to determine the Step-up Load?
For Existing Application: The step-up test has a very specific objective. Since it is not a mandatory test, so NFRs document may not have a separate requirement for the step-up load test. In such a case, design a workload model which starts with less number of users and goes beyond the stress-test load. There are high chances of getting a break-point in the step-up test at a high load.
For New Application: If the application is new and the client does not know about performance testing metrics, then the step-up approach is the best option. Because a performance tester does not know about the behaviour of the application. The application may fail at 10 user load or even pass at 5000 user load. If he conducts separate load tests of 1 hour each and increases 100 user load in every test then think how many tests he needs to conduct. He may miss the delivery date, so here step-up load test is a better option.
Purpose of Step-up Performance Test:
- Check the performance of the new application where NFRs are not defined
- Identify the behaviour of the application at a different level of load
- Conduct a hybrid performance test on the application
The step-up test is a hybrid test that has the feature of load test, stress test and break-point test. But remember the step-up test cannot replace these performance tests because they have their specific objective.
The approach of a step-up test is the same for both existing applications and new applications. To design the workload model, a performance tester should know or decide the height of the step (User load at each step), the number of steps and steady-state duration.
- Steady State Duration: Ideally, it is in between 10 mins to 30 mins range.
- No. of Steps: It depends upon the test duration and steady-state duration.
- Height of the step (User load): Decide as per the expected load. If the expected load is high like more than 1000 then keep the user load around 100 to 200 per step.
A performance tester prepares a workload model for a step-up test with the below inputs:
- The height of the step (User load at each step): 50
- No. of Steps: 6
- Steady state: 10 mins
Refer to the below graph:
Another possible situation is when a performance tester does not know about the upper limit of user load. In such a case, an open mouth workload model can be designed like a break-point test. Refer to the below graph: