Skip to content

Load Testing Blog

JMeter: test as code solutions

The rise of the CI/CD methodologies and frameworks have shaped the daily work of application developers and testers. It allowed for the creation of the DevOps model. DevOps culture demanding "everything as code", modern infrastructure tooling has grown to drive the management and configuration of infrastructure components "as code" alike.

From a load testing point of view, we already detailed how to Shift left with JMeter in this blog: Moving the JMeter testing to an earlier stage in the project lifecycle can be done by running load tests saved in a GIT repository from Jenkins. At OctoPerf we think that JMeter is one of the best tools to implement an Agile and Push to Production strategy. We explained how this approach can be useful how in a Load Test Driven Development process.

To sum up, JMeter load testing can efficiently be executed on automation servers but:

  • The JMX format is not VCS friendly, making it hard to work on as a team,
  • Using an external graphical application might be a barrier for programmers.

Application developers know that code and associated configuration files can easily be shared, versioned and reused. It's about time we **take "testing as code" seriously and bridge the gaps between development and load testing activities and teams.

The aim of this blog post is to do an overview of available solutions to do "Jmeter as code" using an existing JMX File.

OctoPerf's new UI - Overview changes

Our new UI has been available for everyone since a few weeks now. It is a major project for us that has taken several years to get to this stage. It's been a lot of effort but we're confident that it will be worth it when you see all the new possibilities.

That being said, we thought it would be helpful to ease you into it by going through some of the key features together. The goal is to talk about the major UI changes that impact most if not all the new screens. Then we'll cover the specifics of each individual steps (like design or runtime) in later blog posts.

Of course the first thing that comes to mind is the navigation through OctoPerf. And we've made a lot of changes in this area.

Left-handed menu

Left hand menu

The top menu has become a left-handed menu now. We've always been trying to keep up with properly adding the new features in the menus like we did last year. But we thought it could be improved further. Typically, we noticed that new users struggled to notice what's inside the workspace menu so we decided to split it into another "Tools" submenu.

Workspace and projects remain visible at all times in order to navigate back to their level easily. It can also be collapsed in order to save horizontal space once you are familiar with the layout and icons.

Adeo - Case study

Adeo is the European leader in the home improvement and DIY market, and number 3 worldwide. Its companies : Leroy Merlin, Bricoman, Weldom, Zôdio… Gather 150 000 leaders and more than 1000 sales points over 20 countries.

Teams all over the world enable ADEO companies be useful to inhabitants while making home a positive place to live.

Thomas Pitteman
Thomas Pitteman Very fond of everything related to computers, he worked in the transport industry before merging work with passion by joining Adeo in 2018. He is now head of load testing, responsible for harmonizing testing methodologies and the onboarding process. He was also an important part of the benchmarking process which resulted in the selection of Octoperf as the new load testing tool.

Marc Lavieville
Marc Lavieville is lead Quality Manager at Adeo. Always attracted to innovations and new challenges, he worked in many different fields before ending up creating the team responsible for quality management at Leroy Merlin. Since that project was a success, and with the emergence of platform mode operation, he was asked to contribute that team to the whole Adeo group.

While load testing was gaining traction in the company, limitations from the usual tool, were found and prevented an easy growth:

  • 5 parallel runs limitation, that could only be upgraded through a very expensive license modification,
  • Floating licensing policy which only allowed 5000 concurrent Vus for the entire company,
  • Load tests duration capped at 8 hours,
  • Insufficient resources on the load generators (2CPU / 8Gb Ram),
  • The lack of a strong relationship with the tool's support team.

All those limitations pushed ADEO to begin the process of acquiring a new tool.

Angular: @ViewChild() and @ContentChildren() decorators

With the release of OctoPerf's new UI we wanted to create a component that would allow our users to easily edit HTTP request actions.

The new UI being heavily inspired by IDEs such as Eclipse or Visual Studio we decided to create a component that behaves likes the project settings panel of IntelliJ:

IntelliJ Settings

This panel displays a tree on its left part with a search input on top. The content of the left part changes depending on the current selection.

While our simplified version will only display a list on the left panel, the idea is to create a composite component :

A visual component made of disparate or separate parts or elements, here a parent settings component and children settings panel components.

BivwAk! - Case study

BivwAk! is the transformation hub for BNP Paribas. Its goal is to bring new services and skillsets at the crossroad of all BNP Paribas entities. It's in this context that Dino learned about OctoPerf.

Dino Dona
Dino Dona is the QA lead at BivwAk! He handles all the testing-related activities.
Dino is very passionate about testing because it's a constantly evolving space.
With new methodologies and tools emerging all the time.

We met Dino at the french testing event JFTL. After a short discussion it was clear that OctoPerf would be a very good fit at BivwAk!