internet things testing
Internet of Things (IoT) testen:
Wanneer mensen een vraag als “Wat zijn de eerste levensbehoeften” voorgeschoteld krijgen, zullen de meesten antwoorden: “Voedsel, onderdak, kleding”.
Maar dat was het geval vóór een eeuw. Mensen zijn geëvolueerd om een handvol extra levensbehoeften te ontwikkelen. We zijn geëvolueerd om ons leven eenvoudiger, beter en gemakkelijker te maken.
hoe verschilt java van c ++
We zijn gestopt met het gebruik van schakelaars om lichten te bedienen, zijn gestopt met betalen bij kiosken om tol te betalen, we hebben onze gezondheidsstatus slim gevolgd, voertuigbewegingen efficiënter gevolgd en veel in de lijst.
Hoe doen we dat nu? Hoe is het zo anders?
We moeten deze eerst begrijpen, waarna we kunnen leren hoe we ze kunnen testen.
Wat je leert:
- Wat is Internet of Things (IoT)?
- IoT-voorbeelden
- Technologie die wordt gebruikt in IoT
- IoT testen
- IoT-testuitdagingen
- IoT-testtools
- Samenvatten
- Aanbevolen literatuur
Wat is Internet of Things (IoT)?
Het IoT is de verbinding van voertuigen, huishoudelijke apparaten, medicinale apparatuur met behulp van ingebouwde elektronica, microchips enz. Om gegevens van een ander soort te verzamelen en uit te wisselen, wordt IoT genoemd. Met deze technologie kan de gebruiker apparaten op afstand bedienen via een netwerk.
IoT-voorbeelden
Enkele voorbeelden van IoT in de praktijk zijn de volgende:
# 1) In draagbare technologie:
Draagbare gadgets zoals Fitbit-bandjes en Apple-horloges synchroniseren eenvoudig met de mobiele apparaten.
Deze helpen bij het vastleggen van noodzakelijke informatie zoals gezondheid, hartslagmeting, slaapactiviteit enz. Ze helpen ook bij het weergeven van gegevens, meldingen van mobiele apparaten erop.
# 2) Infrastructuur en ontwikkeling:
Met behulp van een applicatie zoals CitySense is het gemakkelijker om de realtime gegevens van buitenverlichting te krijgen en op basis hiervan worden de straatverlichting in- of uitgeschakeld. Er zijn ook verschillende toepassingen om verkeerssignalen en parkeermogelijkheden in een uitgekiende stadsindeling te controleren.
# 3) Gezondheidszorg:
Er zijn tal van toepassingen om de gezondheidstoestand van de patiënten te bewaken.
Op basis van de gebenchmarkte gegevens controleren de diensten de dosering van medicijnen op verschillende tijdstippen van een dag. Er zijn toepassingen zoals UroSense die de vloeistofniveaus in het lichaam van de patiënt kunnen controleren en op basis van de behoefte de vloeistofoverdracht kunnen initiëren. Tegelijkertijd kunnen de gegevens draadloos naar verschillende belanghebbenden worden verzonden.
Technologie die wordt gebruikt in IoT
Hieronder volgen enkele van de meest gebruikte technologieën in IoT:
- RFID (Radiofrequentiecode) -tags en EPC (elektronische productcode)
- NFC (Near Field Communication) wordt gebruikt om tweerichtingsinteracties tussen de elektronische apparaten mogelijk te maken. Dit is in principe voor de smartphones en wordt meestal gebruikt om de contactloze betalingstransacties uit te voeren.
- Bluetooth: Dit wordt gebruikt waar communicatie over korte afstanden voldoende is om met het probleem weg te komen. Dit wordt meestal gebruikt in draagbare technologieën.
- Z-Wave: Dit is een RF-comm-technologie met laag vermogen. Dit wordt voornamelijk gebruikt voor domotica, lampsturing etc.
- Wifi: Dit is de meest gebruikte keuze voor IoT. Wanneer u zich op een LAN bevindt, helpt dit bij het naadloos overbrengen van bestanden, gegevens en berichten.
IoT testen
Laten we een voorbeeld nemen van een Medical Healthcare-volgsysteem waarin het instrument de gezondheid, hartslag en vochtinname gegevens bewaakt en een rapport naar de artsen verzendt. Die gegevens worden in het systeem vastgelegd en de historische gegevens kunnen op elk gewenst moment worden bekeken.
Op basis van de gegevens kunnen de artsen beginnen met het innemen van medicijnen en het aanvullen van vloeistoffen. Dit kan op afstand worden geactiveerd vanaf elk van de apparaten (computers of mobiele apparaten) waarmee het medische apparaat is verbonden.
Om een dergelijke architectuur te testen, moeten we meerdere testbenaderingen doorlopen, zoals;
IoT-testbenaderingen
# 1) Bruikbaarheid:
- We moeten ervoor zorgen dat elk apparaat dat hier wordt gebruikt, bruikbaar is.
- Het gebruikte apparaat voor het volgen van medische zorg moet draagbaar genoeg zijn om naar verschillende segmenten van het medische te worden verplaatst.
- De apparatuur moet slim genoeg zijn om niet alleen de meldingen te pushen, maar ook de foutmeldingen, waarschuwingen enz.
- Het systeem moet een optie hebben om alle gebeurtenissen te loggen om duidelijkheid te bieden aan de eindgebruikers. Als het dat niet kan, moet het systeem deze ook naar een database pushen om ze op te slaan.
- De meldingen moeten worden weergegeven en de afhandeling van het display moet correct worden uitgevoerd op de apparaten (computers / mobiele apparaten).
- Bruikbaarheid in termen van het weergeven van gegevens, het verwerken van gegevens, het pushen van taken van de apparaten moet grondig worden getest.
=> Lees meer over algemene bruikbaarheidstesten hier
het toevoegen van een waarde aan een array
# 2) IoT-beveiliging:
- IoT Beveiligingsuitdagingen: IoT is datacentrisch waarbij alle aangesloten apparaten / systemen werken op basis van de beschikbare gegevens.
- Als het gaat om de gegevensstroom tussen apparaten, is er altijd een kans dat de gegevens kunnen worden geopend of gelezen wanneer ze worden overgedragen.
- Vanuit een testoogpunt moeten we controleren of de gegevens beschermd / gecodeerd zijn wanneer ze van het ene apparaat naar het andere worden overgedragen.
- Overal waar een gebruikersinterface is, moeten we ervoor zorgen dat er een wachtwoordbeveiliging op staat.
=> Lees meer over algemene beveiligingstests hier
# 3) Connectiviteit:
- Omdat het een oplossing voor de gezondheidszorg is, speelt connectiviteit een cruciale rol.
- Het systeem moet altijd beschikbaar zijn en naadloos aansluiten op de belanghebbenden.
- Wat betreft connectiviteit zijn twee dingen erg belangrijk om te testen;
- Connectiviteit, gegevensoverdracht en het ontvangen van taken van de apparaten moeten naadloos zijn wanneer de verbinding actief is en actief is.
- De andere voorwaarde is het scenario voor het verbreken van de verbinding. Het maakt niet uit hoe robuust het systeem en het netwerk is, er is een kans dat het systeem offline gaat. Als tester moeten we ook de offline omstandigheden testen. Zodra het systeem niet beschikbaar is op het netwerk, moet er een waarschuwing zijn die de artsen kan waarschuwen, zodat ze kunnen beginnen met het handmatig controleren van de gezondheidstoestand, niet afhankelijk van het systeem totdat het is opgestart. Aan de andere kant moet er een mechanisme in het systeem zijn dat alle gegevens erin kan opslaan tijdens de offline periode. Zodra het systeem online komt, zouden al die gegevens moeten worden verspreid. Er mag in geen enkele omstandigheid sprake zijn van gegevensverlies.
# 4) Prestaties:
- Als we het hebben over een systeem voor een zorgdomein, moeten we ervoor zorgen dat het systeem schaalbaar genoeg is voor het hele ziekenhuis.
- Wanneer het testen wordt uitgevoerd, gebeurt dit voor 2-10 patiënten tegelijk en worden de gegevens doorgegeven aan 10-20 apparaten.
- Wanneer het hele ziekenhuis is aangesloten en 180-200 patiënten zijn aangesloten op het systeem, zijn de gegevens die worden verspreid veel groter dan de geteste gegevens.
- Als testers moeten we ervoor zorgen dat het systeem hetzelfde presteert, ook al worden de toegevoegde gegevens doorgegeven.
- We moeten ook het bewakingsprogramma testen om het systeemgebruik, het stroomverbruik, de temperatuur enz. Weer te geven.
# 5) Compatibiliteitstesten:
- Kijkend naar de complexe architectuur van een IoT-systeem, is compatibiliteitstesten een must.
- Testitems zoals meerdere besturingssysteemversies, browsertypes en respectievelijke versies, generaties apparaten, communicatiemodi ( Voor b.v. Bluetooth 2.0, 3.0) is nodig voor IoT-compatibiliteitstests.
=> Lees meer over algemene beveiligingstests hier
# 6) Piloottesten:
- Wat het IoT betreft, is piloottesten een must.
- Alleen testen in Lab zorgt ervoor dat het product / systeem goed werkt. Maar dit kan een averechts effect hebben wanneer het wordt blootgesteld aan real-time omstandigheden / stappen / scenario's.
- Tijdens piloottesten wordt het systeem blootgesteld aan een beperkt aantal gebruikers in het echte veld. Ze gebruiken de applicatie en geven feedback op het systeem.
- Deze opmerkingen zijn handig om de applicatie robuust genoeg te maken voor de productie-implementatie.
# 7) Regelgevende testen:
- Omdat dit een gezondheidszorgsysteem is, moet het meerdere regelgevende / nalevingscontrolepunten doorlopen.
- Denk aan een scenario waarin het product alle teststappen doorloopt, maar niet slaagt in de laatste nalevingscontrolelijst (testen uitgevoerd door regelgevende instantie).
- Het is een betere gewoonte om de wettelijke vereisten aan het begin van de ontwikkelingscyclus zelf te krijgen. Hetzelfde moet deel uitmaken van de testchecklist.
- Door dat te doen, zorgen we ervoor dat het product ook is gecertificeerd voor de wettelijke checklist.
# 8) Upgrade testen:
- IoT is een combinatie van meerdere protocollen, apparaten, besturingssystemen, firmware, hardware, netwerklagen enz.
- Wanneer een upgrade wordt uitgevoerd, of het nu voor het systeem is of voor een van de betrokken items, zoals hierboven vermeld, moet een grondige regressietest worden uitgevoerd / moet een strategie worden gevolgd om problemen met upgrades te verhelpen.
IoT-testuitdagingen
De uitdagingen waarmee een tester wordt geconfronteerd in IoT zijn als volgt:
# 1) Hardware-software Mesh
IoT is een architectuur die nauw verbonden is met verschillende hardware- en softwarecomponenten. Het zijn niet alleen de softwaretoepassingen die het systeem maken, maar ook de hardware, sensoren, communicatiegateways enz. Spelen ook een cruciale rol.
Alleen het testen van functionaliteit helpt niet om het systeem volledig te certificeren. Er is altijd een afhankelijkheid van elkaar in termen van omgeving, gegevensoverdracht etc. Het wordt dus een vervelende klus vergeleken met het testen van een generiek systeem (alleen software / hardware component).
# 2) Module voor apparaatinteractie
Aangezien dit een architectuur is tussen verschillende sets hardware en software, wordt het verplicht dat ze in realtime / bijna realtime met elkaar praten. Wanneer ze allebei met elkaar integreren, worden zaken als beveiliging, achterwaartse compatibiliteit en upgradeproblemen een uitdaging voor het testteam.
# 3) Real-time data testen
Zoals we eerder hebben besproken dat een piloottest / regelgevende test verplicht is voor een systeem als dit, wordt het ook erg moeilijk om dergelijke gegevens te verkrijgen.
In het testteam zitten, regelgevende controlepunten krijgen of het systeem in de pilot geïmplementeerd krijgen, is erg moeilijk. De stap wordt nog moeilijker als het systeem volgens ons voorbeeld gerelateerd is aan de gezondheidszorg. Dat blijft dus een grote uitdaging voor het testteam.
#4) UI
Het IoT is verspreid over apparaten die tot elk platform behoren (iOS, Android, Windows, linux). Nu kan het testen op apparaten worden gedaan, maar het is bijna onmogelijk om het op alle mogelijke apparaten te testen.
We kunnen niet uitsluiten dat de gebruikersinterface wordt geopend vanaf een apparaat dat we niet bezitten of simuleren. Dat is een uitdaging die moeilijk te overwinnen is.
# 5) Netwerkbeschikbaarheid
Netwerkverbinding speelt een cruciale rol, aangezien bij IoT alles draait om de gegevens die voortdurend met hogere snelheden worden gecommuniceerd. IoT-architectuur moet worden getest in alle soorten netwerkconnectiviteit / -snelheden.
Om dit te testen, worden virtuele netwerksimulatoren meestal gebruikt om de netwerkbelasting, connectiviteit, stabiliteit etc. te variëren. Maar real-time data / netwerk is altijd een nieuw scenario en het testteam weet niet waar de bottleneck zich op de lange termijn zou ontwikkelen.
IoT-testtools
Er zijn verschillende tools die worden gebruikt bij het testen van IoT-systemen.
Ze kunnen worden geclassificeerd op basis van het doel en worden hieronder weergegeven:
# 1) Software:
- Wireshark Dit is een open source-applicatie die wordt gebruikt om het verkeer in de interface, de bron- / bestemmingshostadressen enz.
- Tcpdump Dit doet een soortgelijke taak als de Wireshark, behalve dat deze geen GUI heeft. Dit is een op de opdrachtregel gebaseerd hulpprogramma dat de gebruiker helpt bij het weergeven van de TCP / IP en andere pakketten die via een netwerk worden verzonden of ontvangen.
# 2) Hardware:
- JTAG-dongle: Dit is vergelijkbaar met een debugger in pc-toepassingen. Dit helpt bij het debuggen van de doelplatformcode en toont de variabele stap voor stap.
- Oscilloscoop voor digitale opslag Dit wordt gebruikt om verschillende gebeurtenissen te controleren met tijdstempels, storingen in de voeding, controle van de signaalintegriteit.
- Software-gedefinieerde radio Dit wordt gebruikt om ontvanger en zender te emuleren voor een groot aantal draadloze gateways.
Voor de ontwikkelingslanden om ons heen is IoT een groeimarkt en biedt het veel kansen. De tijd is niet ver dat IoT essentieel wordt voor de testers om te overleven in de ontwikkelingswereld.
De IoT-enabled gadget, smart device-applicatie en communicatiemodule spelen een cruciale rol bij het bestuderen en evalueren van de prestaties en het gedrag van verschillende IoT-services.
Een slecht ontwerp van IoT-compatibele apparaten en services kan de correcte werking van de applicatie belemmeren en op zijn beurt de ervaring van de eindgebruiker negatief beïnvloeden.
Samenvatten
IoT-testaanpak kan verschillen op basis van het betrokken systeem / de architectuur. Testers zouden zich meer moeten concentreren op de Test-As-A-User (TAAS) -benadering in plaats van testen op basis van de vereisten.
gratis ssh-client voor Windows 10
Een andere belangrijke speler in IoT-testen zijn de integratietesten. IoT is succesvol als het integratietestplan nauwkeurig en robuust genoeg is om fouten in het systeem op te sporen.
IOT-testen kan een zware / uitdagende klus zijn, maar het is ook erg spannend voor het testteam om zo'n ingewikkeld netwerk van apparaten, protocollen, hardware, besturingssystemen, firmware enz.
Over de auteur: Dit is een gastpost van Subhasis. Hij werkt als een teamleider met meer dan 8 jaar bedrijfservaring bij Fortune 500 IT-bedrijven op het gebied van Software Quality Assurance, Software Development en Testing.
BIJWERKEN: We hebben een handige Infographics over IoT-onderwerp toegevoegd. Dankzij webeeky.com om dit met ons te delen.
Plaats uw IoT-vragen / opmerkingen hieronder.
Aanbevolen literatuur
- Beste softwaretesttools 2021 (QA Test Automation Tools)
- SaaS-testen: uitdagingen, tools en testaanpak
- Primer eBook downloaden testen
- 11 beste automatiseringstools voor het testen van Android-applicaties (Android App Testing Tools)
- De verschillen tussen unit-tests, integratietests en functionele tests
- Geautomatiseerde regressietests: uitdagingen, processen en stappen
- Laadtests met HP LoadRunner-zelfstudies
- Uitdagingen voor handmatige en automatiseringstests