AA+W - Fotolia
IoT-Tests auf Kompatibilität, Sicherheit und Zuverlässigkeit
Entwickler sollten vor dem Marktstart die Netzwerkkonnektivität eines Produkts (vor allem WLAN), die langfristige Stabilität und die Interoperabilität der Protokolle testen.
Die Nachrichtenlage rund um das Internet of Things (IoT) wird von Berichten über schlecht funktionierende Lösungen, Sicherheitsmängel und schwierige Benutzererlebnisse beherrscht.
Diese Probleme haben zu einer langsamen Akzeptanz von Smart-Home-Produkten geführt. Die Verbraucher kämpfen hier allerdings mit der Konfiguration, der Konnektivität, Sicherheitsbedenken und einem zersplitterten Markt an verfügbaren Produkten und Technologien. Die Folgen betreffen alle, die von einem starken Wachstum des Smart-Home-Marktes profitieren würden, und schränken neue Umsatzmöglichkeiten etwa für die Hersteller von Unterhaltungselektronik oder die Anbieter von Cloud-Anwendungen ein.
Ursachen dieser Probleme sind zum großen Teil unzureichende Tests und Testwerkzeuge auf Ebene der Netzwerkprotokolle. Die meisten vorhandenen Test-Tools konzentrieren sich auf die IoT-Anwendungen selbst, da sie aus der Welt der reinen Software-Tests stammen. Oder sie konzentrieren sich auf groß angelegte Endpunkt-Sicherheitstests für industrielle Anwendungen. Es gibt nur wenige bis gar keine Tools, die die Netzwerkkonnektivität eines Produkts (vor allem WLAN), die langfristige Stabilität und die Interoperabilität der Protokolle validieren.
Darüber hinaus gibt es beim Fachwissen eine Lücke zwischen Anwendungsentwicklern und Entwicklern von Netzwerk-Stacks. Da immer mehr Unterhaltungselektronik mit Netzwerkfunktionen ausgestattet wird, haben die Entwickler, die sich darauf konzentrieren, neue Funktionen auf den Markt zu bringen, wenig Zeit für die zugrunde liegenden Netzwerktechnologien, die für den Betrieb der IoT-Produkte erforderlich sind.
Was ist zu testen?
Netzwerke sind komplex, und insbesondere Heimnetzwerke stützen sich auf eine Reihe verschiedener Protokolle und Anwendungen, die intelligente Produkte benötigen oder mit denen sie interagieren. Da einige dieser Technologien und Protokolle wie WLAN und IPv6 mit vielen Optionen und Szenarien entwickelt wurden, sind Interoperabilitäts-Tests der einzelnen Komponenten von entscheidender Bedeutung.
Konnektivität und Verhalten des Kernprotokolls
Die IP-Vernetzung bildet zwar den Standard für den Betrieb von Netzwerken, ist aber nicht trivial umzusetzen. Geräte, die eine Verbindung zum Netz herstellen, müssen in der Lage sein, die grundlegende Konnektivität der physischen und der Medium-Access-Control-Schicht, die Zuweisung und Auflösung der Adressen zu bewältigen. Selbst das einfachste Gerät muss das Dynamic Host Configuration Protocol (DHCP) und DNS verwenden. Letzteres ist die Ursache für viele Probleme bei der Nutzung und für Sicherheitslücken.
Da die meisten Gateways in irgendeiner Form IPv6 nutzen, müssen intelligente Geräte sich außerdem darauf verlassen können, dass ihre IPv6-Implementierung reibungslos funktioniert. Beim Testen von DHCPv6 und zustandsloser Adress-Autokonfiguration sind die Zuweisung und Kommunikation von Link-Local-, eindeutigen lokalen und globalen Unicast-Adressen und sogar die Handhabung von DNS über IPv6 von entscheidender Bedeutung für intelligente Geräte. Denn sie müssen interoperabel sein und möglicherweise auch unterbrochene Verbindungen oder Ruhezustände erlauben.
WLAN-Interoperabilität
Käufer von Smart-Home-Produkten erwarten, dass diese in ihrem Heimnetzwerk funktionieren. WLAN ist der Standard für Heimnetzwerke, bietet jedoch eine Vielzahl von Optionen und Funktionen für Sicherheit, Abwärtskompatibilität, Betriebseffizienz und regionale Konformität.
Entwickler müssen intelligente Geräte in allen Betriebsarten, auf verschiedenen Frequenzbändern und Kanälen, mit unterschiedlichen Ländercodes und in allen Sicherheitsmodi testen. Die Abwärtskompatibilität ist die größte Herausforderung für die WLAN-Interoperabilität. Für die Nutzer ist es sehr wichtig, dass intelligente Geräte überall reibungslos arbeiten.
Stabilität und Leistung
Entwickler sollten nicht nur prüfen, ob ein intelligentes Gerät in verschiedenen Netzwerkumgebungen eine Verbindung herstellen kann, sondern auch die Leistung ihrer Produkte über lange Zeiträume hinweg testen. So stellen sie sicher, dass die Geräte auch nach einem Neustart oder der Rückkehr aus dem Ruhezustand wieder funktionieren. Intelligente Geräte verbinden sich häufig mit dem Netzwerk, verlassen es und wählen sich erneut ein. Zudem können Speicherlecks und Speicherfragmentierung zu Leistungsproblemen führen oder ein Gerät ganz außer Betrieb setzen.
Sicherheit
Sicherheit ist offensichtlich das Thema, über das in den Medien über IoT- und Smart-Home-Produkte am meisten gesprochen wird. Sicherheitsbedenken werden mit am häufigsten als Grund genannt, warum die Verbraucher beim Kauf und der Nutzung dieser Produkte nervös sind. Ein grundlegendes Verständnis dafür, wie ein intelligentes Gerät in einem Netzwerk erscheint und wie der Zugriff erfolgt, ist ein notwendiger erster Schritt zur Entwicklung eines sicheren Produkts.
IoT-Geräte für den Einsatz im Smart Home sind für ihre Anwendungen außerdem meist auf Verbindungen zu Cloud-Diensten angewiesen. Die Überwachung des Datenverkehrs, den intelligente Geräte erzeugen, wenn sie mit dem Internet verbunden sind, und die Analyse dieses Datenverkehrs auf unsicheres Verhalten, sind entscheidend. Selbst die Grundlagen wie der Einsatz von HTTPS oder die korrekte Implementierung von Transport Layer Security (TLS) können bei jedem Gerät übersehen werden.
Wie kann man die Qualität der Smart-Home-Technologie verbessern?
Entwickler und Integratoren befinden sich bei diesen Fragen der Netzwerktechnologie in einer schwierigen Lage. Da sie unter Druck stehen, schnell hochwertige Lösungen zu liefern, erwarten sie oft, dass die Netzwerk-Interoperabilität bei der Implementierung von Embedded Linux kostenlos ist. Doch selbst beim Einsatz von Open-Source-Code treten Integrationsprobleme auf.
Entwickler können eine Reihe von Maßnahmen ergreifen, um sich das Leben zu vereinfachen und letztendlich bessere Produkte für die Verbraucher zu entwickeln:
Tests automatisieren
Viele IoT-Entwickler überprüfen die Konnektivität, Stabilität und Leistung ihrer Anwendung manuell. Das ist sehr arbeitsintensiv und zeitaufwendig. Außerdem ist es schwierig, den Überblick über die Ergebnisse zu behalten und während des gesamten Prozesses konsistent zu bleiben.
Daher sollten Entwickler Tools zur Test-Automatisierung einsetzen, die weitgehend ohne menschliche Interaktion auskommen. Zudem bieten sie die Option, Produkte während des Tests aus der Ferne neu zu starten oder auszuschalten. Die unabhängig laufende Automatisierung spart nicht nur viel Zeit und schafft Konsistenz im Testprozess, sondern ermöglicht auch intensive Stabilitätstests über lange Zeiträume hinweg.
Fachwissen ergänzen
Unternehmen, die ihre eigenen Testlösungen entwickeln, sind oft darauf angewiesen, dass ihre Entwickler ihre eigenen Testfälle und Testsoftware programmieren. Dies ist noch arbeitsintensiver als manuelle Tests. Zudem erfordern die meisten Netzwerkprotokolle spezielle Kenntnisse, um das Sende- und Empfangsverhalten so zu implementieren, damit die Interoperabilität der Produkte verbessert wird.
Firmen sollten daher nach Best Practices und Testfällen suchen, die bereits von Experten erstellt wurden. Insbesondere geht es hier um Testszenarien, die sich auf diese komplexen Protokolle konzentrieren und häufig aktualisiert werden, um auf dem Stand der Technik zu bleiben.
Auf die kleinen Dinge achten
Durch das kontinuierliche Testen der Interoperabilität und Stabilität von Protokollen werden Probleme aufgedeckt, die erst dann auftreten, wenn die Geräte und Anwendungen schon lange im Einsatz sind. Subtile Probleme wie Speicherlecks können die Stabilität des Geräts gefährden oder die WLAN-Verbindung unterbrechen. Ein Verhalten, das an sich normal wäre, kann ein Gerät in einen unsicheren Zustand versetzen, in dem Netzwerkports offen, oder sogar noch schlimmer, wenn das System stärker belastet wird.
Letztendlich gibt die Konzentration auf die Konnektivität und Interoperabilität von IoT-Geräten durch wiederholbare, automatisierte Tests Entwicklern und Integratoren mehr Vertrauen in ihre Produkte und die von ihnen unterstützten Services. Ergebnis sind zufriedenere Kunden und eine insgesamt erfolgreichere Branche.
Über den Autor:
Jason Walls ist Direktor für technisches Marketing bei QA Cafe, einem Entwickler von Qualitätstest- und Analyselösungen für Netzwerke und Netzwerkprodukte. Seit über 20 Jahren beschäftigt er sich mit Netzwerktechnologien und hilft dabei, Industriestandards und Open-Source-Projekte für Breitband-, Unternehmens- und Verbrauchernetzwerke voranzutreiben.