Skip to content

2020

Performance Regression Testing

Regression Testing, as all Quality Assurance professionals know, is ensuring that previously developed and tested software continues to operate after a change.

Performance Regression being a subset of regression testing as a discipline is therefore ensuring that previously developed and tested continues to meet its performance criteria after a change.

There are subtle differences in the way that performance regression testing is approached when compared with functional regression testing, and we will look to explore these in this Blog Post.

A suitable performance regression strategy can provide huge benefits to your organisation, and we will look that these benefits as well as how to accomplish them.

Once you have a performance regression test suite it is important that it constantly evolves and is not left to become outdated and eventually obsolete, it must be maintained as we will discuss this also, but the benefits of a well-maintained regression pack will exceed the effort required to maintain them.

Kafka Load Testing with JMeter

This post is about Kafka and the process I have been through recently writing a performance test for an application that subscribes to messages from this technology.

The test I ended up with was in the end very straightforward but there were several hurdles that took a while to resolve. I hope that reading this post will hopefully help you avoid them.

The performance testing concepts we will discuss are focused on how to publish messages onto a Kafka topic and will not discuss how to write a test to consume messages from Kafka. We wanted to focus first on some of the concepts of adding messages and we will look at the consumption in a later post.

If you are performance testing an application that subscribes to a Kafka topic then the consumption of messages will be performed by the application you are testing, and therefore you will not need a consumer test.

You will mostly be performance testing an application that consumes from Kafka and would probably only want a consumer if you were testing your implementation of Kafka.

Before we start let’s take a high level look at what Kafka is and how it works.

OctoPerf v12 - Scheduler, slack integration and UI upgrade

It's been some time since our latest major release, in fact OctoPerf v12 is probably our biggest/longest coming release to date. There's of course been a couple of minor versions this summer and we'll also cover them but first let's focus on the new killer features: the scheduler, alerting through slack/mail and a better UI for the menus.

The scheduler is the first item left on our original roadmap (back when OctoPerf was still called jellly.io). Of course we've got a lot more planned on our current roadmap than back then, but still it's an important landmark for us! We've decided to merge it with notifications through slack integration or mail so that you can get the best out of these scheduled tests.

At the same time we've worked on the menus to highlight all the possibilities instead of hiding them in sub-menus.

Improvements

Scheduler

scheduler

Apache JMeter is old

"JMeter is old technology", I hear this a lot.

"Let’s use this tool or that tool instead of JMeter as it’s the latest", I hear this a lot.

"We need a lightweight tool without the GUI interface to write our tests as that will make us more agile", I hear this a lot.

It’s all nonsense it really is, there seems to always be a call for using the most modern technology for all forms of testing whether its Performance Testing or Automated Functional Testing and the result of this is that the people writing the tests spend to long learning the new tools and not enough time building something that will ensure the software being developed is the best it can be.

I am conscious that the above statement is a bit or a generalisation and there are some exceptions but for many organisations this is true.

The aim of all these tools is the same thing, to support your QA journey through to the delivery of a robust, well performing piece of software, the tools you use to accomplish this are not important if you have a robust modular framework in place, and you have a sensible approach to data management and reporting.

We are going to look at in this post the reason why JMeter is so good at what it does and why just because it is considered old technology by some still makes it the right choice for many testing professionals.

JMeter Plugins Overview And Install

JMeter in its vanilla form is a very powerful tool for performance testing, the ability to create complicated test scenarios using the out-of-the box samplers, timers and logic controller can sometimes be extremely difficult and require you to write your own complimentary code.

There are however Plugin’s that exist that can help in building some of the more challenging scenarios.

In this post we are going to look at some of these and discuss how they can be used.

Installing Plugins

The correct way to install plugins when running locally is to use the Plugins manager by selecting Options -> Plugins Manager from the JMeter menu or selecting the Plugins Manager icon.

plugins manager icon