Skip to main content

Automatisatie voor een serverless IoT-platform


Om het gedrag van eindgebruikers te verzamelen en een rating te geven, werden we gevraagd om een cloud native IoT project uit te werken. De verzamelde gegevens werden op een gebruiksvriendelijke manier gevisualiseerd in een mobiele applicatie en een aantal web-based dashboards. Om dit geheel uit te werken, werd voornamelijk gebruikt gemaakt van AWS services om ook zo tot een serverless geheel te komen.

IOT

Uitdaging

Met het platform wou onze klant de nodige data verzamelen en verrijken met behulp van externe system, zoals bijvoorbeeld weerinformatie. Dit geheel werd dan verwerkt in een big-data gebaseerd score algoritme dat dan de eind gebruikers uiteindelijk een overzicht gaf van hun eigen gedrag. Via de mobiele applicatie en de dashboards werden dan ook de nodige tips en tricks gedeeld om hun gedrag te verbeteren.

AWS, IoT, MQTT, serverless infrastructuur ... een cloud native project om handen en vingers bij af te likken. Het was een leuk, maar complex gegeven om test automatisatie op toe te passen.

Oplossing

Tijdens het uitwerken van de functionele vereisten, maakten we gebruik van de principes van behaviour driven development. Hierdoor kwamen we tot een set van features en scenario's die de acceptatie criteria vormden van onze geautomatiseerde test cases. Om de MQTT berichten te valideren, hebben we een op maat gemaakt framework ontwikkeld, dat naadloos kon integreren met Cucumber en AWS.

Om de performantie van het gehele platform te meten, hebben we gebruik gemaakt van onze trouwe vrienden jMeter en Blazemeter. Ook hier was geen out-of-the-box oplossing beschikbaar die MQTT ondersteunde, dus hebben we zelf de nodige add-ons ontwikkeld en geconfigureerd.

Het opstellen van een performantie script dat gebruik maakt van het MQTT protocol was een uitdaging. Door onze technische kennis en op maat gemaakte frameworks hebben we dit wel tot een goed einde gebracht.