zurück zum Artikel

Lässt sich Mobile Testing auf Tests im Internet der Dinge übertragen?

Bastian Baumgartner, Michael Mlynarski
Lässt sich Mobile Testing auf Tests im Internet der Dinge übertragen?

Beim Internet der Dinge wachsen physische und digitale Welt zunehmend zusammen. Vielfach werden Gegenstände des alltäglichen Lebens mit dem Internet vernetzt, sei es dauerhaft oder zeitweise. Diese Entwicklung wirkt sich speziell auf den Softwaresektor aus, und dieser ist gefragt, angemessen zu reagieren.

Alle, die sich mit dem Thema Qualitätssicherung beschäftigen, stehen vor den folgenden Fragen:

Es lässt sich zwar manches aus der bekannten Testwelt übertragen, doch die Autoren sind der Meinung, dass IoT-Testing kein "alter Wein in neuen Schläuchen" ist. Der Artikel diskutiert deswegen die Gemeinsamkeiten zwischen den Domänen IoT und Mobile und stellt geeignete Testmethoden vor. Damit spricht er Tester und Entwickler gleichermaßen an, die gemeinsam an IoT-Anwendungen arbeiten (wollen).

Zentrale Definitionen und Zusammenhänge zum Thema IoT erklärt die folgende Abbildung:

Definition des Internets der Dinge (Abb. 1)

Definition des Internets der Dinge (Abb. 1)

Eine Erwartung besagt, dass sich das Internet der Dinge ähnlich schnell verbreiten wird wie das Internet. Laut Deloitte waren 60 Prozent der verkauften IoT-Devices im Jahr 2015 für die Unternehmensnutzung bestimmt. Somit sind Unternehmen hier die Vorreiter. Während sich derzeit der Großteil der Bevölkerung noch fragt, warum sie all diese Geräte mit dem Internet verbinden sollen, werden sie sich zukünftig fragen: Warum waren diese Gegenstände nicht schon immer mit dem Internet verbunden?

Die Voraussagen für den Verbrauchermarkt zeigen ein hohes Wachstumspotenzial. Eine Studie von IDC (Quelle: Forecast: A Virtuous Circle of Proven Value and Demand [1], IDC, 2014) geht davon aus, dass die Zahl der verkauften Wearables bis 2019 auf 214 Millionen jährlich anwächst (2015: 80 Mio.). Eine ähnliche Entwicklung wird auch für das Smarthome erwartet. Das Marktvolumen der Hausautomatisierung soll bis 2020 auf 2,5 Milliarden Euro anwachsen. Derzeit werden circa 700 Millionen Euro in Deutschland ausgegeben. Die Anzahl der smarten Haushalte in Deutschland soll 2020 rund 2,4 Millionen betragen.

Bei den vernetzten Dingen selbst gehen die Zahlen ebenfalls deutlich nach oben. Bis 2020, so die Erwartung, wird die Hälfte der Geräte in privaten Haushalten vernetzt sein. Insgesamt könnten weltweit 50 Milliarden vernetzte Geräte in allen Bereichen in Betrieb sein. Ein typischer Haushalt wird im Jahr 2022 bis zu 50 IoT-Geräte benutzen.

Der Schwerpunkt der von den Autoren im letzten Jahr herausgegebenen Marktstudie "How will the Internet of Things challenge (Software) Testing" bildete das Thema "Connected Car". Es hat für das Autoland Deutschland eine hohe Bedeutung und hält ein Mosaik an Aspekten bereit – etwa Elektrofahrzeuge, autonomes Fahren, "Geister"-Taxis von Fahrdienstanbietern und Carsharing-Modelle.

In Westeuropa wurden 2015 13,2 Millionen Neuwagen zugelassen (Deutschland 3,2 Mio.). Wenn man bedenkt, dass ab 2018 jedes Neufahrzeug mit dem sogenannten eCall (emergency call) ausgestattet sein muss, lässt sich leicht erahnen, welche Möglichkeiten und Herausforderungen sich für die Konnektivität allein im Automotive-Bereich ergeben. Bis 2020 soll ein Fünftel der Fahrzeuge (ca. 250 Mio.) vernetzt sein [2].

Durch die Techniken der Konnektivität kommunizieren die Fahrzeuge mit dem Internet, dem Fahrer und der Umgebung. Die Internetverbindung wird durch eine SIM-Karte gewährleistet, die auf verschiedene Weise im Fahrzeug verbaut sein kann (embedded, tethered oder integrated). So eröffnen sich mehrere Möglichkeiten in den Bereichen Fernsteuerung, Info-/Entertainment sowie Fahrzeug- und Mobilitätsmanagement. Darüber hinaus kann das Fahrzeug Informationen mit anderen IoT-Elementen austauschen, etwa mit der Infrastruktur (Verkehrsmeldungen), mit anderen Fahrzeugen oder mit Dingen im Haus und im Büro. Auch autonomes Fahren ist stark von IoT-Elementen abhängig, sei es durch genaues Kartenmaterial und GPS, sei es durch ausgereifte Mensch-Maschine-Schnittstellen, um nur einige zu nennen. Diese Neuentwicklungen wollen im Vorfeld bestmöglich getestet werden. Abbildung 2 fasst die zu erwartenden Entwicklungen im Bereich Qualitätssicherung für Connected Cars zusammen.

Qualitätssicherung im Kontext von Connetcted Cars (Abb. 2)

Qualitätssicherung im Kontext von Connetcted Cars (Abb. 2)

Basierend auf den Beobachtungen (insb. für Connected Car als Beispiel sowohl für IoT als auch Mobile) möchten die Autoren die folgende Hypothese analysieren:

Der Vernetzungsaspekt unterschiedlicher Akteure, wie in Abbildung 3 dargestellt, ist sowohl im
Mobile- als auch im IoT Testing sehr ähnlich. Somit sind Testmethoden aus dem Mobile-Testing-Bereich auf IoT Testing übertragbar.

IoT Testing versus Mobile Testing (Abb.3)

IoT Testing versus Mobile Testing (Abb.3)

In den Fachmedien sind zahlreiche Artikel über IoT erschienen, und gefühlt jeden Monat entsteht ein neues Framework beziehungsweise Protokoll. Gleichzeitig gibt es wenige bis gar keine Lösungen für typische Testprobleme wie E2E-Komplexität (End-to-End), Aufbau einer Testinfrastruktur und Testautomatisierung im Kontext von IoT. Das gilt schon für "normale" funktionale Tests, ohne dass besonderes Augenmerk auf Qualitätsmerkmale wie Effizienz (Last- und Performance-Tests), Security oder Usability gelegt wird.

Für die Analyse und den Beleg der Hypothesen ist ein gemeinsames Verständnis von Mobile Testing und IoT Testing notwendig. In beiden Bereichen lassen sich Herausforderungen identifizieren, die größtenteils vergleichbar sind. Der Markt fürs Mobile Testing verfügt bereit über einige Erfahrungen und Best Practices, die sich auf das Gebiet des IoT Testing übertragen lassen. Auf einer hohen Abstraktionsebene vergleichen die Autoren die identifizierten Herausforderungen beider Domänen und diskutieren die Anwendbarkeit erster Testmethoden aus dem Mobile Testing.

Ziel ist es, die bekannten Methoden für das Mobile Testing zu analysieren und deren Anwendung beim IoT Testing zu erwägen. Folgende Besonderheiten für das Mobile Testing lassen sich bislang identifizieren: Zahlreiche Testmethonden eignen sich besonders für Mobile Testing. Als Testmethode wird dabei eine Methode verstanden, die zur Lösung eines ausgewählten Testing-Problems dienen kann. Beispielsweise helfen diverse Methoden, gute Testfälle zu entwerfen. Hierzu zählen etwa die Äquivalenzklassen-/Grenzwertanalyse, der Entscheidungstabellentest, Use-Case Testing und Session-Based Testing (siehe ISTQB International Software Testing Qualifikation Board).

Neben den erwähnten Beispielen gibt es weitere, die sich als Besonderheiten für Mobile Testing identifizieren lassen. Die Auswahl hier fokussiert auf die Auswahl der tatsächlich relevanten Methoden. Im nächsten Schritt wird das Mapping dieser Testmethoden von Mobile auf IoT nachvollzogen

Die erste Empfehlung an alle, die sich mit dem Testen von IoT-Systemen beschäftigen, lautet, die im vorherigen Abschnitt erwähnten Testmethoden aus dem Mobile Testing heranzuziehen und sie im IoT-Kontext zu prüfen.

Mehr Infos

Empfehlung

Last- und Performance-Tests in IoT-Netzwerken mehrstufig (die Dinge, danach Gateway/Server und dann E2E von der App bis zum Endgerät) planen und durchführen. Die Autoren konnten im Carsharing-Bereich Erfahrung mit Last- und Performance-Tests sammeln. Gerade zu den Hauptzeiten mit dem höchsten Aufkommen an Reservierungen, Buchungen und allen anderen Use Cases wäre ein Ausfall, auch nur von einer Komponente im System, fatal. Das beim Last- und Performance-Test zugrunde gelegte Mengengerüst wurde auf Basis aktueller Zahlen, dem erwarteten Wachstum und unter Berücksichtigung der Last für das folgende Jahr erstellt und der Test ab diesem Zeitpunkt mit jedem Release durchgeführt. Der Last- und Performance-Test im IoT-Umfeld stellt insofern eine Herausforderung dar, da nicht wie bei anderen Softwaresystemen "nur" Last erzeugt, sondern die E2E-Chain vom Backend mit allen Nachbarsystemen, über das Fahrzeug bis zur App und wieder zurück unter Last geprüft werden muss.

Neben den erwähnten Mobile-Testmethoden gibt es weitere Praktiken aus dem Testbereich, die für IoT ebenfalls gelten (s. Abb. 4):

Empfehlungen für das IoT-Testing (Abb.4)

Empfehlungen für das IoT-Testing (Abb.4)

Auch wenn permanent neue Techniken für IoT vorgestellt werden, fehlt es an Ansätzen und Erfahrungen für das Testen solcher Systeme. In diesem Artikel wurde geprüft, welche bekannten Methoden aus dem Mobile Testing übertragbar sind. Die Übertragung ist sicherlich nicht vollständig und bedarf weiterer Diskussion.

Die Autoren glauben, dass der Trend zunehmend in Richtung anwendernaher Tests gehen wird. Nur eine sinnvolle Kombination aus explorativen Tests in der realen Umgebung (z. B. durch Beta-Tester im Crowd-Testing-Modell) und flexiber Automatisierungsstrategie (bspw. hybride Ansätze zwischen Simulation und Testen auf realen Dingen) kann die Komplexität der "neuen Welt" bewältigen.

Michael Mlynarski
ist Informatiker und passionierter Tester mit über 10 Jahren Erfahrung im Software Engineering insbesondere im Testmanagement und Testautomatisierung in agilen Projekten.

Bastian Baumgartner
ist Tester, Testanalyst und Testmanager mit langjähriger Erfahrung im IoT- und Mobile-Testing-Umfeld.
(ane [3])


URL dieses Artikels:
https://www.heise.de/-3674697

Links in diesem Artikel:
[1] https://www.business.att.com/content/article/IoT-worldwide_regional_2014-2020-forecast.pdf
[2] https://www.heise.de/news/Prognose-250-Millionen-vernetzte-Autos-zum-Jahr-2020-2528445.html
[3] mailto:ane@heise.de