Testen IoT-toepassingen vereist eigen strategie

Analisten duikelen over elkaar heen met de meest uitlopende aantallen van dingen die straks allemaal aan het internet hangen. Welk getal het ook zal worden – meer of minder dan 26 miljard objecten in 2020 – het Internet of Things wordt in de komende jaren gemeengoed. Daarmee wordt het nu ook tijd om bestaande teststrategieën te ‘IoT-seren’. Het testen van IoT-toepassingen vereist nu eenmaal een eigen strategie.

Hoe anders is het testen van een IoT-toepassing vergeleken met het testen van een willekeurig stuk nieuwe software of een aangepast systeem? Afgelopen maand werd een aangepaste versie van de TMap marktstandaard testmethodiek gelanceerd voor het Internet of Things. De grootste verschillen met traditioneel testen zijn: 1) de primaire aandacht voor non-functionele aspecten, 2) een andere manier van samenwerken in een it-team en 3) het handelen als een start-upper.

 

Het ‘ding’

Het eerste dat opvalt, is dat nu ook de hardware, het ‘ding’, integraal onderdeel is van de testprocedure. In de bestaande testomgevingen is hardware al een gegeven. Een ERP-applicatie draait op een server in een voorspelbare opstelling, bijvoorbeeld in een datacenter tussen alle andere servers in. De software wordt getest. Niet de server, want de gebruiker mag ervan uitgaan dat de kwaliteit van het apparaat op orde is. Die verantwoordelijkheid ligt tenslotte bij de technologieleverancier. Dat ligt anders bij het ‘ding’ dat verbonden wordt met het internet. Deze hardware wordt veelal zelf gebouwd en is een belangrijk onderdeel van de IoT-toepassing. Of het ding is onderdeel van een product van een leverancier die niet vanzelfsprekend alle testen uitvoert voor de aan te brengen elektronica. De omgeving waarin de IoT-toepassing wordt gebruikt, varieert voortdurend of is op zijn minst veel complexer. Een auto verbonden aan het internet komt in legio omgevingen. Het is uiteraard geen doen om de IoT-toepassing in elke willekeurige omgeving te testen.

 

Vier vaste onderdelen

Een IoT-testaanpak bestaat uit vijf stappen (zie verderop in dit artikel) die geprojecteerd kunnen worden op de vier vaste onderdelen van een IoT-toepassing:

  1. Het object dat wordt voorzien van een (slimme) sensor die informatie verzamelt.
  2. De netwerkverbinding die ervoor zorgt dat het met internet uitgeruste ‘ding’ verbinding maakt met de dataopslag.
  3. Data moeten worden opgeslagen in een cloudomgeving of in een lokaal opslagsysteem. In deze laag worden data ook verwerkt en/of verrijkt.
  4. Gegevens worden ontsloten via een website, mobiele app of een touchscreen op het slimme object.

Deze ‘Connect-Think-Talk-Act’-lagen moeten zowel los van elkaar als in zijn geheel getest kunnen worden.

 

Testuitdagingen

Om te bepalen hoe je de IoT-toepassing gaat testen, moet je vaststellen wat je wilt testen, op welke manier en misschien wel het allerbelangrijkste, waar houdt het testen op? De grote valkuil bij het testen in een IoT-omgeving is dat je onnodig veel gaat testen en dat er overlap ontstaat bij het testen van de verschillende onderdelen, omdat ze zo in elkaar overlopen. Moet je bijvoorbeeld de totale IoT-omgeving simuleren in een huis waar alles verbonden is met het internet? Het is natuurlijk niet de bedoeling dat de auto voor de deur start als je de slimme wasmachine aanzet. Het klinkt vast vreemd, maar het is niet ondenkbaar dat ontwikkelaars dezelfde set commando’s kiezen die via het draadloze netwerk door de ether worden gestuurd.

Met het testen van de slimme wasmachine in de omgeving van de auto wordt dat voorkomen. Het is cruciaal om vast te stellen tot op welk punt in de keten van verbindingen je blijft testen. En stopt met testen. Een eindeloos aantal variabelen valt niet meer te testen. Dat wordt te complex en veel te duur. Gemiddeld genomen is het testen van drie tot vier scenario’s van IoT-omgevingen een uitgangspunt. Uiteraard hangt dat in sterke mate af van de type toepassing.

Non-functioneel

Het is ook een hele uitdaging om ervoor te zorgen dat het fysieke object veilig is. Het ding is veelal een samenstelling van complexe ingebouwde technologie afkomstig van een uiteenlopend aantal leveranciers. Laten we weer die auto als voorbeeld nemen, die verbonden is aan het internet. De verschillende onderdelen komen van honderden leveranciers die allemaal andere veiligheidsmaatregelen treffen. De testers moeten verder gaan dan de gebruikelijke veiligheidstesten. Zo moeten ze ook de veiligheid van afstand kunnen testen.

Om de veiligheid, kwaliteit en een goede gebruikerservaring te testen, verschuift testen in een IoT-omgeving van het functioneel testen naar de non-functionele kwaliteitsaspecten. Zoals de prestaties van de IoT-toepassing, de snelheid, gebruikersvriendelijkheid, de betrouwbaarheid en de compatibiliteit. Die zijn allemaal nog belangrijker dan het testen van alle (combinaties van) functies onder de knoppen van een navigatiesysteem. Of bijvoorbeeld de volledige functionaliteit van een IoT-wasmachine.

Lees het hele verhaal online of in ICT/Magazine van juni.

Gerelateerde berichten...

X