Case Insurance IoT

Insurance IoT voor internationale elektronica producent

Het opmeten en analyseren van rijgedrag met behulp van een AWS Cloud IoT oplossing.

Nood van de klant

Onze klant wil een platform aanbieden aan verzekeringsmaatschappijen dat het rijgedrag van potentiële en huidige klanten in kaart brengt om zo een betere risicoanalyse te kunnen uitvoeren.

De hardware oplossing werd reeds voorzien door de klant. Het gaat om een dongle die in de auto opgehangen kan worden en de nodige registraties inleest. Echter ontbrak hen de kennis over het ontwikkelen van een Cloud IoT platform dat alle dataregistraties kan behandelen & beheersbaar kan maken voor de verzekeringsmaatschappijen. 

Onze klant had nood aan een custom development partij die het juiste backend platform kon opzetten en de nodige enrichments met weersinformatie en locatiegegevens kon voorzien. Daarnaast zou ook gamification opgezet dienen te worden waarbij de chauffeur via de app een score per rit & tips om rijgedrag te verbeteren ontving.

High-level oplossing

Ontwikkeling van het backend platform via AWS IoT. De dongle in de auto stuurt zijn data door naar onze backend en deze wordt vrijgegeven aan een third party front-end. 

Deze backend werd technisch uitgebreid met een serverless architectuur gebaseerd op lambda’s om de schaalbaarheid van het platform te verhogen. Op deze manier is up- & downscaling enorm efficiënt en zonder torenhoge infrastructuur kosten.

Last but not least werd er vanuit het backend platform geïntegreerd met externe partijen voor het opvragen van locatiegegevens en weersinformatie.

Refleqt deliverables

Refleqt stond tijdens dit project in voor test automatisatie en performantie testing:

Test automation

Vanuit Refleqt zorgden we voor een volledig geautomatiseerde end-to-end oplossing met test coverage van dongle tot app. Er werden quality gateways gebouwd in de CI/CD pipeline zodat er snelle feedback op een codewijziging wordt aangeboden aan de ontwikkelaars. 

De test automatisatie kwam tot stand door Behavior Driven Development waarbij we het functioneel gedrag van de applicatie beschreven en deze functionele requirements als input hebben gebruikt voor het ontwikkelen van de nodige test cases.

Door het gebrek aan tools om IoT platformen grondig te testen, hebben we gebruik gemaakt van Mosquitto (het MQTT protocol) om berichten te sturen & te ontvangen. Op deze manier waren we in staat om alle inkomende data geautomatiseerd te testen. Deze tool kon overigens ook gebruikt worden voor de rest van de test automatisatie. 

Voor het testen van de externe integraties voor weer & locatie en de dongle zelf hebben we een mocking service opgemaakt die ervoor zorgde dat de testen snel en betrouwbaar konden plaatsvinden.

Performance testing

Ook voor de performantietesten van het IoT platform was geen tool beschikbaar. We hebben de bestaande tool JMeter uitgebreid met open source plug-ins zodat JMeter gebruikt kon worden voor de nodige performantie testen. 

Voor het opzetten van de automatisch functionele testen hebben we de OpenAPI documentatie gebruikt. In combinatie met Swagger Codegen hebben we DTO (Data Transfer Objects) gegenereerd die de communicatie met de backend verzorgde. 

Eerst werden de testen uitgevoerd op één dongle. Daarna hebben we opgeschaald naar duizenden dongles om te kijken of de performantie van het platform nog stabiel bleef. Het doel was om naar 10 miljoen dongles te gaan met gemiddeld 2 à 3 ritten per dag waarbij het platform dus wereldwijd 20 à 30 miljoen ritten moet kunnen registreren. 

Deze geografische verspreiding was zeer belangrijk gezien het wereldwijde platform van onze klant. Ook de load testen werden wereldwijd aangepakt door Refleqt. Loadtesting werden gedaan vanuit Azië, Europa & USA aan de hand van Blazemeter. 

Tools & Technologieën

  • Test automation: Cucumber, Swagger Codegen, Mosquitto, Java, AWS IoT, Maven, JUnit
  • CI/CD Pipeline: Jenkings
  • Performance Testing: Blazemeter/JMeter
  • Documentatie: Atlassian suite

Resultaat

Door de serverless architectuur van het platform werden er op vlak van performantie geen problemen ondervonden. 

Het platform met IoT integratie en de nodige enrichments op vlak van weer en locatie werd opgeleverd aan onze klant. Daarnaast was het ook mogelijk om het backend platform te koppelen aan de mobiele applicatie. Vanuit Refleqt werd ook de nodige ondersteuning aan de mobiele ontwikkelaars geboden bij het gebruik van het platform. 

Heb jij een vergelijkbare uitdaging waar je hulp bij nodig hebt? Neem gerust contact op!