4 große Herausforderungen im IoT Testing 2021/2022

andagon Team in IoT · 30.11.2021 · 6 Min. Lesezeit

Aufdecken, testen und meistern

Laut Gartner steigt die Zahl der IoT-Geräte (Internet of Things) zum Jahr 2026 auf mehr als 20 Milliarden. Beim Testing dieser Geräte – solchen wie Kühlschränke, die automatisch Bestellungen in den Supermarkt aufgeben, bis hin zu selbstfahrenden Autos – wird in den kommenden Jahren eine der größten Herausforderungen für Gerätehersteller und Integratoren aufkommen.

Effektives Testing spielt hier eine entscheidende Rolle. Aber welcher ist denn nun der beste Ansatz? Im Folgenden decken wir vier Herausforderungen auf, die im kommenden Jahr auf IoT-Tester zukommen werden und erklären, wie diese gemeistert werden können.

Das sogenannte „Internet of Things“ (Internet der Dinge) stellt ein Netzwerk zwischen Objekten dar, die mit dem Internet verbunden sind, also Smart Devices, die in der Lage sind, Informationen mithilfe einer festgelegten Methode und eines Datenschemas auszutauschen. Testing im IoT erfordert fundamentale Kenntnisse über Datenverkehr und -protokolle, Hardware Trade-Offs, Software-Coding, Auswirkungen von Big Data, Sicherheit, Benutzererfahrung (User experience) und bedeutet hohe Anforderungen von Endbenutzern und Aufsichtsbehörden.

“Jetzt komm doch mal zur Sache…!”, denken Sie sich bestimmt. Also gut! Sicherlich sind Ihnen diese drei Bereiche schon einmal im Alltag begegnet: Smart Home, Smart Building und Smart City. Jede dieser drei Bereiche hat das Potenzial, das Wachstum im IoT maßgeblich voranzubringen. Dennoch wird die IoT-Branche derzeit von einem erheblichen Problem geplagt. Jedes Jahr gibt die Branche Millionen für den Recall defekter Geräte aus, die im Grunde auf Softwarefehler zurückzuführen sind. Um hohe Verluste sowie Imageschäden zu vermeiden, ist die Einführung von IoT Testing zur Qualitätssicherung (QA) unentbehrlich. Dennoch gibt es eine Reihe von Herausforderungen, die das IoT-Testing erschweren.

Herausforderung Nr.1: Unmenge an verschiedenen IoT-Plattformen

Jedes IoT-Gerät verfügt über seine eigene Hardware und ist gleichermaßen auf eine stabile Software angewiesen, um diese zu steuern. Die App Software wird auch in IoT-Geräte integriert, gibt Befehle an das Gerät aus und analysiert die vom Gerät gesammelten Daten, so etwa Smartwatches von verschiedenen Herstellern mit Android Betriebssystem.

Da es aber so viele Varianten von Soft- und Hardware für allerlei Geräte sowie unterschiedliche Versionen von Firmware und Betriebssystemen gibt, ist es nahezu unmöglich, jede mögliche Kombination von Hard- und Software zu testen. Um also eine sinnvolle Teilmenge zu definieren, die effektiv getestet werden kann, sammeln Sie Informationen von Ihren Endbenutzern, um zu verstehen, welche Geräte und Softwareversionen sie verwenden, und analysieren Sie sie, um die gängigsten Kombinationen zu bestimmen.

Sobald Sie wissen, welche Geräte und Betriebssysteme getestet werden müssen, können Sie den Großteil Ihrer Tests auf diese Kombinationen konzentrieren und kleinere Integritätstests für weniger gängige Kombinationen durchführen.

Herausforderung Nr.2: Enorm viele IoT-Kommunikationsprotokolle

IoT-Geräte verwenden heute viele verschiedene sogenannte Kommunikationsprotokolle (communications protocols), um mit Controllern und untereinander zu interagieren. Protokolle wie Message Queuing Telemetry Transport (MQTT), Extensible Messaging and Presence Protocol (XMPP) und Constrained Application Protocol (CoAP) sind weit verbreitet und haben jeweils ihre eigenen Vor- und Nachteile. ZU den beliebtesten gehört jedoch ganz klar MQTT, das in Situationen mit hoher Latenz und geringer Bandbreite eine durchaus gute Leistung erbringt.

Eine API, die normalerweise auf JavaScript Object Notation (JSON) oder XML basiert, wird oft über das Transportprotokoll (transport protocol) gelegt, um Entwicklern die Interaktion mit dem Gerät zu erleichtern. Softwaretester können die Protokolle und APIs für automatisierte Testings verwenden, wobei das Testdesign davon abhängt, welche APIs und Protokolle verwendet werden. Um effektiv zu arbeiten, muss das Testtool diese Protokolle und APIs unterstützen können.

Herausforderung Nr. 3: Anfälligkeit für Hackerangriffe auf IoT-Geräte

Im Oktober brachte ein riesiger Distributed Denial-of-Service (DDOS) durch einen Angriff auf Dyns Server Giganten wie PayPal, Twitter und Spotify zu Fall. Die Hacker hatten Tausende von anfälligen IoT-Geräten mit einer Malware infiziert, die dazu führte, dass die Geräte Datenverkehr generierten.

Da derzeit mehr als 70 % der IoT-Geräte anfällig für Sicherheitsprobleme sind, ist das Testen auf Sicherheitslücken ein äußerst heikles Thema. IoT-Gerätetester sollten vor allem aber der Passwortrichtlinien des Geräts besondere Aufmerksamkeit schenken. Hier muss sichergestellt werden, dass Mindestanforderungen an Passwörter in das Gerät integriert und auch umgesetzt werden.

Eine empfohlene Vorgehensweise ist hierbei das altbekannte: beim ersten Zugriff eine Passwortänderung vornehmen. Dies soll in erster Linie bei der Entwicklung von automatisierten Tests berücksichtigt werden.

Herausforderung Nr. 4: Schneller Datenverkehr und hohe Belastungen

Miteinander vernetzte IoT-Geräte sind auf schnelle Kommunikation und zügigen Datenverkehr angewiesen, so etwa verlustfreier Datenverkehr bei z.B. sich verändernden Sendemasten beim Reisen. Folglich kann der Netzwerkstatus einen erheblichen Einfluss auf die Geräteleistung haben. Bei intelligenten Geräten treten häufig Probleme mit der Netzwerkinfrastruktur auf, wie beispielsweise überlastete WLAN-Kanäle, unzuverlässige Netzwerkhardware und langsame oder instabile Internetverbindung. IoT-Geräte und -Apps müssen unter verschiedensten Bedingungen getestet werden, um sicherzustellen, dass sie ohne Datenverlust richtig reagieren.

Das Erstellen eines Netzwerks mit den unterschiedlichsten Bedingungen wird allerdings noch viel zu selten praktiziert, daher verwenden viele Teams die Netzwerkvirtualisierung, um programmgesteuert verschiedene Netzwerkbedingungen und -reaktionen zu simulieren. Gerätesystemmetriken, wie CPU und der Speicher, sollten während des Tests genauestens überwacht werden.

Ein IoT-Gerät mit geringem Speichervolumen wird beispielsweise äußerst langsam arbeiten und möglicherweise nicht richtig reagieren. Software auf Desktop- oder Laptop-Computern wird durch Tippen, Klicken oder Tippen des Benutzers aktiviert und getestet. IoT-Geräte sind oft passiv, daher müssen Tester verstehen, welche Geräte verwendet werden und wie sie sich verhalten, was oft einen genauen aber flexiblen Blick auf Tools für Performance Testing und Performance Monitoring voraussetzt.

Ganz abgesehen davon, dass das IoT Testing mit der Zeit auf immer mehr Herausforderungen stößt gibt es eine Reihe an verschiedenen Tools, die es ermöglichen, das Testing von IoT-Systemen effizienter und hochwertiger zu machen. Hier sind einige von ihnen:

  • Das Tool JTAG-Dongle funktioniert als Debugger in Desktop-Apps und wird beim schrittweisen Debuggen des Plattformcodes verwendet.
  • Das Tool Digital Storage Oscilloscope wird verwendet, um verschiedene Ereignisse bei Zeitstempeln, Störungen in der Stromversorgung und Signalintegrität zu überprüfen.
  • Das Tool Wireshark ist eine Open-Source-App, die verwendet wird, um den ein- und ausgehenden Datenverkehr zu überwachen.
  • Das Software Testing-Tool tcpdump ähnelt Wireshark, bietet jedoch keine GUI.
  • Blazemeter ist ein äußerst beliebtes Tool, das für die Verwendung bei API-Tests bekannt ist. Das Tool baut auf JMeter auf. Auch dieses Open-Source-Tool ist nicht neu, es existiert schon seit einiger Zeit auf dem Markt. Die Testing Tools identifizieren ihre eigene domänenspezifische Programmiersprache auf welcher dann die Tests geschrieben und zu jeder Zeit leicht in das JMeter-Format konvertiert werden können. Über das MQTT JMeter-Plugin können Sie IoT-Testings durchführen.
  • SoC Specific ist eines der Top-Tools zur Überwachung von raw packets.
  • IoTIFY wurde mit dem Ansatz Cloud Native entwickelt. Das Testing Tool ist perfekt für eine realistische Internet of Tools-Simulation. Es schafft mehr als Belastungstests: Device to Device Interaction in Echtzeit, GPS-Synchronisierungen und Batteriemodellierung sind nur einige dessen Testingfunktionen.
  • LoadRunner ist ein altes, aber bewährtes und weit verbreitetes Testing Tool. Es unterstützt MQTT und CoAP. Das Tool ist sehr vielseitig und kann daher eine Vielzahl von Testings durchführen.

Ein weiterer wichtiger Player beim IoT-Testing ist das Integration Testing. IoT ist erst dann erfolgreich, wenn der Integration Testing Plan genau und robust genug ist, um Fehler im System zu erkennen.

IOT-Testings können eine harte und herausfordernde Aufgabe sein, aber gleichermaßen auch unglaublich aufregend für das Tester Team, was sich zur Aufgabe macht, ein so kompliziertes Geflecht aus Geräten, Protokollen, Hardware, Betriebssystemen, Firmware zu testen.

Interesse geweckt? Dann schau auf unserer Karriereseite der andagon people GmbH vorbei. Dort findest du alle Stellenangebote im Bereich Software Testing. Wir freuen uns auf dich.

Wenn du weitere Fragen zum IoT Testing hast, dann melde dich gerne bei unserem andagon Expertenteam auf unserer offiziellen Homepage.

Weitere Artikel

Um unsere Website für Sie optimal gestalten zu können, verwenden wir Cookies. Durch die weitere Nutzung dieser Website stimmen Sie der Verwendung von Cookies zu. Die Speicherung Ihrer Daten aus bisherigen und zukünftigen Besuchen, sowie deren Verwendung, erfolgt im Rahmen unserer Datenschutzbestimmungen. Weitere Informationen