Suchen

Interview + Management Statement "IoT-Anwendungen sind oft überraschend komplex und daher schwer zu testen."

| Redakteur: Julia Moßner-Klett

Keine Software kommt ohne Tests aus, bevor sie live gehen kann. IoT-Dienste kommunizieren mit vielfältigen Cloud-Anwendungen oder greifen auf Sensordaten zurück, die sich nur schwer simulieren lassen. Softwaretests sind daher aufwendig und äußerst komplex. Wir haben Arthur Hicken, Evangelist von Parasoft zu diesem Thema befragt.

Firmen zum Thema

Die Parasoft Tools automatisieren zeitaufwändige Softwaretests und erhöhen die Sicherheit von Software.
Die Parasoft Tools automatisieren zeitaufwändige Softwaretests und erhöhen die Sicherheit von Software.
(Bild: Parasoft)

Arthur Hicken, Evangelist von Parasoft. Er beschäftigt sich seit über 25 Jahren mit verschiedenen Automatisierungspraktiken.
Arthur Hicken, Evangelist von Parasoft. Er beschäftigt sich seit über 25 Jahren mit verschiedenen Automatisierungspraktiken.
(Bild: Parasoft)

Weshalb sind automatische Softwaretests besonders für IoT-Anwendungen sinnvoll?

IoT-Anwendungen sind überraschend komplex. Auch wenn man sich ein intelligentes Gerät gerne so vorstellt, dass es selbst nur ein paar tausend Codezeilen enthält, können moderne Geräte mit extrem umfangreichen Codebasen, viel Speicher usw. umgehen. Was aus einem „Ding“ das „Internet der Dinge“ werden lässt, ist außerdem die Tatsache, dass es mit vielfältigen Cloud-Diensten kommuniziert. Umfassend zu testen, setzt die Fähigkeit voraus, Verbindung mit allen diesen Diensten aufzunehmen, Ausfallzeiten und schleppende Reaktionen zu simulieren, Penetration- und andere Cybersecurity-Tests durchzuführen und noch mehr. Häufig interagieren die zu testenden Geräte außerdem mit der realen Umgebung, sodass sich die entsprechenden Tests schwierig, teuer und zeitraubend gestalten. Um dies in den Griff zu bekommen, muss man sich in maximalem Umfang auf die Testautomation stützen. Würde man stattdessen auf manuelle Tests setzen, würde dies den ganzen Prozess verlangsamen, seine Kosten erhöhen und auch seine Reproduzierbarkeit beeinträchtigen. Im heutigen Softwareentwicklungs-Umfeld haben die Prüfer mehr und mehr die Aufgabe, die Tests auszuarbeiten anstatt sie auszuführen. Das Hauptaugenmerk der Prüfer sollte also auf das Erstellen von Tests gerichtet sein, die sich automatisch ausführen lassen, denn hierfür bedarf es menschlicher Kreativität und Logik. Dagegen sollte menschliche Arbeitskraft und Intelligenz nicht für das schlichte Ausführen von Tests vergeudet werden, denn das können ebenso gut Computer erledigen.

Worin unterscheidet sich das Testen von IoT-Anwendungen von normalen Softwaretests?

Von normalen Tests können sich IoT-Tests durch eine ganze Reihe Faktoren unterscheiden. Oft muss der Prüfling einer Vielzahl realistischer Umgebungsbedingungen ausgesetzt werden, damit eine umfassende Prüfung möglich ist. Er kann dazu auch an Sensoren angeschlossen werden, die auf Daten aus der realen Welt basieren. Deutlich wird dies an einem Brandmeldesystem, das wissen muss, ob Rauch oder Wärme detektiert wurden und ob die Sprinkleranlage funktioniert, um letztere dann einzuschalten und die Behörden zu informieren. Die meisten dieser Aktivitäten wären schwierig zu testen. Eine ähnliche Problematik gibt es bei medizinischen Geräten: Tests an lebenden Menschen sind nicht hinnehmbar, solange nicht die Gewissheit besteht, dass das Gerät unter allen Umständen einwandfrei arbeitet. Andererseits ist man für die Tests auf einen lebendigen Menschen angewiesen, sofern man nicht über eine ausgezeichnete Testinfrastruktur verfügt.

Darüber hinaus können die Prüflinge bestimmten Bedingungen ausgesetzt sein, die durch den Prozessor, den Speicher, die Konnektivität, die Echtzeit und weitere, mit der Software des eingebetteten Geräts einhergehende Restriktionen bedingt sind. „Normale“ Anwendungen laufen dagegen auf herkömmlichen Computern mit großzügigen Ressourcen, sodass es bei den Test-Applikationen weniger auf Effizienz ankommt.

IoT-Anwendungen offenbaren ihre Vorzüge für die Anwender durch die gesammelten Daten. In einem Parasoft-Blog heißt es, dass die ‚Dinge‘ selbst im Prinzip keine Vorteile bieten. Wie kann Parasoft die Hardwarehersteller bei der Generierung eines Mehrwerts unterstützen?

Die “Dinge“ selbst sind nicht besonders interessant, schließlich gehen wir schon seit Jahrzehnten mit Geräten um, die Software enthalten, ohne dass wir uns viele Gedanken darum gemacht hätten – man denke nur an Thermostate usw. Zu einem „intelligenten Ding“ wird etwas durch die Software, die ihm die Fähigkeit zum Fällen hilfreicher und interessanter Entscheidungen verleiht. Ein Beispiel wäre ein Thermostat, der die Innen- und Außentemperatur misst und entsprechend reagiert. Der Schritt zum Internet of Things schafft zusätzliche Möglichkeiten, denn derselbe Thermostat kann jetzt mit dem Alarmsystem im Haus kommunizieren, um zu erfahren, ob Sie zu Hause sind, und sich darauf einstellen. Außerdem kann er mit Ihrem Telefon kommunizieren und daran erkennen, ob Sie auf dem Weg nach Hause sind, um die Raumtemperatur bis zu Ihrem Eintreffen auf einen behaglichen Wert hochzufahren. Erst durch diese Vernetzung wird es wirklich reizvoll.

Parasoft kann verschiedenes dafür tun, dass diese Vernetzung funktioniert: Zunächst einmal müssen die von den Dingen verwendeten Protokolle unterstützt werden. Anstatt sich nur auf einfache TCP-Protokolle zu stützen, gibt es eine Vielzahl schlanker Protokollkonzepte. Zusätzlich steht auf dem Parasoft Virtualize-Marktplatz eine Fülle an vorgefertigten virtuellen Assets zur Verfügung, den wir mit allgemein gebräuchlichen Dingen ergänzen können, z.B. mit einen herkömmlichen Nest-Thermostat sowie oft genutzten Diensten wie Versand, Rechnungsstellung, Musik, Wetter, Navigation und mehr.

Stehen die richtigen Protokolle und virtuellen Assets zur Verfügung, kann sich das Entwicklungs-Team auf seine eigentlichen Stärken konzentrieren - nämlich auf das Austesten der von ihm geschriebenen Software in seinem Fachgebiet, ohne dass die Teammitglieder Experten in anderen Bereichen sein müssen oder Test-Stubs und Harnesses für die Komponenten von Zulieferern erstellen müssen.

Was ist Ihre persönliche Ansicht: In welchem Bereich erwarten Sie in den nächsten fünf Jahren die aufregendsten IoT-Lösungen?

Ich sehe hier zwei miteinander zusammenhängende Gebiete, die wirklich vielversprechend sind: die autonomen Fahrzeuge und die intelligenten Städte. Derzeit erleben wir, dass das autonome Fahren seiner Realisierung immer näher rückt. Die Kommunikation von einem Fahrzeug zum anderen wird hier mehr Effizienz und Sicherheit ermöglichen, als wir derzeit mit menschlichen Fahrern oder den noch in der Entwicklung befindlichen monolithischen Lösungen erreichen können. So sehr man sich auch vor einem Auto, das selbstständig Entscheidungen fällt, fürchten mag, dürfte es wahrscheinlich besser fahren als der durchschnittliche Autofahrer. Diese Fähigkeit lässt sich zusätzlich mit einer intelligenten Stadt verknüpfen, in der das Straßennetz den jeweiligen Bedarf versteht und mit seinen Ampeln, Schnellfahrspuren usw. dynamisch darauf reagiert.

Zudem können intelligente Städte auch in anderen Bereichen Effizienzsteigerungen bringen, wie etwa im Ressourcenmanagement, bei der Reaktion auf notwendige Reparaturen sowie bei einer erheblich effizienteren Energienutzung.

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de (ID: 44860525)