Gatling is a load testing tool with excellent support for testing out all the HTTP calls in a application. With the latest release there is JMS support as well among many other things.

Gatling scripts are written in Scala DSL. Test simulations will simply have to extend “Simulation”. The DSL is built as fluent API hence building a test case becomes fairly easy.

e.g. The following is a build up for a scenario (A scenario is simply a representation of a set of related user actions) is as follows, Here two user calls, one GET and one POST are part of the simulation. Each of the repeated 50 times for 10 users with a ramp up of 40.
Every time a URL is invoked the expected response code is verified and marked success or failure accordingly.

The simulation set-up is minimal here yet it displays the power of flexibility and ease of use quite well! Though Apache JMeter is another powerful tool in this space (It can be used for many other protocol other than HTTP) when it comes to building up of the scenarios with programmatic ease Gatling fares much better. At the same time the reports generated with Gatling are web based and much detailed which makes it easy to share.

 

+1 for Gatling, this way my testing code can be version controlled easily!

Gatling framework comes with neat HTML reports which can be presented and shared with much ease.
In case you happen to use a CI (who doesn’t like a CI to back their engineering efforts!!) there is a plugin to add Gatling test simulations right into the scheduled builds. This makes it easier to view/compare the performance on a longer term.

Some of the interesting reports :

Main reporting with Jenkins+Gatling plugin

Main reporting with Jenkins+Gatling plugin

 

 

Overall Statistics
Overall Statistics

 

Transactions/second

Transactions/second