Azure Load Testing Preview Could Make Load Testing easier

When developing an application, there are several parts that need to be taken into consideration that are sometimes brushed aside. One of these considerations is load testing. Load testing is done to simulate a real-world load on an application or web application to determine how the system behaves during different loads. Performing a load test is crucial to the success of your application.

Before we take a look at a tool used for load testing, we have to understand what makes this test difficult to perform. Load testing is difficult to maintain as apps are constantly being changed and creating scripts becomes a very tedious process. Although testing is difficult, we do have tools that will help us ease the process and can help companies understand what the thresholds are for their software/application.

One of the tools that we can leverage is Azure Load Testing Preview. This tool is a fully managed load-testing service that enables you to generate high-scale load tests. You can test your application regardless of where it is located (cloud, on premise, etc.). This service will simulate traffic for your applications and will collect metrics that have been specified and display them neatly in a dashboard.

Azure Load Test is based on Apache JMeter, an open-source performance tool. You simply write a script using JMeter and upload that to Azure Load Test. This abstracts the required infrastructure of running a high-scale load test. JMeter will simulate the number of threads (users) that are specified. You can also scare out the load test by configuring the number of test engines. JMeter scripts can be written using the GUI for JMeter. You can also use plugins for Apache JMeter in your test script to monitor components like CPU usage, memory, etc.

Azure will provide the best practices for Azure networking to help ensure that your tests are secure and reliable. Any data that is stored in your Azure Load Testing Resource will be automatically encrypted with keys including your JMeter script.

Azure Load Testing can also be integrated into your Continuous integration/continuous delivery (CI/CD) pipeline during the development cycle. You can set it so the load test runs after a specified sprint or when you would like to confirm a release candidate build has improved the task without causing any performance issues with the application.

As with all solutions, there will be limitations to the services:

  • Only JMeter scripts are allowed to be uploaded

  • Limitations on the number of regions

  • Dashboard update tends to lag at times

  • Test duration is not as long as companies would hope (3 hours max)

I am hopeful these will improve as we are currently in the preview stage, and we might see substantial changes when Load Test is in General Availability.

Azure Load Testing Preview is a great solution for load testing as it can provide you with metrics that can help diagnose where the problem is. Several of the more complicated configurations have been encapsulated to make your testing experience simpler but there is a bit of a learning curve to using Azure Load Test. This is because you will be required to understand Apache JMeter for scripting and understand a bit more than just the application you are testing as it is possible for it to go through multiple areas before getting to the heart of the issue. There is great potential for Azure Load Testing and can become a great tool for companies to make load testing less daunting and be able to diagnose the problem before the users.

We hope it makes a difference in your organization and in the software we provide.


 About the Author: Huzaifa Sohail

Huzaifa is a QA Analyst at Extract Systems and holds Bachelor of Science in Computer Science from UW Madison. His hobbies include learning new things and seeing how he can use what he’s learned in my day-to-day life.