Load testing is a method for checking the stability of an ap­plic­a­tion by using simulated loads to test its limits. There are numerous free and paid load testing tools available on the market.

What is a load test?

A load test is used to test the load capacity of a system. These tests can be performed on software during the pre-release phase as well as after a system has already been released for com­mer­cial use.

The aim of load testing is to find out how much a system can achieve before per­form­ance drops sig­ni­fic­antly enough to affect the func­tion­al­ity of the service. To do this, high-demand loads are simulated, even­tu­ally pushing the system to its limits. This can be done by sim­u­lat­ing numerous sim­ul­tan­eous access attempts, or through the re­pe­ti­tion of certain actions in rapid suc­ces­sion. The system then responds to these chal­lenges in the best possible way. During load tests, if an overload occurs, the system is not damaged.

What is the goal of load testing?

Load tests can be used in various ways. In agile software de­vel­op­ment, for example, load tests are used as a quality assurance measure. Before a new software is launched, checks are carried out to better un­der­stand what re­quire­ments the program can handle and determine when it no longer is able to function ef­fi­ciently. Errors that were pre­vi­ously over­looked can also be pin­pointed Checks are also carried out to see how a system handles un­ex­pec­ted ad­di­tion­al loads, at what point lim­it­a­tions occur and how fast the reaction time to errors is.

Existing systems can also be checked using load tests. These tests are commonly used to check the per­form­ance of websites. If operators are expecting a large and un­sched­uled rush, they can simulate the upcoming overload to ensure that their own system can handle the extra load. A larger rush can occur when a new product is launched, a special event is coming up, or ad­vert­ising campaigns are carried out to generate more website traffic. The goal of load testing is to check the re­si­li­ence of a system and its response, so that you can improve per­form­ance in advance if necessary.

Which load tests are there?

Not all load tests are the same. There are different ap­proaches designed for different purposes. The dis­tinc­tions are not entirely clear-cut, and the products of some vendors enable different types of load tests. Roughly, however, there are four different groups: per­form­ance, capacity, stress and endurance.

The per­form­ance test

The per­form­ance test is con­sidered the classic load test and is the simplest form of these test options. The demands placed on a system are com­par­at­ively low. The results show whether a new or existing system can withstand expected loads, and whether the quality of the per­form­ance remains con­sist­ent during this time. This type of load test is suitable, for example, for web apps, which must be able to handle a specific volume of sim­ul­tan­eous access requests. The load test simulates these access requests and checks whether the response times meet ex­pect­a­tions.

The capacity test

This type of load test goes a step further. Instead of asking ‘Can my system do what it is supposed to?’ the question here is, ‘What can my system actually do?’ Instead of sim­u­lat­ing a rush, the load is increased in­cre­ment­ally. To do this, the exact re­quire­ments that the system should fulfil must be de­term­ined in advance. For example, the expected system response time should be de­term­ined before tests are carried out. Once this is es­tab­lished, the load test begins, gradually setting higher re­quire­ments. This continues until the system reaches its limits.

The stress test

The next step up is the stress test. This approach picks up where the capacity test left off. While capacity tests assess how far you can scale a system and then stop at the maximum value, stress tests are designed to in­ten­tion­ally exceed the maximum value. It is not about how much the system can do, but rather how it reacts when it is over­loaded. In this load test, you present the system with an un­solv­able task and then measure response times. You can also see when the system crashes and how it crashes. Running stress tests helps you prepare for such situ­ations should they occur.

The endurance load test

The load tests presented so far are each designed for short periods of time. These pro­ced­ures do not provide any in­form­a­tion on whether a system can withstand high loads over a longer period of time. This is where endurance load tests can be of help. The test is carried out for several hours, or even days, and de­term­ines whether the system remains stable when in con­tinu­ous operation. It also shines a light on which resources are being consumed and whether un­ex­pec­ted errors occur. As most systems are designed to always be available, endurance tests are important for de­term­in­ing the general re­li­ab­il­ity and response time of a system.

What should be done before a load test?

Load tests are a good way to put a system through its paces, assess potential risks in advance, and possibly improve it. However, it’s important to consider a few things before con­duct­ing a load test.

Define ex­pect­a­tions

The first question you should ask yourself is what you want to achieve with the load test. Consider your goals and the questions that the test should answer. Is it a final test before launching? Do you want to check what your system can actually do? Do you want to overload the program to prepare for the worst-case scenario? Or are you primarily concerned with the system’s per­form­ance over a longer period? Depending on your re­quire­ments, you will need a different load test.

Once you are clear about your basic goals, you should define them. What response time do you want to achieve? What should your system be able to do? What values are ac­cept­able and at what point do you need to improve per­form­ance? What maximum loads can you expect? If you answer these questions before per­form­ing the load test, you will be able to generate much more in­sight­ful results.

Determine the schedule

Before con­duct­ing a load test, you should consider at what point in the de­vel­op­ment this test makes sense. If you do it too early, the load test may not produce mean­ing­ful results. However, if you perform it too late, changes based upon the results may not be able to be in­cor­por­ated into the system. If you are working with an existing system, you should consider when the load test will have the least negative impact on your business op­er­a­tions. Choosing the right time is important, es­pe­cially if you are con­duct­ing a con­tinu­ous load test.

Determine effort

Costs differ sig­ni­fic­antly between different load testing tools. There are open-source solutions, but a load testing software with a pricing plan is a good option if you intend to run load tests on a recurring basis. You should determine how much you want to invest in a load test. When de­term­in­ing effort, it’s also important to know how close the test en­vir­on­ment is to the pro­duc­tion en­vir­on­ment. If you want to use multiple load tests, you need to co­ordin­ate them and develop a plan for eval­u­at­ing the test data in advance.

How is a load test performed?

When carrying out a load test, safety should be a top priority. The system should be protected and supported in the best way possible. The following ap­proaches are re­com­men­ded for this purpose:

  • Safety pre­cau­tions: Before starting the load test, create a backup of all the system’s data. If problems occur, you can then quickly switch back to the previous state. Also, check which external systems are connected and make sure that they cannot be affected by the load test.
  • Proceed step by step: Even if you want to test your system on a large scale, it is better to start small. It is worth de­term­in­ing what your system can do in theory before you start.
  • The right software solution: The choice of a suitable software solution also plays a major role. A load test that is tailored to your re­quire­ments will provide you with mean­ing­ful results, allowing you to gain valuable insights.

What tools are available for load testing?

There are numerous tools that spe­cial­ise in load testing that can provide you with valuable services when checking your system. The following programs are great options for con­duct­ing load tests:

JMeter

JMeter is an open-source solution and scores points with its large and helpful community. With JMeter, you can perform load tests for numerous ap­plic­a­tions and servers as well as create simple reports. One dis­ad­vant­age of this solution is its learning curve. However, if you are willing to take the time to learn the program, it is an excellent al­tern­at­ive to costly load testing.

IBM Rational Per­form­ance Tester

The IBM Rational Per­form­ance Tester is a strong contender for per­form­ance and capacity testing. It also lets you write test scripts in Java, generate stat­ist­ics and check your cloud. The load test is com­par­at­ively easy to perform and does not require extensive training. In addition to the free trial version, there are several pricing plans.

Load­Run­ner

Load­Run­ner is a classic in the field of load testing. The program supports numerous tech­no­lo­gies and is available as a free community version and a paid version. Load­Run­ner is easy to use and offers a host of pos­sib­il­it­ies for per­form­ing load tests that can be adapted to your needs.

Go to Main Menu