Het Internet of Things (IoT) groeit exponentieel de komende jaren. Bestaande producten krijgen steeds meer IoT-functionaliteit en het testen ervan is een innovatie op zich.
Testen van een IoT-product
Het kan zo maar zijn dat er straks een IoT-deurbel langs komt om getest te worden. Een simpele druk op de knop en verifiëren of de bel afgaat is niet meer genoeg als testinspanning. Wat is dan de testinspanning als er een IoT-product wordt getest?
Testinspanning neemt exponentieel toe
In een IoT-deurbel zit een camera, vingerafdrukscanner, wifi-connectie met daarnaast een app en lokale dataopslag. Op je telefoon of je smart-TV kun je zien wie er voor de deur staat en op afstand kan de deur worden geopend. Alle beelden van de camera kun je opslaan om te zien wie er allemaal voor je deur heeft gestaan. Vooralsnog dus een beperkte set met nieuwe functionaliteit naast het gewone aanbellen.
Maar de IoT-deurbel kan in een oneindige variatie aan netwerken worden gehangen. De hoeveelheid smart-TV’s en -phones waarmee verbonden kan worden is eindeloos. Om nog maar niet te spreken van verschillende versies smartphone omgevingen waarin de app moet (blijven) werken. Interactie met andere IoT-producten levert nog een extra dimensie aan het aantal testconfiguraties. Het aantal mogelijkheden om te testen is van een paar ‘aanbel-scenario’s’ exponentieel toegenomen naar nagenoeg oneindig veel situaties.
IoT-lagen: hier test je functionaliteit
Een IoT-oplossing is uit elkaar te halen in meerdere lagen. In deze lagen is IoT-functionaliteit veel beter af te bakenen. De lagen zijn geïnspireerd op de IoT-aanpak van Sogeti: Connect-Talk-Think-Act.
- App-laag (Talk): Visualisatie en interactie met gebruiker, denk aan Apps, web-interface, touchpanel
- AppData-laag (Think): Opslag van data, verrijken van data maar ook het zoeken van correlatie tussen IoT-data
- Bridge-laag (Connect): De communicatie van ‘Thing’ naar zijn omgeving, dataopslag, App
- Thing-laag (Act): Het fysieke product met actoren en sensoren.
In deze lagen kan de functionaliteit afgebakend worden beschreven en getest. Het testen van functionaliteit schuift naar een lager niveau en neemt niet meer exponentieel toe.
Zorg voor een probleemvrije IoT-ervaring
Mijn advies: timebox functioneel testen en besteed aandacht en testinspanning aan de TMap kwaliteitsattributen (denk aan security, performance, usability). In het voorbeeld van de IoT-deurbel is het belangrijker te kijken naar een zo klein mogelijke vertraging tussen aanbellen en de notificatie ervan in de bijbehorende app, dan alle verschillende ‘ringtones’ te testen. Door focus op kwaliteitsattributen wordt de werking van het IoT-product in zijn omgeving afgedekt. In het testproces verschuift hiermee de aandacht van het testen van functionaliteit naar zorgen voor een ‘probleemvrije’ IoT-ervaring van een product.
IoT en Testen = IoT
Wil je meer te weten komen over de gevolgen voor testen als IoT-functionaliteit aan een bestaand product wordt toegevoegd? Tijdens de TMap Dag 2015 vertelde ik tijdens een breakout-sessie over de innovaties op testgebied die we nodig hebben om een goed IoT-testtraject te doorlopen. Met IoT groeit functionaliteit namelijk exponentieel en is het onmogelijk alles af te dekken.
Meer weten?
Meer weten over High Tech Testen