Sie sind überall
Ich stelle mir bei dem Begriff Internet of Things (IoT) immer eine wogende Menge kleiner bis grosser Geräte vor, die sich langsam auf mich zubewegt: Autos, Kühlschränke, Kaffeemaschinen, Smartwatches, Sensoren… Klingt erstmal apokalyptisch.
Die Wahrheit ist viel subtiler. Wir sind bereits umgeben von Geräten, die mittels Sensoren Daten sammeln (z.B. die Temperatur), die diese an einen eingebetteten Computer weitergeben und mit anderen Geräten oder Servern via Internet austauschen. Dies geschieht ohne unser Eingreifen und meist auch ohne unsere direkte Kontrolle. Man denke da an das Raumthermometer, das Teil einer Wohnungsklimatisierungsanlage ist, die sich extern steuern lässt. Oder an das Smartmeter, den «intelligenten» Stromzähler im Keller, der den Verbrauch automatisch an den Betreiber meldet. Aber auch wann genau wieviel Strom verbraucht wird.
Was ist IoT?
Unter dem Internet of Things versteht man also ein Netzwerk von Geräten, Fahrzeugen und anderen Dingen die durch eingebettete Elektronik, Software, Sensoren und Aktoren (Stellglieder) mittels eines Netzwerkzugangs Daten sammeln und austauschen können. Diese Geräte tun dies zumeist autark und ohne Interaktion des Anwenders. Auch finden sie sich in ihrer Anwendung in so gut wie allen Bereichen des täglichen Lebens und im industriellen Kontext: Medizinische Überwachung von Vitalwerten, Biochips in Haus- und Zuchttieren, Automobilsensorik, Haustechnik, Containerüberwachung… Die Liste lässt sich endlos fortsetzen. Hier ist aber auch die Grenze zur Mobilfunktechnologie oder den «Mobiles»: Smartphones und Tablets gehören nicht zum IoT, auch wenn sie sich damit verbinden können. Diese Geräte zeichnen sich im Gegensatz zu IoT-Geräten durch eine grafische Benutzeroberfläche, standardisierte Betriebssysteme und damit verbunden ein dominantes App-Universum (Android/iOS) aus, und haben zumeist ein wiedererkennbares und vor allem tragbares Format.
IoT – nur eine Modeerscheinung?
Als Mitglied der Gesellschaft bin ich natürlich auch Moden unterworfen. Ich frage mich daher, warum dieses Internet der Dinge sich scheinbar immer mehr ausbreitet? Wohin ich blicke, finde ich «intelligente» Geräte. Und das ist schon lange nicht mehr nur auf Geräte beschränkt, bei denen eine Internetanbindung eine logische Erweiterung ist (Fernseher, Uhren, et c.). Auf einmal muss auch die Kaffeemaschine einen Internetanschluss haben. Und der Kühlschrank. Und das Auto.
Ich fühle mich in die späten 90er Jahre versetzt, als es schick war, alle möglichen Geräte verkaufsfördernd mit USB-Anschlüssen zu versehen. Alles ist besser mit einem USB-Anschluss. Oder mit Bluetooth oder den blauen LEDs Anfang der 2000er Jahre.
Ist das hier dasselbe? Eine reine verkaufsfördernde Modeerscheinung?
Vielleicht. Jedoch etwas ist dieses Mal anders. Damals gab es mit dem USB Kabel eine beschränkte und deutlich sichtbare Verbindung zum Endgerät. Beim Bluetooth musste man zumindest noch ein Pairing durchführen. Heute bringen IoT-Geräte in den meisten Fällen ihre eigene drahtlose Schnittstelle ins Internet mit: WLAN oder SIM-Karten für das Mobilfunknetz. Viele der Geräte sind klein und der Platz für Benutzerschnittstellen limitiert oder gar über ein zusätzliches Gerät realisiert, wie im Fall von Sensoren für die Heimautomation oder dem implantierten Biosensor.
Was bedeutet das nun für den Tester, der sich in diesem Feld zurechtfinden muss?
Der IoT Tester testet Interoperabilität
Durch den inhärent verteilten Charakter der IoT-Geräte muss der Tester vor allem die Interoperabilität der einzelnen Geräte im Auge behalten. Schon jetzt existieren beispielsweise im Heimautomationsbereich konkurrierende Systeme verschiedener Hersteller. Die Sensoren und Aktoren einer Klimaregelung, Beleuchtungsschaltung, Rollladensteuerungen, etc. kommunizieren im eigenen Verbund mittels proprietärer Protokolle. Geräte von der Konkurrenz können nicht mit dem Verbund kommunizieren. Sobald sich hier jedoch ein technologieübergreifender Standard etabliert hat, können auch Sensoren und Aktoren anderer Hersteller mit dem eigenen Verbund kommunizieren und so kombiniert werden. Hier die Einhaltung des Standards zu überwachen ist essentiell, denn ein paar 100 Geräte zu kontrollieren ist noch machbar. Wenn das Netz auf einige 100.000 oder gar Millionen skaliert, kann nicht mehr jedes einzelne Gerät manuell angefasst werden.
Ein anderer Aspekt ist, dass sich zum Beispiel im Heimautomationsbereich, die Geräte nicht direkt mit dem Internet verbinden, sondern eine «Base Station» verwenden. Über diese Base Station tauschen sie Daten untereinander aus und kommunizieren mit dem Internet. Ein Problem ist, dass diese Verbindung zumeist drahtlos und damit anfällig für Störungen ist. Was passiert mit den Daten, wenn die Verbindung abbricht?
Der Tester muss sich also zusätzlich mit hardwarenahen und automatisier- und skalierbaren Testtechniken auskennen.
Tester, die es gewohnt sind, ausschliesslich mit grafischen Schnittstellen zu interagieren müssen hier umlernen! Maschine-zu-Maschine Kommunikation braucht keine grafischen Schnittstellen. Eine verbreitete Architektur ist der «Representational State Transfer» oder REST. Diese und verwandte Architekturen verlangen vom Tester, dass er auf Schnittstellenebene mit dem Gerät kommunizieren kann. Dies bedeutet in der Praxis, sich an die Kommandozeile zu setzen und Befehle direkt ans Gerät zu senden. Diese Befehle und die zu erwartenden Antworten lassen sich dann, nach dem erfolgreichen manuellen Ausführen an der Kommandozeile mittels eines Automatisierungswerkzeuges zusammenfassen, skalieren und statistisch auswerten.
Der IoT Tester testet Benutzbarkeit
Bei den Geräten, die für den Endbenutzer zur direkten Verwendung gedacht sind, hier zum Beispiel die Wearables oder auch die automatisierte Glühbirne, kommt es darauf an, dass eine schlüssige Bedienerführung existiert. Das stellt den Tester vor neue Herausforderungen, da die Zielgruppe sehr weit gefasst ist: Ein ausgefeiltes, ganzheitliches Benutzbarkeitskonzept ist wichtig. Wearables, die wir am Körper tragen und die zum Accessoire werden, müssen «gut» aussehen und sich gleichzeitig einfach bedienen lassen. Geräte, die zwar stationär sind, aber von allen Mitgliedern eines Haushalts verwendet werden, müssen von diesen gut und sicher bedient werden können, also ohne dass eine Person sich oder andere durch ihre Interaktion und möglichen Fehlbedienungen mit dem Gerät gefährden.
Gleichzeitig müssen sich diese Geräte ohne grossen Aufwand einrichten lassen. Gerade im Fall der Glühbirne muss sich diese quasi sofort nach dem Einschrauben in die Lampe mit der vorhandenen Infrastruktur verbinden und steuern lassen, ohne dass der Besitzer sich um weitere Einrichtungsschritte kümmern muss.
Erfolgsentscheidend für den Tester ist, dass er, mehr denn je mit den unterschiedlichsten Endbenutzern im Hinterkopf, nicht nur die funktionalen Aspekte der
Geräte verifiziert: Hier stehen vor allem die Schlüssigkeit der Bedienerführung und die Einfachheit, mit der der Nutzer mit dem Gerät klarkommt, im Vordergrund. Context-driven Testing ist hier immer mehr die Methode der Wahl. Der Tester muss sich zunächst ein Bild machen, in welchem Kontext (privat Zuhause vs. spezielle Industrieanwendung) das Testobjekt (das Gerät) eingesetzt wird und von wem. Dann muss er gezielt die geeignete Testmethode auswählen und umsetzen.
Der IoT Tester testet Sicherheit
Für die Sicherheit ist wichtig, sicherzustellen, dass der Hersteller möglichst schnell Sicherheitslücken in den Teilen der Software erkennt, die direkt mit dem Internet kommunizieren. Diese Sicherheitslücken lassen sich in zwei wichtige Gruppen unterteilen. Die eine thematisiert Lücken, die es zulassen, dass unberechtigte Dritte sich Zugang zum System verschaffen und es kompromittieren oder für eigene Zwecke missbrauchen. Die andere Gruppe fasst Lücken zusammen, die mit der Datenintegrität und -Sicherheit zu tun haben. Mittels dieser Lücken gehen Daten verloren, lassen sich beim Transport einsehen oder werden versandt, ohne dass der Benutzer damit einverstanden ist.
Ein Schlüssel zum Erfolg ist hier vor allem, dass der Tester sich stets mit den aktuell (oft nicht öffentlich) kommunizierten möglichen Bedrohungen für die Sicherheit auskennt und in der Lage ist, schnell Tests für diese zu entwickeln und umzusetzen. Eine Methode der Wahl wäre zum Beispiel der Penetration Test (Eindringtest) mittels der sog. «Fault Attack» (Fehlerangriff) Methode. Mit dieser Methode wird systematisch auf potentielle Schwachstellen im System getestet. Eine mögliche Schwachstelle wird so direkt angegriffen, um zu überprüfen, ob das System sicher ist.
Gerade bei der Sicherheit muss allerdings ein Umdenken bei den Unternehmen stattfinden! Die Menge der in den Medien thematisierten Sicherheitslücken in Systemen mit Internetanbindung zeigt, dass die Sicherheit kein Aspekt ist, den man zum Ende der Entwicklungszeit nebenbei noch über einen externen Dienstleister testen lässt. Die Sicherheit muss verstärkt zum Hauptthema des gesamten Entwicklungsprojekts werden und damit auch der unternehmensinterne Aufbau von Fachwissen zu diesem Thema.
Der IoT Tester testet Updates
Durch die verteilte Natur der IoT Geräte, steigen die Kosten für Softwarewartung. Sobald das Produkt beim Endkunden im Einsatz ist, wird durch die schiere Menge und der gleichzeitig oft beschränkte Zugang (z.B. bei Sensoren oder dem Biochip) ein manuelles Updaten schwierig. Der Kühlschrank oder Fernseher lässt sich noch per USB Stick aktualisieren. Man denke aber an Sensoren im Auto oder die steuerbare Glühbirne: Dort einfach mit einem USB-Stick ein Update einzuspielen wird schwierig bis unmöglich.
Hier muss der Tester darauf achten, dass die Update- und Distributionsstrategie aufgeht. Installationstests überprüfen bei Einzelgeräten, ob sich die neue Software problemlos einspielen lässt. Dies ist höchst kritisch, da gerade bei fest verbauten Sensoren im Auto oder bei den implantieren Biochips im Falle eines misslungenen Updates nicht einfach eine Neuinstallation durchgeführt werden kann! Zusätzlich überprüft der Tester mittels Last- und Stresstests was passiert, wenn tausende Geräte gleichzeitig versuchen, die neue Software von den Downloadservern des Konzerns zu beziehen und ob diese ausreichend dimensioniert sind.
Quo vadis IoT?
Fakt ist, dass sich das IoT um uns herum befindet und wir mittendrin sind. IoT hat längst den Stand einer Sammlung von RFiD-Chips an Lagerkisten einer einzelnen Unternehmensniederlassung verlassen und hat den Endkunden erreicht.
Ein Mangel an Sicherheit kann hier teuer bis lebensbedrohlich werden. Es ist eine Sache, wenn Amazons «Dash Button» 100-mal Waschmittel bestellt. Etwas ganz Anderes ist es aber, wenn die Pumpen in einem Wasserwerk fremdgesteuert werden und dadurch die Trinkwasserversorgung zum Erliegen kommt.
Auch muss die Software immer auf dem neuesten Stand bezüglich Sicherheitslücken gehalten werden. Hier wird schnell klar, dass ein einfaches «Internetfähigmachen» der Geräte zu kurz gedacht ist (im Vergleich zu USB und Bluetooth um die Jahrtausendwende) und umfangreicher Planung und Einbezug von Sicherheitsaspekten in das Systemdesign bedarf.
Als Tester und auch als Unternehmen muss ich mich mit den Implikationen des IoT konstruktiv auseinandersetzen. Nur so kann ich von den Vorteilen profitieren ohne von den Auswirkungen der Risiken übermannt zu werden.