internet things testing
Testen des Internet der Dinge (IoT):
Wenn eine Frage wie „Was sind die Grundbedürfnisse des Lebens?“ Auf die Menschen geworfen wird, würden die meisten von ihnen antworten: „Essen, Unterkunft, Kleidung“.
Aber das war vor einem Jahrhundert der Fall. Der Mensch hat sich weiterentwickelt, um eine Handvoll zusätzlicher Lebensnotwendigkeiten zu entwickeln. Wir haben uns weiterentwickelt, um unser Leben einfacher, besser und einfacher zu machen.
Was ist die beste kostenlose Firewall für Windows 10
Wir haben aufgehört, Schalter zur Steuerung von Lichtern zu verwenden, haben an Kiosken aufgehört, Mautgebühren zu erheben, wir haben unseren Gesundheitszustand intelligent überwacht, Fahrzeugbewegungen effizienter verfolgt und vieles in der Liste.
Wie machen wir das jetzt? Wie ist es so anders?
Wir müssen diese zuerst verstehen, danach können wir lernen, wie man sie testet.
Was du lernen wirst:
- Was ist das Internet der Dinge (IoT)?
- IoT-Beispiele
- Technologie im IoT verwendet
- IoT testen
- IoT-Testherausforderungen
- IoT-Testwerkzeuge
- Zusammenfassen
- Literatur-Empfehlungen
Was ist das Internet der Dinge (IoT)?
Das IoT ist die Verbindung von Fahrzeugen, Haushaltsgeräten, medizinischen Geräten mit eingebetteter Elektronik, Mikrochips usw. zum Sammeln und Austauschen von Daten anderer Art. Dies wird als IoT bezeichnet. Mit dieser Technologie kann der Benutzer Geräte über ein Netzwerk fernsteuern.
IoT-Beispiele
Einige Beispiele für IoT in der Implementierung im realen Leben sind:
# 1) In Wearable Tech:
Tragbare Geräte wie Fitbit-Bänder und Apple-Uhren lassen sich problemlos mit den Mobilgeräten synchronisieren.
Diese helfen bei der Erfassung notwendiger Informationen wie Gesundheit, Herzfrequenzüberwachung, Schlafaktivität usw. Sie helfen auch bei der Anzeige von Daten und Benachrichtigungen von den Mobilgeräten auf diesen.
# 2) Infrastruktur und Entwicklung:
Mit der Verwendung einer Anwendung wie CitySense Es ist einfacher, die Außenbeleuchtungsdaten in Echtzeit abzurufen, und basierend darauf werden die Straßenlaternen ein- oder ausgeschaltet. Es gibt auch verschiedene Anwendungen, um Verkehrssignale und Parkverfügbarkeit in einem ausgeklügelten Stadtlayout zu steuern.
# 3) Gesundheitswesen:
Es gibt zahlreiche Anwendungen, um den Gesundheitszustand der Patienten zu überwachen.
Basierend auf den Benchmark-Daten steuern die Dienste die Dosierung von Arzneimitteln zu verschiedenen Tageszeiten. Es gibt Anwendungen wie UroSense, mit denen der Flüssigkeitsstand im Körper des Patienten überwacht und je nach Bedarf der Flüssigkeitstransfer eingeleitet werden kann. Gleichzeitig können die Daten drahtlos an verschiedene Stakeholder übertragen werden.
Technologie im IoT verwendet
Im Folgenden sind einige der am häufigsten verwendeten Technologien im IoT aufgeführt:
- RFID (Radio Frequency Code) -Tags und EPC (Electronic Product Code)
- NFC (Nahfeldkommunikation) wird verwendet, um wechselseitige Interaktionen zwischen den elektronischen Geräten zu ermöglichen. Dies gilt im Wesentlichen für Smartphones und wird hauptsächlich für kontaktlose Zahlungsvorgänge verwendet.
- Bluetooth: Dies wird verwendet, wenn Kurzstreckenkommunikation ausreicht, um das Problem zu lösen. Dies wird hauptsächlich in tragbaren Technologien verwendet.
- Z-Wave: Dies ist eine HF-Kommunikationstechnologie mit geringem Stromverbrauch. Dies wird hauptsächlich für die Hausautomation, Lampensteuerung usw. verwendet.
- W-lan: Dies ist die am häufigsten verwendete Option für IoT. In einem LAN hilft dies bei der nahtlosen Übertragung von Dateien, Daten und Nachrichten.
IoT testen
Nehmen wir ein Beispiel eines medizinischen Gesundheitsverfolgungssystems, bei dem das Instrument die Details zu Gesundheit, Herzfrequenz und Flüssigkeitsaufnahme überwacht und einen Bericht an die Ärzte sendet. Diese Daten werden im System aufgezeichnet und die historischen Daten können bei Bedarf angezeigt werden.
Die Ärzte können basierend auf den Daten die Einnahme von Medikamenten und Flüssigkeitsergänzungen einleiten. Dies kann von jedem der Geräte (Computer oder Mobilgeräte), an die das medizinische Gerät angeschlossen ist, remote ausgelöst werden.
Um eine solche Architektur zu testen, müssen wir mehrere Testansätze durchlaufen, wie z.
IoT-Testansätze
# 1) Benutzerfreundlichkeit:
- Wir müssen sicherstellen, dass jedes der hier verwendeten Geräte benutzerfreundlich ist.
- Das verwendete Tracking-Gerät für das medizinische Gesundheitswesen sollte tragbar genug sein, um in verschiedene Segmente des medizinischen Gesundheitswesens verschoben zu werden.
- Das Gerät sollte intelligent genug sein, um nicht nur die Benachrichtigungen, sondern auch die Fehlermeldungen, Warnungen usw. zu senden.
- Das System sollte die Option haben, alle Ereignisse zu protokollieren, um den Endbenutzern Klarheit zu bieten. Wenn dies nicht möglich ist, sollte das System diese ebenfalls in eine Datenbank verschieben, um sie zu speichern.
- Die Benachrichtigungen sollten angezeigt werden und die Handhabung der Anzeige sollte ordnungsgemäß auf den Geräten (Computern / Mobilgeräten) erfolgen.
- Die Benutzerfreundlichkeit in Bezug auf die Anzeige von Daten, die Verarbeitung von Daten und das Übertragen von Auftragsaufgaben von den Geräten sollte gründlich getestet werden.
=> Lesen Sie mehr über allgemeine Usability-Tests Hier
# 2) IoT-Sicherheit:
- IoT-Sicherheitsherausforderungen: IoT ist datenzentriert, wobei alle angeschlossenen Geräte / Systeme basierend auf den verfügbaren Daten arbeiten.
- Wenn es um den Datenfluss zwischen Geräten geht, besteht immer die Möglichkeit, dass bei der Übertragung auf die Daten zugegriffen oder diese gelesen werden können.
- Unter Testgesichtspunkten müssen wir prüfen, ob die Daten geschützt / verschlüsselt sind, wenn sie von einem Gerät auf das andere übertragen werden.
- Überall dort, wo es eine Benutzeroberfläche gibt, müssen wir sicherstellen, dass ein Kennwortschutz vorhanden ist.
=> Lesen Sie mehr über allgemeine Sicherheitstests Hier
Software zum Rippen von DVDs auf den PC
# 3) Konnektivität:
- Da es sich um eine Lösung für das Gesundheitswesen handelt, spielt die Konnektivität eine wichtige Rolle.
- Das System muss jederzeit verfügbar sein und eine nahtlose Konnektivität mit den Stakeholdern aufweisen.
- In Bezug auf die Konnektivität sind zwei Dinge sehr wichtig, um sie zu testen.
- Konnektivität, Datenübertragung und Empfang von Auftragsaufgaben von den Geräten sollten nahtlos sein, wenn die Verbindung hergestellt ist.
- Die andere Bedingung ist das Verbindungsunterbrechungsszenario. Unabhängig davon, wie robust das System und das Netzwerk sind, besteht die Möglichkeit, dass das System offline geschaltet wird. Als Tester sollten wir auch die Offline-Bedingungen testen. Sobald das System nicht im Netzwerk verfügbar ist, muss eine Warnung angezeigt werden, die die Ärzte auffordern kann, die Gesundheitszustände manuell zu überwachen, unabhängig vom System, bis es betriebsbereit ist. Andererseits muss es im System einen Mechanismus geben, der alle Daten während des Offline-Zeitraums darin speichern kann. Sobald das System online ist, sollten alle diese Daten weitergegeben werden. Datenverlust sollte unter keinen Umständen vorhanden sein.
# 4) Leistung:
- Wenn wir über ein System für eine Gesundheitsdomäne sprechen, müssen wir sicherstellen, dass das System für das gesamte Krankenhaus skalierbar genug ist.
- Wenn der Test durchgeführt wird, wird er für jeweils 2-10 Patienten durchgeführt und die Daten werden an 10-20 Geräte weitergegeben.
- Wenn das gesamte Krankenhaus angeschlossen ist und 180 bis 200 Patienten an das System angeschlossen sind, sind die weitergegebenen Daten viel größer als die getesteten Daten.
- Als Tester müssen wir sicherstellen, dass das System die gleiche Leistung erbringt, obwohl die hinzugefügten Daten weitergegeben werden.
- Wir sollten auch das Überwachungsdienstprogramm testen, um die Systemnutzung, den Stromverbrauch, die Temperatur usw. anzuzeigen.
# 5) Kompatibilitätstests:
- Angesichts der komplexen Architektur eines IoT-Systems sind Kompatibilitätstests ein Muss.
- Testen von Elementen wie mehreren Betriebssystemversionen, Browsertypen und entsprechenden Versionen, Gerätegenerationen, Kommunikationsmodi ( Zum Beispiel Bluetooth 2.0, 3.0) ist für IoT-Kompatibilitätstests erforderlich.
=> Lesen Sie mehr über allgemeine Sicherheitstests Hier
# 6) Pilottests:
- Für das IoT sind Pilottests ein Muss.
- Nur Tests im Labor stellen sicher, dass das Produkt / System einwandfrei funktioniert. Dies kann jedoch zu Fehlschlägen führen, wenn es Echtzeitbedingungen / -schritten / -szenarien ausgesetzt ist.
- Während der Pilotversuche ist das System einer begrenzten Anzahl von Benutzern im realen Feld ausgesetzt. Sie nutzen die Anwendung und geben Feedback zum System.
- Diese Kommentare sind nützlich, um die Anwendung robust genug für die Produktionsbereitstellung zu machen.
# 7) Zulassungsprüfungen:
- Da es sich um ein Gesundheitssystem handelt, müssen mehrere Kontrollpunkte für Vorschriften und Compliance durchlaufen werden.
- Stellen Sie sich ein Szenario vor, in dem das Produkt alle Testschritte durchläuft, jedoch in der endgültigen Compliance-Checkliste (von der Aufsichtsbehörde durchgeführte Tests) nicht bestanden wird.
- Es ist besser, die regulatorischen Anforderungen zu Beginn des Entwicklungszyklus selbst zu ermitteln. Das gleiche sollte in die Testcheckliste aufgenommen werden.
- Auf diese Weise stellen wir sicher, dass das Produkt auch für die behördliche Checkliste zertifiziert ist.
# 8) Upgrade-Test:
- IoT ist eine Kombination aus mehreren Protokollen, Geräten, Betriebssystemen, Firmware, Hardware, Netzwerkschichten usw.
- Wenn ein Upgrade durchgeführt wird, sei es für das System oder für eines der beteiligten Elemente, wie oben angegeben, sollten gründliche Regressionstests durchgeführt / Strategien angewendet werden, um Probleme im Zusammenhang mit Upgrades zu überwinden.
IoT-Testherausforderungen
Die Herausforderungen, denen sich ein Tester im IoT gegenübersieht, sind folgende:
# 1) Hardware-Software Gittergewebe
IoT ist eine Architektur, die eng mit verschiedenen Hardware- und Softwarekomponenten verbunden ist. Es sind nicht nur die Softwareanwendungen, die das System ausmachen, sondern auch die Hardwareanwendungen, Sensoren, Kommunikationsgateways usw. spielen eine wichtige Rolle.
Nur Funktionstests helfen nicht bei der vollständigen Zertifizierung des Systems. Es besteht immer eine Abhängigkeit voneinander in Bezug auf die Umgebung, die Datenübertragung usw. Im Vergleich zum Testen eines generischen Systems (nur Software- / Hardwarekomponente) wird dies zu einer mühsamen Aufgabe.
# 2) Geräteinteraktionsmodul
Da es sich um eine Architektur zwischen verschiedenen Hard- und Softwaresätzen handelt, ist es zwingend erforderlich, dass sie in Echtzeit / nahezu in Echtzeit miteinander kommunizieren. Wenn beide miteinander integriert sind, werden Dinge wie Sicherheit, Abwärtskompatibilität und Upgrade-Probleme zu einer Herausforderung für das Testteam.
# 3) Testen von Echtzeitdaten
Da wir zuvor besprochen haben, dass ein Pilotversuch / ein behördlicher Test für ein solches System obligatorisch ist, wird es auch sehr schwierig, solche Daten zu erhalten.
Es ist sehr schwierig, im Testteam zu sein, behördliche Kontrollpunkte zu erhalten oder das System im Pilotprojekt bereitzustellen. Der Schritt wird noch schwieriger, wenn sich das System gemäß unserem Beispiel auf das Gesundheitswesen bezieht. Das bleibt also eine große Herausforderung für das Testteam.
# 4) Benutzeroberfläche
Das IoT ist auf Geräte verteilt, die zu jeder Plattform gehören (iOS, Android, Windows, Linux). Jetzt kann das Testen auf Geräten durchgeführt werden, aber das Testen auf allen möglichen Geräten ist fast unmöglich.
Wir können nicht ausschließen, dass auf die Benutzeroberfläche von einem Gerät aus zugegriffen wird, das wir nicht besitzen oder nicht simulieren. Das ist eine Herausforderung, die schwer zu bewältigen ist.
# 5) Netzwerkverfügbarkeit
Die Netzwerkverbindung spielt eine wichtige Rolle, da es beim IoT darum geht, dass die Daten immer schneller übertragen werden. Die IoT-Architektur muss in allen Arten von Netzwerkkonnektivität / -geschwindigkeit getestet werden.
Um dies zu testen, werden virtuelle Netzwerksimulatoren hauptsächlich verwendet, um die Netzwerklast, Konnektivität, Stabilität usw. zu variieren. Echtzeitdaten / -netzwerke sind jedoch immer ein neues Szenario, und das Testteam weiß nicht, wo sich der Engpass auf lange Sicht entwickeln würde.
IoT-Testwerkzeuge
Es gibt verschiedene Tools, die beim Testen von IoT-Systemen verwendet werden.
Sie können basierend auf dem Ziel klassifiziert werden und sind wie folgt angegeben:
# 1) Software:
- Wireshark :: Dies ist eine Open Source-Anwendung, die zur Überwachung des Datenverkehrs in der Schnittstelle, der Quell- / Zielhostadressen usw. verwendet wird.
- Tcpdump :: Dies macht einen ähnlichen Job wie der Wireshark, außer dass dies keine GUI hat. Dies ist ein befehlszeilenbasiertes Dienstprogramm, mit dem der Benutzer TCP / IP und andere Pakete anzeigen kann, die über ein Netzwerk gesendet oder empfangen werden.
# 2) Hardware:
- JTAG Dongle: Dies ähnelt einem Debugger in PC-Anwendungen. Dies hilft beim Debuggen des Zielplattformcodes und zeigt Schritt für Schritt Variablen an.
- Digitales Speicheroszilloskop :: Dies wird verwendet, um verschiedene Ereignisse mit Zeitstempeln, Störungen in der Stromversorgung und Signalintegritätsprüfung zu überprüfen.
- Software Defined Radio :: Dies wird verwendet, um Empfänger und Sender für eine große Anzahl von drahtlosen Gateways zu emulieren.
Für die Entwicklungsländer um uns herum ist IoT ein wachsender Markt und bietet viele Möglichkeiten. Die Zeit ist nicht weit, in der IoT für die Tester zum Überleben in der Entwicklungswelt unerlässlich wird.
Das IoT-fähige Gadget, die Smart Device-Anwendung und das Kommunikationsmodul spielen eine wichtige Rolle bei der Untersuchung und Bewertung der Leistung und des Verhaltens verschiedener IoT-Dienste.
Ein schlechtes Design von IoT-fähigen Geräten und Diensten kann das ordnungsgemäße Funktionieren der Anwendung beeinträchtigen und sich wiederum negativ auf die Endbenutzererfahrung auswirken.
Zusammenfassen
Der IoT-Testansatz kann je nach System / Architektur unterschiedlich sein. Tester sollten sich mehr auf den Test-As-A-User-Ansatz (TAAS) konzentrieren als auf Tests, die auf den Anforderungen basieren.
Ein weiterer wichtiger Akteur beim IoT-Testen ist der Integrationstest. IoT ist erfolgreich, wenn der Integrationstestplan genau und robust genug ist, um Fehler im System zu erkennen.
IOT-Tests können eine schwierige Aufgabe sein, aber es ist auch für das Testteam sehr aufregend, ein derart kompliziertes Netz von Geräten, Protokollen, Hardware, Betriebssystemen, Firmware usw. zu zertifizieren.
Schreiben von Junit-Testfällen in Java
Über den Autor: Dies ist ein Gastbeitrag von Subhasis. Er arbeitet als Teamleiter mit über 8 Jahren Unternehmenserfahrung für Fortune 500-IT-Unternehmen im Bereich Softwarequalitätssicherung, Softwareentwicklung und Testerfahrung.
AKTUALISIEREN: Wir haben nützliche Infografiken zum IoT-Thema hinzugefügt. Dank an webeeky.com für das Teilen mit uns.
Veröffentlichen Sie Ihre IoT-Fragen / Kommentare unten.
Literatur-Empfehlungen
- Beste Software-Test-Tools 2021 (QA Test Automation Tools)
- SaaS-Tests: Herausforderungen, Tools und Testansatz
- Testen von Primer eBook Download
- 11 besten Automatisierungstools zum Testen von Android-Anwendungen (Android App Testing Tools)
- Die Unterschiede zwischen Unit Testing, Integration Testing und Functional Testing
- Automatisierte Regressionstests: Herausforderungen, Prozesse und Schritte
- Lasttests mit HP LoadRunner-Tutorials
- Herausforderungen beim manuellen und automatischen Testen