Hauptpunkte:
- Da die Zahl der IoT-Geräte bis 2030 voraussichtlich auf 29 Milliarden ansteigen wird, ist die zuverlässige Prüfung von IoT-Geräten wichtiger denn je.
- IoT-Systeme bestehen aus vier Ebenen, die alle getestet werden müssen: physische Geräte, Konnektivität, Cloud-Plattformen und Benutzer-Apps.
- Es gibt 8 Arten von IoT-Tests, darunter Funktions-, Leistungs-, Sicherheits- und Usability-Tests.
- Die Sicherheitsprüfung in der IoT-Branche geht über die Software-Ebene hinaus. Auch Firmware, Hardware-Schnittstellen und Cloud-APIs müssen überprüft werden.
- Die Leistungsprüfung ist der anspruchsvollste Teil, da sie sicherstellt, dass das System auch unter realen Belastungen und Störungen funktioniert.
- Mit dem Wachstum von IoT-Systemen muss man manuelle Tests durch IoT-Automatisierungstests ersetzen oder unterstützen.
- Ein IoT-Testframework kombiniert Tools, Skripts und Szenarien in einen strukturierten, wiederholbaren IoT-QA-Prozess.
- Eine gängige Test-Stack-Lösung verwendet JMeter, Telegraf, InfluxDB und Grafana, die zusammenarbeiten.
- Unternehmen wie Toyota und RAK Wireless haben kostspielige Ausfälle vermieden, indem sie frühzeitig strukturierte Leistungsanalysen anwandten.
- Die Software-Testung im Internet der Dinge ist komplexer als die normale Software-Testung, da sie Hardware, Firmware, Protokolle und Echtzeitdaten umfasst.
- In regulierten Branchen muss die Einhaltung der Vorschriften bereits von Anfang an in den Testprozess integriert werden, anstatt als abschließender Überprüfungsschritt behandelt zu werden.
- Die Testanforderungen variieren je nach Branche: In der Gesundheitsbranche wird das IoT durch die Sicherheit der Patienten getrieben, im industriellen Bereich durch die Einschränkungen der OT-Technologie und im Logistikbereich durch die Herausforderungen der Skalierung über unzuverlässige Netzwerke.
- Die Integration von Tests bereits in der Entwicklungskette spart Zeit, Geld und Vertrauen der Nutzer.
Die Anzahl der Internet der Dinge (IoT) Geräte weltweit Die Zahl soll 2030 bei 29 Milliarden betragen. Laut der Forschungsorganisation Transforma Insights. Diese IoT-Geräte Inklusive einer breiten Palette von Produkten, von medizinischen Sensoren über intelligente Fahrzeuge, Smartphones, Fitness-Tracker und Alarme bis hin zu alltäglichen Geräten wie Kaffeemaschinen und Kühlschränken.
Für Hersteller und Anbieter von IoT-Lösungen stellt die Gewährleistung, dass jedes Gerät korrekt funktioniert und die zunehmenden Belastungen bewältigen kann, eine erhebliche Herausforderung dar. Hier kommt Testen von Internet of Things (IoT) Es stellt sicher, dass IoT-Geräte und -Systeme die Anforderungen erfüllen und die erwartete Leistung liefern.
In diesem Leitfaden werden wir die Themen IoT-Testing und Qualitätssicherung (QA) untersuchen – von der Bedeutung umfassender Tests für komplexe IoT-Systeme bis hin zu Expertenmeinungen zu der Erstellung von End-to-End-Testumgebungen und realen Beispielen von Unternehmen, die dies richtig gemacht haben. Lassen Sie uns loslegen.
Die entscheidende Rolle der IoT-Tests
Der Erfolg vernetzter Produkte hängt maßgeblich von gründlichen Tests und der Qualitätssicherung ab. Die IoT-Testung stellt sicher, dass Geräte in realen Situationen reibungslos zusammenarbeiten, auch wenn die Systeme weiter ausgebaut werden. Es geht nicht nur um die Konnektivität – die Tests müssen eine fehlerfreie, effiziente und sichere Funktionalität trotz unerwarteter Herausforderungen gewährleisten.
In der Tat ist eine strenge Prüfung notwendig, um:
- Bestätigen, dass die Funktionalität, Zuverlässigkeit und Leistung den Erwartungen entsprechen, auch bei zunehmender Systemgröße
- Identifizierung von Sicherheitslücken und Schwachstellen, die zu Sicherheits- oder Datenschutzrisiken führen könnten
- Vertrauen in das System unter den Beteiligten und Nutzern aufbauen
IoT-Systeme verbinden Hardware, Software, Netzwerke und komplexe Datenströme, die mit der physischen Welt interagieren. Aufgrund ihrer Komplexität erfordert jede Komponente eine gründliche Prüfung. Lassen Sie uns genauer hinschauen.
IoT-Systeme: Kernkomponenten und Komplexität
Ein typisches IoT-System besteht aus vier Hauptkomponenten:, Jedes dieser Verfahren sollte getestet werden.
- Endgeräte (Sensoren und andere Geräte, die in der IoT-Technologie zum Einsatz kommen)
- Spezialisierte IoT-Gateways, Router oder andere Geräte, die als solche fungieren (z. B. Smartphones)
- Datenverarbeitungszentren (einschließlich zentraler Datenspeicher und Analyse-Systeme)
- Zusätzliche Softwareanwendungen, die auf den gesammelten Daten aufgebaut sind (z. B. mobile Apps für Verbraucher)
Gemeinsam bilden diese Komponenten eine mehrschichtige Architektur, die eine Grundlage für die weitere Entwicklung bildet. jede IoT-Lösung:
- Die Things-Layer Schließt physische Geräte ein, die mit Sensoren, Aktuatoren und sonstigem notwendigem Hardware ausgestattet sind.
- Die Netzwerk- (Verbindungs-)Schicht ist für den sicheren Datentransfer zwischen Geräten und zentralen Systemen verantwortlich und verwaltet Kommunikationsprotokolle, Bandbreite und die Datensicherheit.
- Die Middleware- (Plattform-)Schicht ist der Kern des IoT-Systems und stellt einen zentralen Knotenpunkt für die Datenerfassung, -speicherung, -verarbeitung und -analyse dar. Nennenswerte Middleware-Plattformen sind Microsoft Azure IoT, AWS IoT Core, Google Cloud IoT und IBM Watson IoT.
- Die Anwendungs-Schicht Hier interagieren die Nutzer mit dem IoT-System. Es wandelt die Gerätedaten in nützliche Erkenntnisse um und bietet diese über Benutzeroberflächen an.
Einbeziehen IoT-Dienste In diese Architektur ist eine gute Integration auf jeder Ebene unerlässlich. Ein gutes Integrationswerkzeug sorgt dafür, dass Daten zuverlässig zwischen Geräten und Systemen übertragen werden, die Sicherheit wird bereits im Design berücksichtigt, anstatt erst später hinzugefügt zu werden, und die Analyse-Schicht verfügt über saubere und konsistente Eingaben, mit denen man arbeiten kann. Wenn sie gut umgesetzt wird, führt dies zu einem System, das vorhersagbar funktioniert und sich ohne unangenehme Überraschungen skalieren lässt.
Unsere integrierten Entwicklungsdienstleistungen helfen Ihnen, Sensoren, Firmware und Hardware von Grund auf zu integrieren.
Komplexitäten, die durch eine mehrschichtige IoT-Architektur entstehen
Eine solche mehrschichtige Architektur bringt Mehrere Komplexitäten:
- Vielseitige Geräte, die eine nahtlose Interaktion erfordern. Ein IoT-System kann Geräte verschiedener Hersteller umfassen, die jeweils einzigartige Spezifikationen, Firmware und Verhaltensweisen aufweisen. Beispielsweise kann ein Smart-Home-System Glühlampen von Philips, Türschlösser von Yale und Sensoren von Bosch enthalten.
- Koexistenz verschiedener Kommunikationsprotokolle. Ein tragbares Gerät kann beispielsweise Bluetooth verwenden, um mit einem Smartphone zu verbinden, benötigt aber einen Zigbee-Gateway, um mit der Cloud zu verbinden. Da jedes Protokoll eine unterschiedliche Übertragungsrate hat, ist es unerlässlich, die nahtlose Kompatibilität der Geräte mit all diesen Protokollen zu gewährleisten.
- Integrationsprobleme in der realen Welt. IoT-Systeme müssen Daten aus verschiedenen Plattformen und Geräten nahtlos integrieren. Ein Industrierfassungssystem muss beispielsweise die Daten von Sensoren und Maschinen zusammenführen, was oft eine spezielle Software erfordert. Datenmanagement in der IIoT-Technologie Um Integration effektiv zu gestalten.
- Datenverarbeitung in Echtzeit. Viele IoT-Anwendungen erfordern Echtzeitdatenverarbeitung und umfangreiche Analysen. Dies macht die Entwicklung von IoT-Anwendungen zu einem der technisch anspruchsvollsten Aspekte beim Aufbau einer zuverlässigen vernetzten Infrastruktur. Beispielsweise ist eine Flottenmanagement Das System muss Echtzeitdaten aus Tausenden von Fahrzeugen analysieren, um die Leistung zu optimieren.
- Anpassung an neue Standards. Da neue drahtlose Protokolle wie Thread oder IEEE 802.11ah entstehen, müssen sich IoT-Ökosysteme anpassen und weiterentwickeln.
Diese Komplexität unterstreicht die Bedeutung der IoT-Testung, und wir werden nun verschiedene Formen der IoT-Testung im Detail besprechen.
Von der Firmware bis hin zu Cloud-Analysen übernehmen wir die komplexe Entwicklung von IoT-Systemen. Lassen Sie uns Ihre Vision für vernetzte Produkte umsetzen.
Wichtige IoT-Testtypen
Die wichtigsten Arten von Tests für IoT-Systeme sind:
- Funktionstests Sichert, dass die IoT-Lösung wie vorgesehen funktioniert, indem die Interaktionen zwischen dem Gerät und der Benutzeroberfläche (UI) getestet werden.
- Performance-Testing für IoT-Systeme Überprüft die Reaktionsfähigkeit, Stabilität und Geschwindigkeit unter typischen und Spitzenbelastungen.
- Kompatibilitäts- und Interoperabilitätsprüfung Sorgt für eine reibungslose Kommunikation zwischen verschiedenen Geräten, Plattformen und Protokollen.
- Sicherheitsprüfung Identifiziert Sicherheitslücken, die sensible Daten aussetzen und zu Sicherheits- oder Datenschutzrisiken führen könnten.
- Anwenderfreundlichkeitstests evaluiert reale Nutzerinteraktionen, um die Benutzererfahrung (UX) zu verbessern.
- Konformitätsprüfung widerspricht der Einhaltung von Branchenstandards und staatlichen Vorschriften.
- Netzwerkprüfung Überprüft Kommunikationsprotokolle wie MQTT, Zigbee und LoRaWAN.
- Resilienz-Tests Wahrheitsprüfung der Systemverfügbarkeit unter ungünstigen Bedingungen wie Hardwareausfällen.
Alle Arten von Tests im IoT haben ihren Platz im Produktlebenszyklus, aber wir werden uns auf die Leistungsprüfung konzentrieren. Dies ist für IoT-Systeme unerlässlich, um sicherzustellen, dass diese die Anforderungen in der realen Welt, bezüglich Daten, Benutzer und Verbindungsfähigkeit effektiv erfüllen und dabei stets reaktionsschnell bleiben, wenn die Nachfrage wächst.
Nachdem wir die Bedeutung von IoT-Tests und deren verschiedenen Arten behandelt haben, ist es an der Zeit, zu untersuchen, wie man tatsächlich IoT-Tests durchführt.
IoT-Sicherheitsprüfung
Sicherheit steht in einer anderen Kategorie als die meisten anderen Aspekte der IoT-Testung. Ein Performance-Problem bedeutet langsameren Reaktionszeit. Ein Sicherheitsfehler in einem angeschlossenen Gerät kann bedeuten, dass in der physischen Welt etwas schiefgelaufen ist: Medikamente in falscher Dosierung versandt, ein industrieller Prozess durch einen Remote-Angreifer unterbrochen oder ein Fahrzeugsystem, das unerwartet verhält sich. Die Software-Only-Mentalität ist nicht transferierbar, ebenso wenig wie ein rein reaktiver Ansatz zur Erkennung von Schwachstellen.
Dies ist einer der Bereiche, in denen die Zusammenarbeit mit einem erfahrenen IoT-Testdienstleistungen Ein Partner kann einen messbaren Unterschied bewirken. Das Wissen, welche Angriffspunkte priorisiert werden müssen, welche Standards für Ihr Produkt gelten und wie Tests strukturiert werden müssen, damit die Ergebnisse umsetzbar sind und nicht nur dokumentiert bleiben, erfordert Zeit, die man von Grund auf erlernen muss.
Deshalb muss die Sicherheitstests für das Internet der Dinge als eigenständige Disziplin behandelt werden, nicht als eine Checkliste am Ende des Projekts. Ein nützlicher Ausgangspunkt ist die OWASP IoT Top 10, das die häufigsten und schwerwiegendsten Sicherheitslücken in vernetzten Geräten katalogisiert: Dinge wie schwache Standardanmeldeinformationen, unverschlüsselte Kommunikation und unsichere Update-Mechanismen. Eine systematische Durchsicht dieser Liste ist eine gute Möglichkeit, sicherzustellen, dass man die offensichtlichen Fehler nicht verpasst, bevor man auf gezielteres Testing übergeht.
Was die IoT-Sicherheitsprüfung tatsächlich umfasst:
- Firmware-Analyse. Die Überprüfung der Geräte-Firmware auf hardcoded Credentials, unsicheren Boot-Sequenzen und veralteten Bibliotheken mit bekannten Sicherheitslücken. Dies erfordert in der Regel eine gewisse Binäranalyse und eine Verknüpfung mit CVE-Datenbanken.
- Netzwerk- und Protokollschutz. Überprüfung der Kommunikation des Geräts: ob MQTT-Nachrichten authentifiziert werden, ob Zigbee-Verkehr abgefangen werden kann und ob das Gerät Verbindungen annehmen darf, die es nicht tun sollte.
- API- und Cloud-Endpunkt-Sicherheit. Die Überprüfung, dass die Cloud-Backend-Lösung ordnungsgemäße Zugriffskontrollen implementiert und keine Daten oder Funktionen für unbefugte Anfragen freigibt. Fehlkonfigurierte APIs sind eine überraschend häufige Schwachstelle.
- Physische Zugangstests. Überprüfung, ob Hardware-Schnittstellen wie UART oder JTAG verwendet werden können, um Daten zu extrahieren oder die Firmware zu modifizieren. Falls jemand physischen Zugriff auf das Gerät hat, wie viel Schaden kann er anrichten?
- Sicherheit der OTA-Updates. Es wird bestätigt, dass Firmware-Updates vor der Installation unterzeichnet und verifiziert werden, und dass das Update-Verfahren nicht missbraucht werden kann, um nicht autorisierten Code zu installieren.
- Penetrationstests. Man sollte einen Schritt zurücktreten und sich die Frage stellen: Welche ist die realistischste Vorgehensweise für einen Angreifer? Die Simulation dieser Vorgehensweise hilft dabei, Schwachstellenketten aufzuzeigen, die durch einzeln durchgeführte Tests möglicherweise übersehen würden.
Bei Produkten aus regulierten Branchen muss die Sicherheitsprüfung auch auf bestimmte Standards abgestimmt sein. Die folgende Tabelle enthält die am häufigsten verwendeten.
|
IEC 62443 |
Sicherheitsanforderungen für industrielle Steuerungsanlagen; definiert die Sicherheitsstufen und die Prüfungen, die auf jeder Stufe erforderlich sind |
|
OWASP IoT Top 10 |
Ein praktischer Leitfaden zu den häufigsten Sicherheitslücken im IoT |
|
NIST SP 800-213 |
US-Bundesleitlinien zur Cybersicherheit von IoT-Geräten; relevant auch für öffentliche Beschaffung |
|
ETSI EN 303 645 |
Die Sicherheitsgrundlage für den Einsatz von IoT-Geräten bei Verbrauchern wird von EU-Regulierungsbehörden immer häufiger als Mindestanforderung erwähnt. |
|
ISO/IEC 27001 |
Informationssicherheitsmanagement; gilt für die Cloud- und Datenverarbeitungsbereiche eines IoT-Systems |
Eine Sache, die eine Checkliste nicht ersetzen kann, ist die Bedrohungsmodellierung. Vor dem Ausführen von Tests ist es sinnvoll zu fragen, wer tatsächlich versuchen könnte, dieses Gerät zu angreifen, und wie. Das Bedrohungsprofil eines Verbraucherprodukts ist fgrundlegend unterschiedlich Das hilft Ihnen, die Tests gezielt auf die Bereiche zu konzentrieren, in denen das eigentliche Risiko liegt, anstatt jedes Produkt so zu behandeln, als ob es demselben Gegner gegenüberstehen würde.
Weiß nicht, wo Ihre größte Sicherheitsbedrohung liegt?
Unser Team für IoT-Sicherheitsdienstleistungen kann Ihnen dabei helfen.
Compliance-Tests für das IoT
Für IoT-Produkte in regulierten Branchen ist das Durchlaufen des internen QA-Prozesses nur ein Teil des Ganzen. Die Einhaltung der Vorschriften ist ein Produktanforderung mit eigenen Dokumentationspflichten, eigenen Nachweisstandards und in vielen Fällen mit eigenen Fristen für den Markteintritt. Sie kann nicht am Ende des Projekts gelöst werden.
Ein konkretes Beispiel: Ein angeschlossenes Medizintechnikgerät kann bei jedem Funktions- und Leistungstest genau so funktionieren, wie es beabsichtigt ist, und dennoch bei einer FDA-Prüfung scheitern, wenn der Testprozess nicht korrekt dokumentiert wurde. Ein industrieller Sensor kann alle Leistungsstandards erfüllen und dennoch in bestimmten Umgebungen nicht in Betrieb genommen werden, wenn er die entsprechende Zertifizierung nicht besitzt. Fehler in einem späteren Projektabschnitt zu beheben, ist kostspielig. Es gelingt es normalerweise nicht, es von Anfang an richtig zu machen.
Compliance-Testing stellt eine andere Frage als Funktions-Testing. Es geht nicht darum, ob etwas funktioniert, sondern vielmehr darum, ob die spezifischen Anforderungen der Regulierungsbehörde erfüllt werden. Diese Unterscheidung beeinflusst die Art und Weise, wie Sie Testfälle schreiben, welche Beweismittel Sie sammeln und wie Sie Ihre Dokumentation im gesamten Projekt strukturieren.
Complianceanforderungen nach Branchen:
|
Branche |
Wichtige Normen und Vorschriften |
Was Compliance-Tests umfassen |
|
Gesundheitswesen |
FDA 21 CFR Teil 11, MDR, IEC 62304, HIPAA, ISO 13485 |
Dokumentation des Softwarelebenszyklus, Audit-Trails, Datensicherheit, Cybersicherheit von Haus aus |
|
Industrie / OT |
IEC 62443, IEC 61508, NIST CSF, CE-Kennzeichnung |
Funktionssicherheit, Überprüfung des Sicherheitsniveaus, Netzwerksegmentierung, Resilienz unter Angriff |
|
Automobilindustrie |
ISO 26262, UNECE WP.29, ISO 21434 |
Funktionssicherheit elektronischer Systeme, Management der Cybersicherheit von Fahrzeugen, Sicherheit bei OTA-Updates |
|
Logistik & Lieferkette |
GS1-Standards, GDP, GDPR |
Datengenauigkeit, Rückverfolgbarkeit der Lieferkette, Integrität der Temperatur- und Zustandsüberwachung |
Die Teams, die dies am besten meistern, sind diejenigen, die Compliance nicht als eine separate Prüfung, sondern vielmehr als Teil des Testprozesses betrachten. Das bedeutet, regulatorische Anforderungen frühzeitig in Testfälle zu überführen, die Dokumentation über die Rückverfolgbarkeit stets aktuell zu halten, während das Produkt sich verändert, und sicherzustellen, dass die für eine Zulassung notwendigen Beweismittel nativ im Rahmen der normalen Qualitätssicherung generiert werden, anstatt unter Druck vor einer Frist nachgearbeitet zu werden. Für viele unserer Kunden ist dies der Fall, wo die Zusammenarbeit mit einem Testpartner, der über direkte Erfahrung in regulierten Branchen verfügt, den größten praktischen Vorteil bietet.
Was ist erforderlich, um IoT-Lösungen zu testen?
In gewisser Weise unterscheidet sich die IoT-Testung nicht von dem Testprozess jeder anderen Web- oder Desktop-Softwareanwendung. Um ein Problem zu erkennen und reproduzieren zu können, müssen Sie das Szenario simulieren, in dem es auf Geräten im IoT-Ökosystem auftritt. Da es sich bei IoT-Geräten um eine Vielzahl von Geräten handeln kann, die Teil eines Ökosystems sind, ist die IoT-Testung schwieriger als einfach ein Skript zu erstellen und es zu starten, wie man eine mobile App testet.
Um IoT-Produkte zu testen, verbringen QA-Ingenieure normalerweise Stunden damit, die Infrastruktur zu planen und einzurichten. Anschließend dauert es Zeit, den Testprozess zu optimieren, den Fortschritt zu dokumentieren und die Ergebnisse zu analysieren. Besonders wichtig ist der Prozess der Erstellung von Teststandards für End-to-End-Tests, da QA-Ingenieure Hilfsprogramme für die Testautomatisierung entwickeln müssen, um eine große Anzahl spezifischer Geräte zu simulieren und dabei gleichzeitig ihre wesentlichen Eigenschaften beizubehalten.
Wie können Sie IoT-Tests durchführen?
Um sicherzustellen, dass ein IoT-Ökosystem ordnungsgemäß funktioniert, müssen alle seine funktionalen Elemente sowie die Kommunikation zwischen ihnen getestet werden. Das bedeutet, dass die IoT-Prüfung Folgendes umfasst:
- Funktionaler Test der Endgerät-Firmware
- Kommunikationsszenarien zwischen Endgeräten und Edge-Geräten
- Funktionaler Test von Datenverarbeitungszentren, einschließlich Tests der Funktionen zur Datenerfassung, -aggregation und -analyse
- Testen von End-to-End-Softwarelösungen, einschließlich der vollständigen Testphase der Benutzererfahrung
Bei der Auswahl von IoT-Testlösungen sollten Serviceanbieter entscheiden, welche IoT-Tests angewendet werden sollen und sich darauf vorbereiten, verschiedene Qualitätssicherungsarten und -szenarien zu kombinieren.
Die IoT-Testung umfasst eine ganze Reihe von Qualitätssicherungsdienstleistungen. Die Art und Weise, wie Ingenieure das System testen, hängt von dessen aktueller Reifegrad, den verfügbaren Testressourcen sowie den Anforderungen des Produktteams ab.
Manuelle QA für die Funktionstests
Bei der Testung von IoT-Lösungen spielt die manuelle Prüfung eine entscheidende Rolle, um sicherzustellen, dass alle funktionalen Anforderungen erfüllt werden. Manuelle QA-Ingenieure übernehmen verschiedene Aufgaben, um IoT-Projekte, wie zum Beispiel:
- Die Einrichtung von Funktionen zur Testung auf echten Geräten sowie in Emulatoren oder Simulatoren
- Tests sowohl auf echten Geräten als auch in Emulatoren oder Simulatoren durchführen
- Balance-Tests auf echten Geräten mit Tests auf Emulatoren oder Simulatoren
Die manuelle Funktionsprüfung bleibt für IoT-Projekte unverzichtbar und kann sowohl in den frühen Entwicklungsphasen als auch bei der Weiterentwicklung des Produkts angewendet werden. Aufgrund der zunehmenden Komplexität der IoT-Ökosysteme wird die Automatisierungstests für die meisten Lösungen jedoch zur Notwendigkeit.
Automatisierung von Tests für komplexe IoT-Systeme
Hier sind einige Best Practices zur Implementierung Automatisierte Testverfahren für das IoT in komplexen Systemen:
- Wählen Sie die richtigen Tests aus, die Sie automatisieren möchten. Nicht alle Tests sind für die Automatisierung geeignet. Führen Sie zunächst aufreissende, zeitaufwändige, häufige und langwierige Aufgaben manuell durch.
- Investieren Sie in maßgeschneiderte IoT-Testwerkzeuge. Wählen Sie Testplattformen, die speziell für IoT-Protokolle, -Geräte und -Architekturen entwickelt wurden. Suchen Sie nach Funktionen wie Netzwerkemulation und virtueller Gerätenachbildung.
- Modularisieren Sie die Software, um die Wartung zu vereinfachen. Teilen Sie die Tests in modulare, wiederverwendbare Skripte auf. Dadurch wird die Aktualisierung vereinfacht, wenn sich die Anforderungen ändern.
- Die Bedingungen in der realen Welt nachbilden. Szenarien aus dem Alltag nachbilden, wie z. B. variierende Netzwerkzustände, unerwartete Geräteausfälle und unterschiedliche Datenlasten. Dadurch wird die Widerstandsfähigkeit aufgebaut.
- Integrieren Sie es in CI/CD-Pipelines. Fügen Sie automatisierte Tests für das Internet der Dinge in die Workflows für kontinuierliche Integration und Bereitstellung ein. Dies ermöglicht die schnelle Validierung von Codeänderungen.
- Sorgen Sie für Skalierbarkeit. Wenn das IoT-System wächst, müssen die Tests nahtlos skalieren können, beispielsweise durch parallele Tests in der Cloud.
- Testen regelmäßig prüfen und aktualisieren. Prüfungen häufig überprüfen und aktualisieren, da sich das System im Laufe der Zeit verändert und daher relevant bleiben müssen.
- Verfügen Sie über detaillierte Fehlermeldungen. Automatisierte Tests sollten Entwicklern sofort jegliche Fehler mit Protokollen und Beschreibungen mitteilen, um eine schnelle Diagnose zu ermöglichen.
- Wenden Sie sich an virtuelle Testumgebungen. Virtuelle IoT-Simulationen ermöglichen eine effiziente Prüfung ohne physische Geräte und Infrastruktur.
- Verarbeiten Sie Feedback von Nutzern aus der Praxis. Sammeln Sie Feedback über Monitoring und Umfragen. Priorisieren Sie Probleme nach ihrer Wichtigkeit und konzentrieren Sie sich auf die Demonstration von Reaktionsfähigkeit.
Die Automatisierung ist insbesondere im Bereich der Performance-Tests von großem Vorteil. Wir werden uns anschauen, warum.
IoT-Testautomatisierung für Performance-Tests
Mit zunehmender Ausbreitung von IoT-Systemen wird die Automatisierung zur Notwendigkeit. Diese Ausbreitung führt dazu, dass immer mehr Geräte große Datenmengen generieren, was oft zu Systemunterbrechungen, verschiedenen Problemen und Engpässen führt.
Um Probleme im Zusammenhang mit der Systemleistung in Szenarien mit hoher Datengenerierung und -auswertung zu identifizieren und zu reproduzieren, können wir die folgenden Testtypen verwenden:
- Volumetests. Um Volumentests durchzuführen, laden wir die Datenbank mit großen Datenmengen und beobachten, wie das System mit diesen Daten arbeitet – d. h. aggregiert, filtert und durchsucht es die Daten. Diese Art von Tests ermöglicht es, Abstürze im System zu überprüfen und hilft dabei, Datenverluste zu erkennen. Sie sind verantwortlich für die Überprüfung und Sicherung der Datenintegrität.
- Lastenprüfung Er prüft, ob das System die vorgegebene Belastung bewältigen kann. In Bezug auf ein IoT-System können je nach Testziel verschiedene Szenarien abgedeckt werden. Die Belastung kann entweder durch die Anzahl der gleichzeitig arbeitenden Geräte mit der zentralen Datenverarbeitungslogik oder durch die Anzahl der Endgeräte oder Pakete gemessen werden, die ein einzelnes Gateway verarbeitet. Die Messgrößen für die Belastung umfassen Reaktionszeit und Durchsatzrate.
- Stresstests Meint, wie ein IoT-System funktioniert, wenn die erwartete Belastung überschritten wird. Bei der Durchführung von Belastungsprüfungen zielen wir darauf ab, den Bruchpunkt von Anwendungen, Firmware oder Hardwareressourcen zu verstehen und die Fehlerrate zu bestimmen. Belastungsprüfungen helfen auch dabei, Code-Ineffizienzen wie Speicherlecks oder architektonische Einschränkungen zu erkennen. Mit Belastungsprüfungen können QA-Ingenieure verstehen, was erforderlich ist, damit ein System von einem Absturz wieder erholt werden kann.
- Spike-Tests Werde feststellen, wie sich ein IoT-System verhält, wenn die Belastung plötzlich erhöht wird.
Die Beständigkeitstests prüfen, ob das System stabil bleibt und die geschätzte Arbeitsbelastung über einen langen Zeitraum bewältigen kann. Ziel dieser Tests ist es, zu ermitteln, wie lange das System und seine Komponenten unter intensiven Einsatzbedingungen oder ohne Wartung funktionieren können. - Skalierbarkeitstests Die Messung der Systemleistung wächst im Zuge der zunehmenden Anzahl von Nutzern und angeschlossenen Geräten. Sie hilft Ihnen dabei, die Grenzen im Hinblick auf Traffic, Daten und simultane Vorgänge zu verstehen und Ihnen zu helfen, vorherzusagen, ob das System bestimmte Belastungen bewältigen kann. Wenn das System ausfällt, kann es notwendig sein, seine Architektur oder Infrastruktur zu überarbeiten.
- Kapazitätsprüfung Bestimmt, wie viele Benutzer und angeschlossene Geräte eine IoT-Anwendung verarbeiten kann, bevor Leistung oder Stabilität nicht mehr akzeptabel ist. Hier ist unser Ziel, die Durchsatzrate zu ermitteln und die Reaktionszeit des Systems zu messen, wenn die Anzahl der Benutzer und angeschlossenen Geräte zunimmt.
Die Durchführung dieser Art von Leistungsprüfungen wird zu einem bestimmten Zeitpunkt im gesamten Lebenszyklus eines IoT-Projekts von entscheidender Bedeutung. Gleichzeitig stellt die Überprüfung der Leistung eines komplexen IoT-Systems selbst eine Herausforderung dar, da es eine komplexe Infrastruktur implementieren und eine Reihe von Simulatoren und virtuellen Geräten programmieren erfordert, die ein IoT-Netzwerk nachbilden sollen.
Warum wir uns auf Leistungsanalysen konzentrieren
Um die Bedeutung der Performance-Tests für IoT-Projekte zu verstehen, vergleichen wir die Funktionsprüfung ohne IoT-Geräte-Performance-Tests und mit einer komplexen Teststrategie für IoT.
Bei Yalantis bieten wir IoT-Testdienstleistungen für Projekte unterschiedlicher Größenordnungen und Komplexität an. Zu unseren Kunden gehören bekannte Automobilmarken sowie Unternehmen der Consumer Electronics-Branche, Hersteller von IoT-Geräten und Start-ups für die Nutzung von Fahrzeugen. Ihre Erfahrung hat gezeigt, dass Leistungsanalysen ein wesentlicher Bestandteil des Erfolgs jedes IoT-Systems sind.
Die Einbeziehung von Leistungsprüfungen in den Prozess IoT-Softwareentwicklung fordert einen systematischen Ansatz. Um regelmäßige Tests zu einem Bestandteil Ihrer Routine zu machen, Softwareentwicklungskette (SDLC), Wir befürworten die Implementierung eines IoT-Testframeworks.
Testframework für das Internet der Dinge
Ein Testframework für das Internet der Dinge ist eine Struktur, die aus IoT-Testwerkzeugen, Skripten, Szenarien, Regeln und Vorlagen besteht, die zur Qualitätssicherung eines IoT-Systems erforderlich sind.
Ein IoT-Testframework enthält Richtlinien, die den Prozess des Testens der Performance mithilfe spezieller Tools beschreiben. Kurz gesagt, das Implementieren eines Performance-Testing-Frameworks hilft dabei, IoT-Projekte zu einem komplexen und systematischen Ansatz zur QA-Automatisierung zu entwickeln.
Obwohl ein IoT-Testautomatisierungsframework ein System zur regelmäßigen Leistungsmessung etabliert und zur kontinuierlichen und zeitgerechten Projektabwicklung beiträgt, gibt es Fälle, in denen eine solche Vorgehensweise zur Qualitätssicherung im IoT optional ist, und andere, in denen sie zwingend erforderlich ist. Zu diesen letzteren gehören:
- Projekte mit durchschnittlichen Belastungen
- Projekte mit hohen Spitzenlasten (in bestimmten Stunden, bei zeitkritischen Ereignissen oder in anderen Zeiten)
- Rasant wachsenden Projekten
- Projekte mit strengen Anforderungen an die Fehlertoleranz; kritische Systeme
- Projekte, die auf die Reaktionszeit angewiesen sind (Lösungen, bei denen die Entscheidungsfindung auf Echtzeitdaten basiert)
Wie man ein Testframework für das Internet der Dinge implementiert
Die Qualitätssicherung ist ein wesentlicher Bestandteil des SDLC. Ein Testframework für IoT wird normalerweise auf der Grundlage der folgenden Anforderungen einer Organisation implementiert: IoT-Dienstleister:
- Definieren Sie die aktuelle Belastung, die das System bewältigen kann
- Die erwartete Systemleistung einrichten und messen
- Identifizierung von Schwachstellen und Engpässen im System
- Erhalten Sie menschlich verständliche Berichte
- Automatisieren Sie die Leistungsprüfung und führen Sie sie regelmäßig durch
Ein typischer Ablauf für den IoT-Testprozess umfasst: vier aufeinanderfolgende Schritte.
- Erfassen der Geschäftsanforderungen
- Erstellen von Testscenarios
- Ausführungstests durchführen
- Auf der Grundlage der festgelegten Anforderungen werden Probleme angepackt und mögliche Verbesserungen festgelegt.
Eine typische Teamstruktur für die Leistungsprüfung eines IoT-Projekts sollte unter Berücksichtigung des gesamten IoT-Testprozesses folgende Mitglieder umfassen: die folgenden Fachleute:
- Ein Unternehmensanalyst Wer ist dafür verantwortlich, die Bedürfnisse des IoT-Geschäfts zu verstehen und bei der Definition des Anwendungsbereichs sowie des Kontextes, in dem sie Anwendung finden, sowie der wichtigsten Kennzahlen und der Kundenvorgaben zu helfen?
- Eine Lösungslösung zur Einrichtung und Bereitstellung einer IoT-Testinfrastruktur, die die notwendigen Szenarien abdeckt
- Ein DevOps-Ingenieur Um den Prozess der IoT-Entwicklung zu rationalisieren, indem komplexe Systemkomponenten im Hintergrund behandelt werden (z. B. die Implementierung oder Verbesserung von Container-Mechanismen und Orchestrierungsmöglichkeiten für effektivere CI/CD-Prozesse)
- Ein Performance-Analyst (QA-Automatisierungsingenieur) Wer ist für die Entwicklung von Simulationsprogrammen für Leistungsprüfungen, die Durchführung der Tests und die Messung der Zielleistungskennzahlen verantwortlich?
Je nach Komplexität und Reife des Projekts kann das Team um einen Backend-Ingenieur, einen Projektmanager und weitere Performance-Analysten erweitert werden.
Welche Aufgaben kann ein IoT-Testframework lösen?
“Was unsere Kunden in ihrer IoT-Testmethodik normalerweise fehlen, ist regelmäßige Sicherung und Berichterstellung. Ein Performance-Testing-Framework kann diese Lücken schließen und lässt sich problemlos an die Geschäftsprozesse des Unternehmens anpassen.”
– Alexandra Zhyltsova, Business Analyst bei Yalantis
Technisch gesehen ist ein Framework eine Reihe von Testwerkzeugen, die innerhalb eines Systems zusammengefügt sind, um IoT-Testunternehmen dabei zu helfen, die erwarteten Ergebnisse zu erzielen – also die stabile Leistung eines IoT-Systems unter verschiedenen Szenarien sicherzustellen.
Mit einem IoT-Testframework erhalten QA-Ingenieure und IoT-Entwickler ein gemeinsames Tool. die folgenden Funktionen:
- Erstellung von Lastprofilen
- Die Skalierbarkeit der Tests gewährleisten, während das System wächst
- Bereitstellung von Echtzeit-Visuellen Darstellungen der Testergebnisse
Lassen Sie uns die Struktur eines typischen Testrahmens für das Internet der Dinge zusammenfassen.
Infrastruktur für IoT-Testframework
Bei der Entscheidung für die IoT-Testinfrastruktur beginnt ein QA-Team damit, das jeweilige IoT-System zu analysieren. Berücksichtigt man die spezifischen Anforderungen im Rahmen der Leistungsprüfung, entscheiden sie sich für die zu verwendenden Tools und stellen eine Kommunikation zwischen diesen her, um das gewünschte Ergebnis zu erhalten – eine detaillierte Berichterstattung über die Leistungsindikatoren. Obwohl die Rahmeninfrastruktur je nach Fall unterschiedlich ist, besteht das Ziel stets darin, Daten zu sammeln, zu analysieren und darzulegen.
Ein typischer Prozess der IoT-Testung zur Leistungsmessung innerhalb der Das implementierte Framework umfasst die folgenden Schritte:
- Die Daten werden aus den Ressourcen des IoT-Systems (Geräte, Sensoren) gesammelt.
- Eine Drittanbieter-Dienstleistung (Telegraf) wird verwendet, um serverseitige Metriken wie CPU-Temperatur und Last zu sammeln.
- Die gesammelten Daten werden einer clientseitigen App übermittelt, die in der Lage ist, Leistungsmetriken zu analysieren und Berichte darüber zu erstellen (z. B. Grafana).
- Ein Testtool für das Internet der Dinge zur Leistungsmessung generiert die Belastung und sammelt die notwendigen Metriken (JMeter).
- Die analysierten Daten sowohl von Telegraf als auch von JMeter werden abgerufen und in einer dedizierten Zeitreihendatenbank (InfluxDB) gespeichert.
- Die Daten werden mithilfe eines Datenvisualisierungstools (Grafana und integrierte JMeter-Berichte) dargestellt.
Wann ist der richtige Zeitpunkt, ein IoT-Testframework einzuführen?
“Natürlich ist es bei einem Produkt in der MVP-Phase nicht sinnvoll, eine umfassende Performance-Testing-Infrastruktur einzusetzen. Erst wenn das Produkt reif genug ist, besteht die Notwendigkeit, den Testprozess zu standardisieren.”
– Alexandra Zhyltsova, Business Analyst bei Yalantis
“Die optimale Zeit für den Einstieg in die Performance-Testing-Aktivitäten liegt zwischen zwei und drei Monaten vor der Vollproduktion (Alpha-)Version der Software. Sie sollte jedoch Teil Ihrer IoT-Entwicklungstrategie sein und in der Entwicklungsphase in den Plan aufgenommen werden. Gleichzeitig gibt es keine gute oder schlechte Zeit für die Implementierung eines Performance-Testing-Frameworks. Mit ihm erreichen Sie zu unterschiedlichen Zeitpunkten unterschiedliche Ziele.”
– Artur Shevchenko, Leiter der Abteilung für Qualitätskontrolle bei Yalantis
Im Folgenden stellen wir einige reale Fälle vor, in denen die Implementierung eines Qualitätskontroll- und Testframeworks unseren Kunden dabei half, verschiedene Performance-Probleme in verschiedenen Phasen des Produktlebenszyklus zu verhindern und zu lösen.
Die Entwicklung eines Testframeworks erfordert eine spezialisierte Gruppe von Mitarbeitern.
Wir bieten Ihnen die Lösungen, die Sie für den Erfolg benötigen – von den Lösungskonzepten über DevOps und QA bis hin zu den Entwicklern.
Testen von IoT: Anwendungsfälle
Für diesen Abschnitt haben wir Geschichten von drei verschiedenen Kunden ausgewählt, die mit uns zusammenarbeiteten, um ihre IoT-Teststrategie zu verbessern. Wir werden uns an dieser Stelle die Umsetzung eines IoT-Testframeworks ansehen und die Erfolgsgeschichte vorstellen.
Rak Wireless
RAK Wireless ist ein Unternehmen, das eine SaaS-Plattform für die Fernverwaltung von Flotten bereitstellt. Das Produkt umfasst die Einrichtung und Verwaltung großer IoT-Netzwerke, bei denen die Performance entscheidend ist.
Ursprünglicher Kontext. Wir arbeiten seit zwei Jahren mit RAK Wireless zusammen. In dieser Zeit haben wir schrittweise von situationsbezogenen Tests zu einer komplexen Performance-Test-Methode übergegangen.
Als das Produkt in der privaten Beta-Phase war, war die Anzahl der Systembenutzer begrenzt, und es war nicht notwendig, mit der Performance-Testing zu beginnen. Im Laufe der Entwicklung, bei der man auf die öffentliche Beta-Phase und dann auf die Alpha-Version wechselte, konzentrierten wir uns darauf, die Systemlast abzuschätzen und begannen zu erkennen, dass eine Zunahme der Anzahl der Benutzer und der mit dem IoT-Netzwerk verbundenen Geräte zu erwarten war.
Die Hauptzielgruppe der Lösung sind Unternehmen und Managed Service Provider, die gleichzeitig Dutzende und Hunderte verschiedener IoT-Netze verwalten. Für diese Kunden ist die Leistung einer der wichtigsten Produktanforderungen.
Da immer mehr Kunden das Produkt nutzen, wuchs auch die Anzahl der IoT-Geräte. Um mögliche Probleme zu vermeiden, erwog der Kunde, den Ansatz bei der IoT-Testung von ad hoc auf eine komplexere Methode zu ändern.
Herausforderungen. Das Produkt übernimmt den gesamten Prozess der IoT-Netzwerk-Konfiguration, von der Verbindung der Endgeräte über die Einrichtung von Gateways bis hin zur Überwachung der vollständigen Netzwerkfunktionalität.
- Die erste Herausforderung bestand darin, die Testziele sorgfältig festzulegen und die Abdeckung der Testszenarien zu planen. Wir wählten eine Kombination aus Einzeloperationen und komplexen Nutzungsszenarien, um die Messgrößen festzulegen, die in jedem Schritt erfasst werden sollten.
- Sobald die Testabdeckung geplant war, stand die weitere Herausforderung darin, eine Reihe von proprietären IoT-Geräten verschiedener Typen korrekt zu emulieren, um sicherzustellen, dass für ein bestimmtes Szenario optimale Infrastrukturbereitungen genutzt werden. Wir entwickelten schließlich mehrere verschiedene Arten von Emulatoren. Für einige Szenarien genügte eine Datenübertragungsimulation; für andere erforderte es die Emulation der gesamten Gerätefirmware, um ganze virtuelle Geräte zu replizieren.
Was wir mit dem Performance-Testing-Framework erreicht haben. Unser Ziel war es, stets einen Schritt voraus zu sein und Leistungsstörungen bereits vor der Veröffentlichung von Produktaktualisierungen aufzuspüren. Durch die Implementierung des Testrahmens konnte das Produktteam präventive Maßnahmen ergreifen und die Kosten für die Cloud-Infrastruktur planen. Durch transparente Berichterstellung und optimale Messpunkte konnten wir die aufgefundenen Probleme schnell an das zuständige Engineering-Team für die Testung von Firmware, Cloud-Infrastruktur oder Webplattformmanagement melden.
Die Automatisierung der Performance-Tests ermöglichte es uns, eine kohärente und regelmäßige Überprüfung des Compliance-Systems zu gewährleisten. Eine langfristige Strategie zur Leistungsoptimierung half uns, die gewünschte Reaktionszeit zu erreichen und zu erhalten, die Systembelastung durch die Überprüfung der Konnektivität mit Endpunkten für Gerätedaten zu verwalten und die Systemverfügbarkeit unter normalen und Spitzenlasten zu gewährleisten.
Benötigen Sie Firmware, die zuverlässig auch in großem Maßstab funktioniert?
Unsere maßgeschneiderten Dienste für die Firmwareentwicklung sind für IoT-Systeme konzipiert, bei denen jedes einzelne Gerät zählt.
Toyota
Ursprünglicher Kontext. Unser Kunde ist ein Mitglied von Toyota Tsusho, einer Unternehmensgruppe, die sich auf die Entwicklung digitaler Lösungen konzentriert und Teil des Toyota-Konzerns ist.
Eines der Produkte, die wir unserem Kunden bei der Entwicklung geholfen haben, war eine end-to-end-B2B-Lösung für die Flottenverwaltung. Die Fahrzeuge wurden mit intelligenten Sensoren ausgestattet, die mit einem System verbunden waren und mithilfe des TCP-Protokolls Telemetriedaten übermittelten.
Einige der von der IoT-Lösung enthalten:
- Erstellung und Verfolgung von Routen für Fahrer
- Verfolgung von Fahrzeugnutzungsdaten
- Bereitstellung von Echtzeit-Hilfe an die Fahrer entlang der Route
- Verfügbarkeit der Zündsteuerung
Herausforderungen. Angesichts der Größe des Unternehmens musste der Kunde ein System bereitstellen, das etwa 1.000 Endgeräte umfasste, die in Echtzeit störungsfrei arbeiten sollten.
Zu den Aufgaben, die wir mit dem Projekt angehen wollten, Die Testumgebungen waren:
- Es wurde sichergestellt, dass die Verzögerung bei der Systemreaktion auf Daten, die von Geräten empfangen wurden, nicht länger als zwei Sekunden beträgt.
- Verhinderung von Störungen, die mit der Leistung von Sensoren im Zusammenhang stehen, die die Geolokalisierung, die Kilometerleistung des Fahrzeugs und den Kraftstoffverbrauch überwachen
- Die Einrichtung eines Meldungssystems, das es ermöglicht, bis zu 2,5 Milliarden Datensätze innerhalb von drei Monaten zu verarbeiten und zu speichern
Was wir mit dem Performance-Testing-Framework erreicht haben. Wir haben einen Simulator entwickelt, mit dem gleichzeitig Leistungstests auf der maximalen Anzahl von Endgeräten durchgeführt werden können.
Das Framework beinhaltete eine Kapazitätsprüfung und ermöglichte die Darstellung der Ergebnisse durch die Bereitstellung nützlicher Berichte, die eine bestimmte Anzahl von Datensätzen anzeigen.
Durch die Durchführung von Volumentests konnten wir Engpässe in der Produktinfrastruktur aufdecken und Verbesserungsvorschläge für die Infrastruktur vornehmen.
Miko 3
Ursprünglicher Kontext. Unser Kunde ist ein Startup, das Hardware und Software für Kinder entwickelt, die sie dazu anregen, mit Miko, einem auf dem Android-Betriebssystem laufenden benutzerdefinierten Roboter mit KI-Unterstützung, zu lernen und zu spielen. Wir hatten es mit der dritten Version des Produkts zu tun, die schnell extrem erfolgreich wurde. Der Kunde führte manuelle und automatisierte Tests durch, um Performanceprobleme zu erkennen und zu beheben. Doch die fehlende systematische Herangehensweise an die Qualitätssicherung führte zu Systemausfällen in Zeiten von Spitzenbelastung.
Herausforderungen. Probleme mit der Leistung traten auf, nachdem das Unternehmen während der Winterferien eine Reihe von Robotern verkauft hatte. Da zu viele Geräte mit dem Netzwerk verbunden waren, begannen Kunden mit der Meldung verschiedener Probleme, die es ihnen erschwerten, ihre Kinder mit den Robotern zu beschäftigen. Es wurde offensichtlich, dass das System die Belastung nicht bewältigen konnte.
Der Kunde erkannte, dass er seine Strategie für die Testung von Performance-IoT-Software anpassen und erweitern musste, da das Produkt wuchs und die Belastung voraussichtlich noch weiter steigen würde.
Was wir mit einem Performance-Testing-Framework erreicht haben. Unser Ziel war es, einen stabilen Prozess für die Lastprüfung sowohl für die wichtigsten Anwendungsfälle (z. B. die Spracherkennung für Miko 3) als auch für typische Wartungsabläufe (z. B. die OTA-Firmware-Updates) einzuführen.
Die Implementierung des Performance-Testing-Frameworks ermöglichte es uns, ein System zu entwickeln, das in der Lage ist, detaillierte Daten über die Systemleistung zu sammeln und zu analysieren. Mit diesen Informationen konnten wir die Grenzen des Systems definieren und Engpässe in der Architekturplanung aufdecken sowie architektonische Optimierungen planen.
Dieser Ansatz ermöglichte es uns, die Systemlast systematisch vorherzusagen, indem wir die Reaktionszeiten und Durchsatzraten sowie die Fehlermeldungen analysierten. Ein stabiler Berichtsprozess half, die Verantwortung zwischen dem Testteam der IoT-Sicherheitsdienstleistungen zu verteilen und die Entwicklungskosten zu optimieren.
Wie sich die Testanforderungen je nach Branche unterscheiden
Die allgemeinen Prinzipien der IoT-Tests gelten in allen Branchen. Aber was man tatsächlich testet und was auf dem Spiel steht, wenn etwas nicht eingeplant wird, variiert stark je nach Einsatzort des Produkts. Ein verpasster Randfall in einem Verbrauchergerät ist ein Supportfall. Der gleiche verpasste Randfall in einem Medizinprodukt oder einem Industriekomponenten-Controller ist eine ganz andere Art von Problem.
Im Folgenden wird näher erläutert, wie die Prioritäten bei Tests in drei Sektoren festgelegt werden, in denen die Anforderungen am deutlichsten sind.
Gesundheits-IoT
Verbundene medizinische Geräte Sitz an einem Punkt, an dem Softwarequalität und Patientensicherheit direkt zusammenhängen. Ob es sich um einen tragbaren Herzmonitor, eine vernetzte Infusionspumpe oder einen diagnostischen Sensor handelt, der Daten in ein klinisches Entscheidungssystem überträgt: Ein Softwarefehler hier ist nicht nur ein Produktproblem. Er kann für die Person, die das Gerät verwendet, reale Konsequenzen haben.
Wenn ein Produkt als Software als Medizinprodukt (SaMD), Daher verfügt es über ein regulatorisches Rahmenwerk, das den gesamten Testprozess prägt. Standards wie IEC 62304 Festlegen, wie die Aktivitäten im Software-Lebenszyklus dokumentiert werden müssen. ISO 14971 Es legt Risikomanagementanforderungen fest. Und die Regulierungsbehörden (die FDA, die EMA und ihre Gegenstücke anderswo) erwarten, dass alle diese Aspekte in einer Form vorgelegt werden, die der Prüfung standhält. Deshalb kann die Testung in diesem Bereich nicht ausschließlich darauf ausgerichtet sein, ob die Software funktioniert. Sie muss außerdem während des gesamten Testprozesses die richtige Dokumentation generieren.
Neben der regulatorischen Seite konzentrieren sich die praktischen Testprioritäten im Gesundheitsbereich im IoT in der Regel auf Einige grundlegende Anliegen:
- Datengenauigkeit. Die Messwerte der Sensoren, die klinische Entscheidungen beeinflussen, müssen sorgfältig validiert werden – nicht nur unter normalen Betriebsbedingungen, sondern auch unter den Situationen, in denen die Genauigkeit am schwersten zu gewährleisten ist, wie bei leerem Akku, Störungen im Signal oder physischer Bewegung.
- Alarmsicherheit. Real-time Monitoring-Systeme sind nur dann nützlich, wenn ihre Warnmeldungen zuverlässig sind. Tests müssen bestätigen, dass die Grenzwerte ausgelöst werden, wenn sie es tun sollten – innerhalb der Zeitrahmen, die der klinische Einsatz erfordert.
- Cybersicherheit. Patientendaten gehören zu den sensibelsten Daten, und medizinische Geräte werden immer häufiger ins Visier genommen. Penetrationstests und die Validierung der Verschlüsselung sind in diesem Zusammenhang keine Option mehr. Die Aufsichtsbehörden erwarten sie.
- Interoperabilität mit klinischen Systemen. Die meisten medizinischen IoT-Geräte existieren nicht isoliert. Sie tauschen Daten mit den Informationssystemen des Krankenhauses und den EHR-Plattformen aus, in der Regel über Standards wie HL7 FHIR. Diese Integrationsstufe erfordert spezielle Tests, da Fehler hier oft nicht als solche zu erkennen sind, bis die Daten nicht am richtigen Ort landen.
- Verwendbarkeit in realen klinischen Situationen. Geräte, die von Klinikerinnen und Klinikern eingesetzt werden, müssen unter den Bedingungen funktionieren, mit denen diese tatsächlich konfrontiert sind. Zeitdruck, laute elektromagnetische Umgebungen und Schutzausrüstung gehören zur täglichen klinischen Realität. Laborigierte Usability-Tests gehen dies oft über.
Industrielles IoT (IIoT)
Industrieumgebungen stellen eine Reihe von Einschränkungen dar, die sich Software-orientierte QA-Teams manchmal unterschätzen. IoT-Geräte, die in einer Fertigungsanlage, einer Energieanlage oder einem Wasseraufbereitungsanlage eingesetzt werden, interagieren mit Betriebstechnik (PLC-Steuerungen, SCADA-Controller, industrielle Netzwerke), die sehr unterschiedliche Eigenschaften aufweisen als die typische IT-Infrastruktur.
OT-Systeme werden oft auf proprietären Protokollen wie Modbus oder PROFINET. Sie sind auf deterministische Zeitplanung ausgelegt, wobei eine Antwort, die einige Millisekunden verspätet eintrifft, genauso schlecht sein kann wie keine Antwort überhaupt. Außerdem lassen sie sich normalerweise nicht für Tests offline nehmen, wie es bei einer Webdienstleistung der Fall ist. Ein Firmware-Update-Prozess, der auf einem Testplatz problemlos funktioniert, kann bei der Implementierung an einer Live-Produktionslinie echte Probleme verursachen. Um in dieser Umgebung die Tests richtig durchzuführen, ist eine dedizierte Infrastruktur erforderlich, die den tatsächlichen OT-Kontext widerspiegelt und nicht nur eine generische Testumgebung ist.
Die wichtigsten Testbereiche bei industriellen Anwendungen sind:
- Funktionssicherheit. Sicherheitsinstrumentierte Funktionen müssen unter allen erwarteten Bedingungen, einschließlich Ausfallmöglichkeiten, korrekt funktionieren. Dies ist in Normen wie IEC 61508, Und die Überprüfung ist in der Regel erforderlich.
- ICS- und SCADA-Sicherheit. Industrielle Steuerungssysteme sind Zielschemen für Ransomware-Gruppen und auch für raffiniertere Akteure. Die Sicherheitsprüfung muss die Reaktion des Systems auf unerwartete oder bösartige Befehle umfassen, nicht nur die Frage, ob das System unter normalen Bedingungen korrekt funktioniert.
- Verarbeitung des OT-Protokolls. IoT-Gateways, die IT- und OT-Netzwerke verbinden, müssen auf Protokollebene auf Korrektheit geprüft werden. Hier kann ein Datenverlust oder eine falsche Übersetzung negative Folgen haben, die schwer nachzuweisen sind.
- Resilienz im Falle des Scheiterns. Es wird erwartet, dass industrielle Systeme auch weiterhin funktionieren oder in sicheren und vorhersehbaren Fällen ausfallen, wenn Komponenten ausfallen. Szenarien wie Sensorausfall, Netzwerkpartitionierung und Stromausfall sollten alle Bestandteil des Testplans sein.
- Umweltbedingungen. Industrieanlagen werden in Umgebungen eingesetzt, die nichts mit einem Labor zu tun haben. Testen unter extremen Temperaturen, Vibrationen, Staub und elektromagnetischen Störungen ist keine Option, sondern eine Pflicht, um ein Gerät für die Einsatzbereitschaft zu qualifizieren.
Logistik und Supply Chain IoT
Logistik-IoT-Systeme umfassen in der Regel große Anzahl von Geräten, die sich über weite geografische Gebiete verteilen und in Umgebungen arbeiten, in denen die Netzwerkverbindung unzuverlässig ist und die Kosten für Störfälle hoch sind. Ein Temperatursensor in einem pharmazeutischen Labor Kältespeicherkette Das Problem tritt erst später auf, wenn das Datendefizit entdeckt wird oder wenn die Produktintegrität in Frage gestellt wird.
Die Testprioritäten in diesem Bereich spiegeln diese Einschränkungen wider:
- Reinhaltung der Kältetransportkette. Temperatur- und Feuchtigkeitssensoren benötigen eine genaue Validierung im gesamten Temperaturbereich, den sie im Feld begegnen werden. Ebenso wichtig ist es, zu testen, was auf der Datenebene geschieht, wenn Daten zwischen Sensor, Gateway und Cloud übertragen werden – denn hier werden die meisten Daten verloren oder doppelt gespeichert.
- Verhalten bei Verlust der Verbindung. Geräte in Transit verlieren das Signal. Die Frage ist, ob sie dies geschickt bewältigen – indem sie Daten lokal buffern und sie dann sauber synchronisieren, sobald die Verbindung wiederhergestellt ist, ohne dass dabei Lücken oder Duplikate in der Aufzeichnung entstehen.
- Skalentests. Ein System, das bei wenigen Hunderten von Geräten gut funktioniert, kann bei einigen tausend Geräten unerwartet schlechter werden. Lastexperimente in einer Größenordnung, die der tatsächlichen Flottengröße entspricht, sind der einzige zuverlässige Weg, um zu verstehen, wo die Grenzen liegen.
- Lokalisierungsgenauigkeit in schwierigen Umgebungen. Die GPS-Leistung in städtischen Gebieten, in Tunneln und in Gebieten mit starker Störstrahlung unterscheidet sich grundlegend von der Leistung unter freiem Himmel. Für jede Anwendung, in der Standortdaten Entscheidungen beeinflussen, muss diese Leistung in den Umgebungen getestet werden, in denen das Gerät tatsächlich eingesetzt werden soll.
- Integration mit Backend-Systemen. Logistik-IoT-Plattformen liefern in der Regel Daten an ERP- und Lagerverwaltungsysteme. Die end-to-end-Tests dieser Integrationen, die die Datentransformation, die zeitliche Abfolge und die Fehlerbehandlung umfassen, weisen häufig auf Probleme hin, die bei der komponentenbezogenen Prüfung nicht erkennbar sind.
Präsentation der Testprioritäten auf einen Blick
|
Funktionstests |
Kritisch |
Kritisch |
Kritisch |
|
Sicherheit / Pen-Testing |
Pflicht |
Pflicht |
Empfohlen |
|
Compliance / Regulierung |
FDA, IEC 62304 |
IEC 62443, 61508 |
GDP, GS1, DSGVO |
|
Leistung/Belastung |
Notwendig |
Notwendig |
Notwendig |
|
Interoperabilität |
HL7 FHIR, EHR |
OPC-UA, Modbus |
ERP, WMS, TMS |
|
Anwenderfreundlichkeitstests |
Klinisches Personal |
Betreiber |
Feldarbeiter |
|
Umweltprüfung |
Empfohlen |
Pflicht |
Empfohlen |
|
Datenintegrität |
Pflicht |
Kritisch |
Aufmerksamkeit auf die Kälteschutzkette |
Abschließend
Die Testung von IoT geht weit über Leistungsbenchmarks und Automatisierungs-Skripts hinaus. Da die Systeme selbst komplexer werden, hat sich der Umfang dessen, was eine gute QA eigentlich bedeutet, erweitert: Sicherheitslücken, die körperliche Schäden verursachen können, Compliance-Verpflichtungen, die verhindern können, dass ein Produkt auf den Markt kommt, und branchenspezifische Einschränkungen, die keine generische Testmethode vollständig bewältigen kann.
Die Projekte, an denen wir gearbeitet haben – von RAK Wireless über Toyota bis hin zu Miko 3 – spiegeln diese Realität wider. Die Teams, die kostspielige Fehler vermeideten, führten nicht nur mehr Tests durch. Sie testeten auch die richtigen Dinge zu dem richtigen Zeitpunkt mit einer klaren Vorstellung davon, was tatsächlich auf dem Spiel stand.
Bei Yalantis basiert unsere IoT-Testdienstleistung auf diesem Prinzip. Wir validieren nicht nur Software. Wir arbeiten über den gesamten Stack hinweg: Firmware, Hardware-Schnittstellen, Kommunikationsprotokolle, Cloud-Infrastruktur und die regulatorischen Anforderungen, die festlegen, wie sich all dies verhalten muss. Nur so kann man mit Zuversicht ein vernetztes Produkt auf den Markt bringen.
Wenn Sie ein IoT-System entwickeln und wissen möchten, wo Ihre tatsächliche Exposition liegt, lohnt es sich, diese Frage früh zu besprechen.
Möchten Sie die Leistungstests im Bereich der IoT-Technologie ganzheitlich betrachten?
Wir zeigen Ihnen, wie
FAQ
Was ist IoT-Testing und warum ist es wichtig?
Die Testphase im Bereich Internet of Things überprüft, ob angeschlossene Geräte gut zusammenarbeiten, unter Druck zuverlässig bleiben und die Daten sicher sind. Es ist entscheidend, sicherzustellen, dass IoT-Systeme die Erwartungen der Nutzer erfüllen, ohne Probleme auftreten zu lassen.
Was ist die Hauptanforderung bei der Testung von IoT-Geräten?
Die Hauptanforderung bei der Testung von IoT-Geräten und Gateways besteht in ihrer Vielfalt. Aus den meisten Gründen müsste ein IoT-QA-Ingenieur diese Geräte nachbauen. Das erfordert Zeit und die Beteiligung eines hochqualifizierten IoT-Entwicklungsteams.
Was ist der schwierigste Teil der IoT-Tests und welche Maßnahmen sind dabei zu ergreifen?
Der schwierigste Teil der Testausführung im Rahmen des Internet of Things betrifft die Prüfung von Edge-Geräten und Gateways. Tatsächlich führen QA-Ingenieure bei der Prüfung von Edge-Geräten und IoT-Gateways dieselben Testtypen durch, wie sie bei herkömmlicher Software-Testausführung tun würden. Um die Netzwerkebene (die Gateways) zu testen, benötigen Sie normalerweise Funktions-, Sicherheits-, Leistungs- und Konnektivitätsprüfungen. Um die Qualität der Edge-Geräte zu gewährleisten, sind funktional-, sicherheits- und nutzerbezogene Tests erforderlich. Darüber hinaus müssen Kompatibilitätsprüfungen durchgeführt werden.
Was ist ein Testframework für das Internet der Dinge?
Ein Testframework für das Internet der Dinge ist eine Struktur, die für die Testung von Internet-of-Things-Systemen entwickelt wurde und verschiedene Tools, Skripts, Szenarien, Regeln und Vorlagen verwendet, um die Gesamtqualität des Systems sicherzustellen.
Wie unterscheidet sich die Prüfung von IoT-Anwendungen von der Prüfung herkömmlicher Apps?
Mit IoT geht es nicht nur um die Testung von Software. Man muss sich auch mit Hardware, Netzwerken und großen Datenmengen in Echtzeit auseinandersetzen. Das macht die Testung von IoT-Apps komplexer und anspruchsvoller.
Welche Qualitätssicherungs-Lösungen für IoT-Geräte sind verfügbar?
Die IoT-Qualitätskontrolltests umfassen alles von funktionalen Tests über Belastungs- und Lasttests bis hin zur Überprüfung, dass Ihr Gerät auch unter hohem Maß an Belastung oder unter schwierigen Bedingungen reibungslos funktioniert.
Warum ist die Software-Testung für das Internet der Dinge wichtig?
Die Softwaretests für das Internet der Dinge helfen, sicherzustellen, dass alles – von Ihren Geräten bis zu Ihren Apps – reibungslos zusammenarbeitet. Es ist ein entscheidender Schritt, um Fehler frühzeitig zu erkennen, die Leistung zu verbessern und größere Probleme nach der Markteinführung zu verhindern.