Before we jump right to the internet of things (IoT) testing tools, I think it will help to do a quick overview of the two most common protocols used for IoT devices: MQTT and CoAp.  

Luckily I was able to glean most of this information from Scott Moore, founder of SimpleAPM, who has worked for over 27 years with some of the largest applications and infrastructures in the world.

Read on to learn more about:

First, What is MQTT? 

MQ Telemetry Transport (MQTT) is probably the most popular protocol you’ll deal with when it comes to your IoT performance testing. MQTT is a transport communication protocol, which generally means it’s going to send information.

MQTT was originally developed by IBM to monitor an oil pipeline. It’s based on TCP and has been around since 1999, so it’s not new.

Typically, it uses a publish-subscribe-based messaging model by default. In this setup standard, you have what’s called a broker.

The broker will house topics, and there can be a one-to-one or one-to-many relationship between the publishers of data.

In most cases, an IoT sensor is giving this information to the broker, and a subscriber to the broker. So the subscriber would be the recipient of this information.

It follows that as a sensor publishes data—for instance, the current temperature in a smart home or a break in an oil pipeline, we know that something has ruptured and there’s a problem. For example, it may send a 1 or a 0 to topic one, which could be all about damages, topic two could be temperature values, etc.

The sensor is publishing to these topics, and once it’s been updated, the subscriber is waiting on new information to be received. Once it’s been received, that subscriber does something to it with that data.

MQTT protocol was designed for high volume, very low bandwidth, and low energy utilization, so it could theoretically last out in the field or on a desert pipeline for quite a long time.

It has a very light footprint because it had to be transmitted to a satellite connection (instead of having hardwired internet connectivity) and then back down to a central headquarters area. It is also event-oriented and avoids polling, so you won’t be draining batteries.

Scott Moore IoT Session

The Constrained Application Protocol (CoAP)

is binary and is very much like an HTTP2 in the sense that it’s not sending across a bunch of text; it’s just sending across ones and zeros, which makes it much more efficient. It’s asynchronous, which means it can send data anytime it wants and doesn’t have to wait on something else, yet it has built-in discovery.

It acts very much like a rest service and has four main verbs, similar to HTTP, so it has a GET, a POST, a PUSH, and Delete, supports various mime types, and has HTTP response codes.

CoAP has its own response codes as well. It also supports UDP binding with multicast support, and it has a caching model as well.

Instead of a broker who is sort of that in-between gateway product, with MQTT, you have what’s called a proxy instead.

This proxy takes CoAP traffic and converts it to HTTP so that it can talk to a Cloud-based application on the Web that supports standard HTTP conversation.  

Just like the broker is the middleman for MQTT, the proxy is the middleman for CoAP.

There are some differences between the two, but both protocols are attempting to achieve the same result.

Now that you know a little bit about the protocols, let’s take a look at some common automation tools you can use to test IoT devices.

Which tools support MQTT or CoAP for Performance Testing?

PerfGuild

Discover a Real-World Example of Testing IoT

A great place to see a hands-on demonstration of testing IoT systems and applications is performance testing expert Scott Moore’s upcoming PerfGuild session on IoT performance testing.  

He’ll share the lessons he’s learned about IoT testing as well as walk us through a real-world example of something he’s recently worked on.

After Scott’s session, you’ll have the information you need to build an end-to-end IoT testing strategy.

So shortcut your learning curve to testing an IoT smart city and register NOW to view this and 15+ other awesome sessions that will accelerate your performance and site reliability testing efforts.