User story #1
The big picture
Gatling helps KLM to move from a project oriented to a continuous delivery organization by enabling the integration of load and performance testing into the continuous delivery process.
Being a developer friendly tool, that integrates well with other development tools used at KLM, Gatling was quickly adopted by developers in the product teams.
By integrating performance tests in the delivery pipeline, the teams get daily feedback on performance during a sprint, so that they can detect and solve issues early in the development process.
At KLM there are several business critical web applications. The online booking tool, for instance, generates a significant amount of the airline's total revenues.
Downtime or bad performance of this application can lead to unacceptable loss in revenue. Poorly performing passenger handling applications like internet check-in can lead to large queues at the airport.
Therefore all business critical applications are performance tested thoroughly before go live. The performance tests also provide input for capacity planning.
Shorter time to market without compromising quality
Over the last ten years, all performance tests were executed by a dedicated performance test team of five specialists, testing for approximately 100 go lives per year. Since 2014 KLM is transforming from a projectoriented into a continuous delivery organization.
One of the goals is to shorten time to market by increasing the number of go lives,without compromising on quality.
A new approach
This goal needed a new approach: performance testing should be a part of the delivery pipeline, automating execution and test result analysis as much as possible. Also performance testing should be embedded in the product teams.
This is where Gatling came into the picture. Gatling is a developer friendly tool and integrates well with developer tools used at KLM, like Maven and Bamboo.
Gatling tests are written in Scala IDE's like IntelliJ or Eclipse and are added to application code base in the source repository.
Frequent Feedback During The Sprint
When running performance tests, Gatling load metrics are pushed to Graphite, together with OS and JVM metrics from the tested applications. The test results are then analyzed and benchmarked automatically, using a custom build dashboard application. The Gatling tests can be triggered from the delivery pipeline, resulting in frequent feedback on performance of an application during the sprint.
Gatling, the standard performance test tool within KLM
In the last few months all the major web applications have migrated their performance tests to Gatling, making this the de facto standard performance test tool within KLM.