Das Wissensportal für IT-Professionals. Entdecke die Tiefe und Breite unseres IT-Contents in exklusiven Themenchannels und Magazinmarken.

SIGS DATACOM GmbH

Lindlaustraße 2c, 53842 Troisdorf

Tel: +49 (0)2241/2341-100

kundenservice@sigs-datacom.de

Testen im Internet der Dinge

Im Internet der Dinge (IoT) entsteht Wertschöpfung aus dem Zusammenspiel von Dingen, Cloud-Plattformen und Benutzerschnittstellen. Das jeweilige Verhalten ist in Software hinterlegt, die in getrennten Domänen entsteht. Der Nachweis des erwünschten Verhaltens mit angemessener Qualität erfolgt durch umfängliche Absicherung mittels weitgehend automatisiertem Test, der jetzt die Domäne Betrieb erobert. Die kontinuierliche Veränderung des IoT-Systems im Betrieb ist dabei nur eine Herausforderung.

  • 18.07.2019
  • Lesezeit: 7 Minuten
  • 71 Views

Im Internet der Dinge (IoT) werden grundverschiedene Domänen, wie Dinge, Cloud-Plattformen und Benutzerschnittstellen, zu IoT-Systemen verknüpft. Die Verknüpfung erfolgt durch Software. Im Zentrum steht der Mensch – als Kunde und Mitarbeiter. Um Aufgabe und Stellenwert des Softwaretests in IoT-Systemen einordnen zu können, ist ein Blick auf deren Wertschöpfung hilfreich.

Wertschöpfung aus Daten

Hinter IoT-Systemen stehen in der Regel datengetriebene Geschäftsmodelle, das heißt, die Wertschöpfung entsteht durch Entscheidungen, die auf Basis von Daten getroffen werden.

Zur Veranschaulichung: Ich möchte jetzt von A nach B kommen und habe die folgende Auswahl: a) mit dem Auto über die Autobahn, b) mit dem Auto über die Landstraße oder c) mittels öffentlichem Nahverkehr. Auf Basis der aktuellen Daten in Tabelle 1 zu Ankunftszeiten und Kosten der möglichen Optionen kann ich mich für das beste Verhältnis von Kosten zu Nutzen entscheiden.

Abhängig von der Situation kann der Nutzen unterschiedlich ausfallen, je nachdem, ob ich besonders schnell oder besonders kostengünstig von A nach B gelangen möchte. Die dabei erzielte Wertschöpfung hängt wesentlich von der angemessenen Qualität der Daten und deren Verarbeitung in der Software ab, zum Beispiel der Vorhersagequalität.

Tabelle 1: Ich möchte jetzt von A nach B

Software ist der Schlüssel

Die für die Datenverarbeitung verantwortliche Software entsteht in unterschiedlichen Domänen mit ursprünglich unterschiedlichen Grundanforderungen, Programmiersprachen und jeweiliger Historie: zum Beispiel Firmware in Embedded Systemen, Netzwerkprotokoll-Stacks, Betriebssysteme für die Cloud und für IT-Plattformen sowie Apps an den Benutzerschnittstellen. Darüber hinaus kann es fachliche Domänen mit ihrer jeweils eigenen Bestandssoftware geben.

Erweitern wir unser Beispiel auf einen hypothetischen Serviceanbieter, der uns auf dem gesamten Planeten von Haustür zu Haustür bringt, dann kommen Domänen, wie (autonome) Mietautos, öffentlicher Nahverkehr, Flugverkehr oder Rikscha-Taxis, hinzu.

Die zentrale Querschnittsanforderung zur Aufrechterhaltung der Wertschöpfung stützt sich auf entsprechende Anforderungen an die Datensicherheit. In unserem Fall spielen die sichere Identifikation der Kunden und die Bereitstellung der jeweils relevanten Daten eine wichtige Rolle. Wertvolle Daten müssen gegen unberechtigten Zugriff oder unerlaubte Veränderung geschützt werden. Datensicherheit ist damit geschäftskritisch und erfordert für die Software – nach typischen IT-Sicherheitsregeln – spätestens nach drei Monaten ein Security-Update. Dies bedeutet eine stetige Anpassung und damit Veränderung der Software in allen Domänen.

Hinzu kommen kontinuierlich Änderungswünsche aufgrund von Kundenfeedback bezüglich neuer Services und Features, der Abrundung von Serviceangeboten und der Umsetzung von Kosteneinsparungen. Abbildung 1 bietet einen groben Eindruck zur Länge der damit verbundenen Prozesskette. Ebenso sind die Bandbreite der beteiligten Domänenspezialisten und der kontinuierliche Ablauf angedeutet.

Abb. 1: Schematisierte IoT-Prozesskette und das Team der beteiligten Domänenspezialisten

Die Erfolgschancen eines IoT-Geschäftsmodells wachsen, wenn alle Beteiligten einen klaren Fokus auf die Wertschöpfung haben. Dabei hilft ein stringentes Qualitätsmanagement, das für die einzelnen Domänen die angemessene Qualität definiert. Kurz gesagt:

  • Zu hohe Qualität kostet Geld und
  • zu geringe Qualität kostet Kunden.

Voraussetzung für eine erfolgreiche Umsetzung ist eine effiziente Zusammenarbeit aller Domänenspezialisten unter gemeinsamen Zielsetzungen. Und der Test spielt dabei eine entscheidende Rolle.

Testen dient dem Nachweis

Der Test dient dem Nachweis des Erreichens der angemessenen Qualität und damit der Freigabe zur Verwendung in nachfolgenden Prozessschritten.

Die gute Nachricht: Eine weitgehende Automatisierung des Tests lohnt sich. Das IoT-System wird kontinuierlich weiterentwickelt. Der automatisierte Test stellt – im Sinne der Regression – eine Investition dar, die durch Wartung geschützt wird.

Die schlechte Nachricht: Der Test bezüglich Funktionalität ist eine wichtige Voraussetzung und stellt nur einen kleinen Teil des Gesamtumfangs dar. Abhängig von der konkreten Risikoanalyse erfordern nicht-funktionale Qualitätsmerkmale, wie IT-Sicherheit, Robustheit, Performanz usw., große Beachtung und einen entsprechenden Testumfang.

Für unser Beispiel bedeutet dies, Tests auszuführen, die beispielsweise überprüfen, dass keine persönlichen Kundendaten in Logdateien landen, dass im Fehlerfall entsprechende Alarmierungen und Eingriffsmöglichkeiten wirken und keine vordefinierte Latenz überschritten wird.

Die dafür notwendige Testbarkeit muss von vornherein berücksichtigt werden. Die Herausforderung: IoT-Systeme sind meist offen angelegt. Quantitativ, was die mögliche Anzahl von Komponenten betrifft, und qualitativ, was die Erweiterung von Schnittstellen zur Kombination mit anderen und neuen Komponenten und Systemen angeht. Dies führt zu einer steigenden Bedeutung des Tests zum Nachweis von Kompatibilität, Interoperabilität und Skalierbarkeit.

In unserem Fall heißt das, den Datenaustausch von und zum Rikscha-Buchungssystem, die Kommunikation zwischen der Kunden-App und einem Rikscha-Taxi sowie die Verteilung einer Busladung von Kunden auf Rikscha-Taxis innerhalb von 10 Minuten zu überprüfen.

Bis zu einem gewissen Grad kann der Test im Labor und damit getrennt vom Produktivsystem durchgeführt werden. Zum Nachweis des erwarteten Verhaltens einer veränderten Software können im Labor prinzipiell auch Ausschnitte von Echtzeitdaten aus dem Produktivsystem verwendet werden. Allerdings stellt dies nur eine Annäherung an das tatsächliche Verhalten dar.

Test im Betrieb

Dementsprechend wichtig wird der Test im Betrieb. Und damit ist aktives Testen im Produktivsystem gemeint, das über das übliche Monitoring im operativen Betrieb und Selbsttests hinausgeht. Da das Verhalten des IoT-Systems nur unvollständig vorhersehbar ist und sich ändern kann, empfiehlt sich ein umsichtiges Vorgehen. Das Risiko einer Beeinträchtigung des Systems durch invasive Tests ist dem Gewinn an Kontrolle aufgrund der durch den Test nachgewiesenen Qualität gegenüberzustellen.

Idealerweise erfolgt ein Abbruch des Tests, wenn Messgrößen des Systems erwartete Korridore verlassen, zum Beispiel wenn die Transaktionsdauer von Datenbankänderungen überschritten wird oder unerwartete Fehlerzustände auftreten. In jedem Fall wird das System nach Ende des Tests in einem konsistenten Zustand hinterlassen. Zur Veranschaulichung seien Stresstests genannt, die zum Nachweis der geforderten Skalierbarkeit dienen.

Für die IT-Sicherheit spielt die Härtung von Servern gegenüber Denial-of-Service-Attacken eine große Rolle. Idealerweise werden solche Tests durchgeführt, wenn möglichst wenige Kunden betroffen sind. Wird das System entgegen der Erwartung überlastet, muss es möglich sein, das System in einen sicheren Zustand zu überführen, ohne kundenrelevante Daten zu verlieren. Die Bereitstellung der dazu notwendigen Testschnittstellen stellt Sicherheitsrisiken bezüglich IT-Sicherheit und funktionaler Sicherheit dar und muss von Anfang an berücksichtigt werden.

Neben den rein technischen Herausforderungen sind auch rechtliche Rahmenbedingungen zu beachten. Sind zum Beispiel beim Test persönliche Daten betroffen, ist die explizite Zustimmung des Nutzers eine notwendige Voraussetzung. Andererseits ist der regelmäßige Nachweis der vertraglichen Zusicherungen (Service Level Agreements) des Rikscha-Taxi-Anbieters relevant für die Wertschöpfung des Gesamtsystems.

Zusammenfassung

Der Test im Internet der Dinge dient der Charakterisierung von Komponenten, Teilsystemen bis hin zum Gesamtsystem. Der Test übernimmt damit gewissermaßen die Realitätsprüfung aller Spezifikationen und Erwartungen. Je umfänglicher die Testabdeckung ist, desto präziser können Vorhersagen über das Verhalten des IoT-Systems getroffen werden.

Die kontinuierliche Auswertung aller Testergebnisse bis in den Betrieb stellt ihrerseits eine datengetriebene Entscheidungsgrundlage für die Weiterentwicklung bereit. Umfängliches Testen sorgt bei IoT-Systemen für eine sichere und ununterbrochene Wertschöpfung.

. . .

Author Image
Zu Inhalten
ist bei sepp.med der Ansprechpartner für Entwicklung und Qualitätssicherung von IoT-Systemen und Mitautor des Lehrplans zum „ASQF Certified Professional for IoT“. Bevor er 2006 zu sepp.med kam, war er in verschiedenen Start-up-Unternehmen tätig, wo er neben der Entwicklung von Medizinprodukten für die Augenheilkunde auch für die Qualitätssicherung einer massiv parallelen DataWarehouse-Applikation verantwortlich war.

Artikel teilen