Customer need
Our customer wanted to offer insurance companies a platform that maps the driving behavior of prospective and existing policyholders, enabling more accurate risk analysis.
The hardware component was already in place: a dongle mounted in the car that records the necessary telemetry. However, the customer lacked the expertise to design and build a Cloud IoT platform capable of processing this data at scale and making it manageable and insightful for insurers.
They needed a custom development partner to set up the right backend platform, enrich the data with weather information and location details, and implement gamification. Through a mobile app, drivers would receive a score for each trip, along with tips on how to improve their driving behavior.
High-level solution
Development of the backend platform was based on AWS IoT. The in-car dongle sends its data to our backend, which then exposes it to a third-party front end.
We extended this backend with a serverless architecture built on AWS Lambda to maximize platform scalability. This makes both upscaling and downscaling highly efficient, without incurring excessive infrastructure costs.
Finally, the backend platform was integrated with external providers to retrieve location data and weather information.
Refleqt deliverables
Refleqt was responsible for both test automation and performance testing during this project.
Test automation
We delivered a fully automated end-to-end solution with test coverage from dongle to app. Quality gateways were implemented in the CI/CD pipeline to give developers rapid feedback on every code change.
The automation approach was based on Behavior Driven Development. We described the functional behavior of the application and used these functional requirements as input for the test cases.
Because there were no off-the-shelf tools to thoroughly test IoT platforms, we used Mosquitto (MQTT) to send and receive messages. This allowed us to automatically validate all incoming data. Mosquitto also served as a foundation for the rest of the automation.
To test external integrations for weather, location, and the dongle itself, we built a mocking service that ensured fast and reliable tests.
Performance testing
No standard tool was available for performance testing this IoT platform either, so we extended JMeter with open-source plug-ins to support the required performance scenarios.
For the automated functional tests, we used the OpenAPI documentation. In combination with Swagger Codegen, we generated DTOs (Data Transfer Objects) to handle communication with the backend.
We first executed tests on a single dongle, then scaled up to thousands of dongles to verify platform stability. The long-term goal was to support 10 million dongles with an average of 2 to 3 trips per day, meaning the platform must handle 20 to 30 million trips worldwide per day.
Given the global nature of the platform, geographic distribution was crucial. Refleqt also approached load testing globally, running tests from Asia, Europe, and the USA using Blazemeter.
Tools & technologies
- Test automation: Cucumber, Swagger Codegen, Mosquitto, Java, AWS IoT, Maven, JUnit
- CI/CD pipeline: Jenkins
- Performance testing: Blazemeter / JMeter
- Documentation: Atlassian suite
Result
Thanks to the platform’s serverless architecture, no performance issues were encountered.
The IoT-enabled platform, including weather and location enrichments, was successfully delivered to our customer. The backend was also integrated with the mobile application. Refleqt additionally supported the mobile development team in adopting and using the platform effectively.
Related cases
We help organizations gain control over quality and performance with solutions that match their current maturity as well as their future growth.
Load testing of aviobook application in AWS
Aviovision is a Belgian company focused on developing high-quality, innovative solutions for aviation. For example, Aviovision developed a digital ...
View project
Livecadia: latency testen of remote arcade games
Since 1959, Elaut Group has been active in the amusement games industry. Most of the machines you see at fairs and in arcades were likely designed ...
View project
Milan Meuleman
Business development & sales
Contact Refleqt today
Would you like more control over software quality, test automation, or performance? We are happy to explore together how we can support your team with an approach that works in practice.