JMeter [Automation] for Agile Testing

beachI delivered a “Test Academy” talk at the ExpoQA conference yesterday in Madrid.

It was called JMeter for Agile Testing.

My original proposal was to do something practical, in much the same vein as my TestBash JMeter Performance Testing workshop.

Due to time constraints (the talk was only 90mins) and potential interpretation concerns (the majority of the delegates were Spanish, with English > Spanish interpretation headsets) I decided to try something a bit different.

Instead of having folk work through some examples and get hands-on with automation and scripting, I told them some stories. Narratives on how I had used a tool to solve problems for the teams and projects with whom I’ve worked over the last few years.

I think it worked pretty well. Initial feedback was positive. The (normally quiet) Spaniards seemed engaged and inquisitive. The stories covered a range of testing problems including web and API testing, security, performance and test-tooling.

Probably if there was one thing I would change, it would be to not place so much emphasis on the specific tool, and place more of a focus on being prepared to re-purpose all kinds of automation to solve problems for [test] teams and projects.

That’s a job for next time though.

If you’re interested, the slides are here.

As for me… It’s back to the beach. 🙂

- Simon

P.S If you're interested in learning more about performance testing, checkout my Performance Testing 101 course here.


  • Hi Simon, thanks for sharing the slides. Your approach of using stories / narratives to explain a technical concepts seems interesting to me. Too often in lectures I am sure you will find, unless the audience is really interested in the tool or concept, that people will switch off very easily!

    Could you possibly share (at a very high-level) one or two of the stories you told, and how you tied this into the content you were explaining at the time? Thanks!

    • Simon Knight says:

      Hi James. I probably made it sound better than it actually was. Really the stories were just context setting and an explanation of how automating some stuff with JMeter had benefitted me/the team/the project in some way. Here’s some presenter notes from one of my slides (the Verify Downloaded Files case study) by way of an example:

      – For some reason the web application was displaying the wrong extensions for files that could be downloaded from a government site. The problem was caused by a setting in the content management system, but the issue affected many thousands of files. One of the developers wrote a script to automatically update all of the files, but we needed to verify his script actually did the right thing by downloading the files after the change and verifying they opened in the correct application.
      – The first thing that needed to be done was to identify all of the download files that were likely to be affected by the change – this was done by spidering the site using Xenu Linksleuth
      – Once Linksleuth had produced a report it was a relatively simple matter to identity all of the download links – these could then be placed in a CSV to be used by Jmeter
      – The script to download the files is very simple – just one Sampler is used, but it cycles through all of the links in the CSV file
      – An additional component is added to the script – the Save Responses to a File Listener – to ensure that all of the downloads are stored somewhere, as defined in the listener
      – Once the file extension modification script had been executed on the test environment, I was then able to run the Jmeter script which would download all of the files
      – We could then check some of the files to make sure the change had been successful
      – The Jmeter script also allowed me to check that the change worked across a range of browsers by modifying the User-Agent settings in the Header Manager component – meaning that the change could easily be tested across as many browsers as we needed to

      I hope that helps?

Leave a Reply