Skip to content

Load Testing Blog

A Guide to Non-Functional Requirements

What are they?

Well, non-functional requirements are requirements that define the operation of the system under test rather than the behaviour of the system under test, or the functional requirements as these are known.

The categories under which non-functional requirements are grouped are numerous with a degree of overlap, we are going to attempt to demystify some of these whilst attempting to articulate how they can be tested and some of the common pitfalls.

The world of non-functional testing can be murky and ambiguous in contrast to its functional counterpart where expected functionality and behaviour is easier to define.

Hopefully this blog post will give some insight in to how non-functional requirements can be tackled and made testable.

OctoPerf 10.6 - Microsoft Azure, Gitlab CI and Oauth2 login

Improvements

Microsoft Azure

Microsoft Azure

We are pleased to announce that you can now connect your own Microsoft Azure account to OctoPerf This way OctoPerf starts agents automatically for you inside your Azure environment exactly the same way we do with AWS. It's a neat option to avoid permanent firewall rules or load agents. Also Azure provides a large number of datacenters. As usual it is also available with your OctoPerf free account. You can find the procedure in our documentation on Microsoft Azure integration.

Is JMeter a good alternative to LoadRunner

The subject of this post is ‘Is JMeter, a good alternative to LoadRunner’.

The short answer is yes absolutely, the longer answer is of course a lot more complex and interesting and worthy of discussion.

We will not discuss the more technical aspects of the tools as there are many, many posts talk about this already and it’s not worth repeating the same thing again.

Let’s look at it from a usability in the real world perspective.

Spring Annotations Demystified

If you're here, it's probably because you have never really understood the differences between those Spring annotations:

  • What is the Spring @Service annotation for?
  • What's the key difference between a class annotated with @Component and @Service?
  • How can I use @PostConstruct and @PreDestroy?

The bad news is Your search is over! It's finally time to get a better understanding of when and how to use those annotations.

The section above describe each annotation and the best way to use them to fully leverage the power of Spring Framework.

All those annotations are designed to:

  • annotate classes,
  • enable instantiation and autowiring of those annotated classes.

But, how do they differ from each other? Let's dive into Spring's internals to find out!

Elasticsearch: Snapshot Backups on a Shared NFS

Disasters can happen. We experienced data loss on our Elasticsearch cluster a few weeks ago after a failed upgrade. That's why data redundancy isn't enough: even when you data is replicated on multiple nodes, your data isn't safe!

Backuping your elasticsearch cluster is another layer of security in case things go wrong:

  • Failed Upgrade: in our case, that's what happened. The data was upgraded but elasticsearch was unable to read it. Several nodes had corrupted data,
  • Intrusions: what if a hacker gains access to your database,
  • Multiple node failures: data is usually replicated on 1+ nodes, but what if several nodes fail simultaneously? It's highly improbable, that's true.

This tutorial is going to explain how we use a shared Network File System connected to all our Elasticsearch nodes to save incremental snapshots of the database every night. Let's see how we can leverage NFS to store Elasticsearch snapshots.