Gatling is an open source load testing tool. It officially supports HTTP, WebSocket, Server-Sent-Events and JMS. Gatling is developed in Scala and built upon Netty for non-blocking HTTP. It works with Akka for virtual users’ orchestration. This article provides pointers to documentation, tutorials, courses and videos to learn how to use Gatling.
Author: Franco Martinig, Martinig & Associates
Gatling is a highly capable open source load testing tool. It is designed for ease of use, maintainability and high performance. This tool provides excellent support for the HTTP protocol that makes it a preferred choice for load testing any HTTP server. As Gatling core engine is protocol agnostic, it is perfectly possible to implement support for other protocols. For example, Gatling currently also ships JMS support.
Having scenarios that are defined in code and are resource efficient are the two requirements that motivated the creation of Gatling. The scenarios are self-explanatory, as they are based on an expressive DSL. The load testing scripts are easy to maintain and can be kept in a version control system.
Gatling’s architecture is asynchronous as long as the underlying protocol, such as HTTP, can be implemented in a non-blocking way. This kind of architecture allows for implementing virtual users as messages instead of dedicated threads, saving resources. Thus, running thousands of concurrent virtual users is not an issue.
Load testing tools are very helpful to assess the capabilities of websites to achieve a small response time when they receive a high volume of visits. This could be because of a spike in traffic due to the start of the Black Friday or the opening of tickets sales for a large music festival.
Gatling Learning Resources
Gatling Website
The Gatling website offers two sections that can help you learn the tool: the documentation and the Academy.
The Gatling documentation contains a good deal of useful information. It provides three tutorials: introduction to scripting, introduction to the Recorder and writing realistic tests. You will find in this section reference material for installation or reporting. Finally, there are also some guides for using Gatling on AWS or to migrate from an earlier version.
The Gatling Academy section provides free courses to learn Gatling. You can follow either a Java or a Scala-based course. There are currently three modules: running your first tests with Gatling, load testing a eCommerce website and load testing a RESTful API.
Tutorials
* Load Testing with Gatling – The Complete Guide
This tutorial is a complete, detailed and exhaustive guide to proficiently using Gatling for load testing. By the end of this tutorial, you should have a solid grasp of using Gatling for your next load testing project.
Website: https://www.james-willett.com/gatling-load-testing-complete-guide/
Associated YouTube playlist from the same author: https://www.youtube.com/playlist?list=PLw_jGKXm9lIYpTotIJ-R31pXS7qqwXstt
* Gatling Tutorial
The topic of this comprehensive tutorial is how to start performance testing with Gatling.io. It assumes that you are pretty new to performance testing but have some experience in testing overall. The purpose of this tutorial is to know the basics around the tool – Gatling.io and its R&R functionality. I shows you how to set up an environment, the tool and explain essentials regarding the recorded scenario.
Website: https://github.com/agnakro/gatling-tutorial
* Load testing with Gatling in a continuous delivery pipeline
This tutorial shows you how to write tests based on Scala that can be executed as a standalone process or using a Gradle plugin called Gatling.
Website: https://technology.discover.com/posts/load-testing-gatling
* Making Sense of Performance Testing Results with Gatling
Performance testing is a crucial part of ensuring that your application can handle the expected load and deliver a satisfactory user experience. But for many beginners, looking at the stress test report graphs can be overwhelming and confusing. However, understanding these graphs is essential to make informed decisions about your application’s performance and identifying potential bottlenecks before they become major issues.
This blog post explores some of the most common stress test report graphs, such as response time distribution, requests per second, and response time percentile over time, and explains what they mean and how they can help you improve your application’s performance. We will use Gatling’s stress testing reports as examples since it is one of the popular solutions for performance testing. However, it’s worth noting that other tools will produce similar types of graphs.
Videos
* Gatling load testing tool news channel
Website: https://www.youtube.com/@gatlingcorp6755/videos
* Load Testing Crash Course with Gatling by Stéphane Landelle
This presentation will give you some basics about load testing, how to avoid common pitfalls and how to build efficient load tests with Gatling and Java. Stéphane Landelle is the founder of the open-source load testing tool Gatling, for which he is also the CTO since it became a company. He is also the maintainer or committer of several other open-source projects, including Netty and scala-maven-plugin.
Website: https://www.youtube.com/watch?v=RiM1GsVSbzM
* Playlist Gatling : Performance Testing Tool – By Naveen AutomationLabs
Website: https://www.youtube.com/playlist?list=PLFGoYjJG_fqpwTGqK7GKWW7z10jF1G3qw
* Java Testing Made Easy: Performance Testing using Gatling
This video explores how to write Performance Tests for a web applications using Gatling.
Website: https://www.youtube.com/watch?v=AYHeNNxXNDw
* Gatling Step by Step Masterclass | Part 1
Website: https://www.youtube.com/watch?v=Ou1OHS_fXi0
Conclusion
Gatling is one of the best open source load testing tool available. There are many resources, tutorials, videos and courses available for you to learn how to use this open source software testing tool. Mastering its usage will give you the test automation knowledge and skills to perform load testing. This will make you more valuable on the job market for software testers.
What a remarkable article! The way you’ve tackled the topic with such depth is commendable. Readers are sure to gain a great deal from the wealth of knowledge and practical insights you’ve shared. Your profound understanding of the subject shines through every part of the piece. I’m eager to see more of your exceptional work. Thank you for offering your expertise on Gatling and providing us with such enlightening and comprehensive content about load testing.