Vereinfachen Sie Compliance-Workflows mit dem neuen C/C++-Test 2024.2 und KI-gesteuerter Automatisierung | Registrierung

Kostengünstiges Testen von IoT-Geräten mit Virtual Labs

Headshot von Grigori Trofimov, Senior Solution Architect bei Parasoft
19. September 2023
5 min lesen

Es ist eine Herausforderung, eine realistische physische Testlaborumgebung zu schaffen, da dies die größte Einschränkung bei Systemtests darstellen kann. Virtuelle Labore beseitigen diese Einschränkung und bieten neue Vorteile für dienstbasierte IoT-Gerätetests. Lesen Sie diesen Artikel, um mehr zu erfahren.

Selbst das kleinste Internet-of-Things-Gerät (IoT) befindet sich in einer komplexen Umgebung, die zum Zeitpunkt der Entwicklung möglicherweise noch nicht vollständig verstanden ist. Geräte, die zum ersten Mal mit dem Internet verbunden werden, bergen Sicherheitsrisiken und Vorteile für die Serviceorientierung bei Design, Entwicklung und Tests. In diesem Beitrag führen wir servicebasiertes Testen und Servicevirtualisierung auf den nächsten Schritt: virtuelle Labore.

Es ist schwierig, eine realistische Laborumgebung für physische Tests aufzubauen. Selbst wenn es vollständig ist, wird es zum größten Engpass beim Systemtest. Virtuelle Labore beseitigen diesen Engpass und bieten gleichzeitig neue Vorteile für dienstbasierte IoT-Gerätetests.

Viele IoT-Geräte sind nicht für die Primetime bereit

Eine kürzlich Studie fanden heraus, dass 80 % der IoT-Apps nicht auf Sicherheitslücken getestet werden. Die Barr Group hat herausgefunden, dass 56 % der Entwickler eingebetteter Geräte den Quellcode nicht auf Sicherheitslücken überprüfen und 37 % über keinen schriftlichen Codierungsstandard verfügen. Das sind keine ermutigenden Statistiken. Es ist klar, dass Hersteller von IoT-Geräten Qualität und Sicherheit ernster nehmen müssen.

Die Testautomatisierung ist ein wichtiger Schritt, um sicherzustellen, dass Tests strenger, konsistenter und gründlicher durchgeführt werden. Tests, insbesondere auf Sicherheitslücken, werden oft als zu kostspielig und komplex angesehen und daher überstürzt oder ganz übersehen. Aber es ist ein teurer Fehler, Ihre Kunden (und Angreifer) Testen Sie die Sicherheit Ihres IoT-Geräts für Sie zu schaffen.

Die Bestandteile des IoT Virtual Lab

Ein echtes Testlabor erfordert eine möglichst genaue physische Abbildung der Umgebung, in der ein IoT-Gerät eingesetzt werden soll. Aber selbst im anspruchsvollsten Labor ist die Skalierung auf eine realistische Umgebung schwierig. Ein virtuelles Labor behebt dieses Problem. Virtuelle Labore entwickeln sich über die Notwendigkeit schwer zu findender oder nicht vorhandener Hardwareabhängigkeiten hinaus. Kombinieren Sie virtuelle Labore mit wichtigen Testautomatisierungstools:

  • Service-Virtualisierung simuliert alle Abhängigkeiten, die das zu testende Gerät benötigt, um einen vollständigen Systemtest durchzuführen. Dazu gehören alle vom Gerät verwendeten Verbindungen und Protokolle mit realistischen Reaktionen auf die Kommunikation. Beispielsweise kann die Servicevirtualisierung ein Enterprise-Server-Backend simulieren, mit dem ein IoT-Gerät kommuniziert, um regelmäßige Sensormesswerte bereitzustellen. Ebenso kann die Virtualisierung das IoT-Gerät auf realistische Weise steuern.
  • Service- und API-Tests Bieten Sie eine Möglichkeit, das zu testende Gerät so zu steuern, dass sichergestellt wird, dass die bereitgestellten Dienste und APIs einwandfrei funktionieren. Diese Tests können über die Automatisierungsplattform manipuliert werden, um bei Bedarf Leistungs- und Sicherheitstests durchzuführen.
  • Laufzeitüberwachung Erkennt Fehler am Prüfling in Echtzeit und erfasst wichtige Trace-Informationen. Beispielsweise können Speicherlecks, die in einem fertigen Produkt unentdeckt bleiben können, frühzeitig und kostengünstig erkannt und behoben werden.
  • Verwaltung und Analyse von Testlabors bieten eine übergreifende Kontrolle über die virtuellen Labore. Nach der Virtualisierung kann der gesamte Laboraufbau nach Bedarf repliziert und Testläufe automatisiert und wiederholt werden. Analysen liefern die notwendige Zusammenfassung der Aktivitäten und Ergebnisse.

Das folgende Edge-Computing-IoT-Ökosystem zeigt eine typische Umgebung, in der eingebettete IoT-Geräte eingesetzt werden. Sensoren und Steuergeräte übermitteln Informationen an die Edge, eine Reihe von Geräten oder Anwendungen, die Informationen empfangen und mithilfe von Logik an ein Gerät oder bis zur Cloud kommunizieren können.

Die Cloud verfügt dann über eine übergeordnete Logik, die es ihr ermöglicht, auf diese Informationen zu reagieren. Die Cloud besteht aus einer Reihe von Diensten wie Mikrodiensten, Verbindungen zu Datenbanken, zusätzlicher Logik oder Diensten von Drittanbietern. Es handelt sich um ein komplexes Netz funktionaler Bausteine, wie unten rechts dargestellt.

Grafik, die den Bereitstellungsfluss eines IoT-Ökosystems vom Gerät über Edge Computing bis hin zur Cloud zeigt.
Ein typisches IoT-Ökosystem, in dem eingebettete Geräte eingesetzt werden.

Die Rolle von Parasofts Virtualize & SOAtest bei der Erstellung einer virtuellen Laborumgebung

Um die Komplexität von IoT-Umgebungen zu validieren, hat Parasoft Virtualisieren simuliert erforderliche Abhängigkeiten und Parasoft SOAtest treibt Tests an, die diese Eingaben emulieren. Diese Tools ermöglichen die Durchführung realistischer Testszenarien für alle Geräte im Netzwerk und decken generische Protokolle wie REST/HTTP und beliebte IoT-Protokolle wie CoAP, XMPP und MQTT ab.

Darüber hinaus überprüft Parasoft, ob das zu testende Gerät, in diesem Beispiel das Gateway, effektiv mit Cloud-Diensten kommuniziert, indem es die von SOAtest erhaltenen Antworten validiert. Das Bild unten zeigt, wie eine virtuelle Laborumgebung zum Testen von Edge-Geräten eingerichtet werden kann.

Wenn es externe Möglichkeiten zur Übermittlung von Informationen an dieses Gateway gibt, können diese Anrufe ebenfalls simuliert werden. Parasoft Virtualize wurde entwickelt, um die Testumgebung zu stabilisieren, um vorhersehbare Antworten auf Anfragen zu erstellen, die Testdaten von SOAtest nutzen und das Gateway und die Dienste vollständig testen. 

Schließlich kommunizieren die Dienste der obersten Ebene möglicherweise zurück zum Rand und zurück zu anderen Sensoren und externen Akteuren. Es kann wichtig sein zu wissen, dass der Fluss Ihrer Eingaben seinen Weg durch die Umgebung zurück zu den Backend-Systemen findet. Parasoft Virtualize simuliert den Empfang dieser Anrufe bis zum Rand – bis hin zu den IoT-Geräten – und leitet diese Informationen dann zurück an SOAtest, um zu bestätigen, dass der Anruf den Roundtrip durchgeführt hat und sich innerhalb des IoT-Ökosystems wie erwartet verhält. Die Kombination aus Parasoft Virtualize und SOAtest bietet vollständige Kontrolle zum Testen der gesamten Umgebung, selbst innerhalb der Komplexität eines IoT-Ökosystems.

Das Bild zeigt, wo sich SOAtest und Virtualize in einer virtuellen Laborumgebung für ein zu testendes Edge-Gerät befinden. SOAtest im Gateway, das eine Verbindung zu Virtualize herstellt, das eine Verbindung zur Cloud herstellt.
Die Rolle der Virtualize- und SOAtest-Tools von Parasoft besteht darin, eine virtuelle Laborumgebung für ein zu testendes Edge-Gerät zu erstellen.

Verbessern Sie Qualität und Sicherheit und reduzieren Sie gleichzeitig Zeit, Kosten und Risiken

Normale Testumgebungen sind teuer, wahrscheinlich teurer, als die meisten Entwicklungsmanager prognostizieren. Eine Studie von voke Forschung fanden heraus, dass die durchschnittliche Investition in ein Vorproduktionslabor 12 Millionen US-Dollar betrug. Zeitlich gesehen betrug die durchschnittliche Zeit für die Bereitstellung des Labors 18 Tage und weitere 12–14 Tage wurden für die Konfiguration aufgewendet.

Die Einrichtung dieser Labore kostet viel Zeit und Geld. Danach stellen sie aufgrund des eingeschränkten Zugriffs einen Engpass für Tests dar. Darüber hinaus sind die täglichen Betriebskosten physischer Labore erheblich. In den meisten Fällen ist die Verdoppelung eines physischen Labors zur Erhöhung des Testdurchsatzes zu teuer.

Lassen Sie uns die Vorteile des virtuellen IoT-Testlabors aufschlüsseln.

  • Verbessern Sie die Qualität durch bessere und umfassendere Tests. Servicebasiertes Testen stellt sicher, dass wichtige Anwendungsfälle ausgeübt und perfektioniert werden. Automatisierte Leistungstests sorgen für Stabilität und Zuverlässigkeit unter hoher Belastung. Darüber hinaus sorgt die Laufzeitüberwachung dafür, dass schwer zu findende Fehler erkannt und nachverfolgt werden.
  • Verbessern Sie die Sicherheit mit automatisierten Penetrationstests, die fehlerhafte Daten simulieren. Lasttests können Denial-of-Service-Angriffe simulieren und die Laufzeitüberwachung kann Sicherheitslücken erkennen. Durch die Wiederholbarkeit der Tests wird sichergestellt, dass jede Iteration, jeder Patch oder jedes Release auf genau die gleiche Weise getestet wird. Darüber hinaus wird die Testentwicklung und -manipulation, beispielsweise das Verbessern und Erstellen neuer Tests, vereinfacht.
  • Reduzieren Sie die Testzeit, das Risiko und die Kosten, indem Sie die Notwendigkeit kostspieliger Abhängigkeiten beseitigen, die für das Testen vollständiger Systeme erforderlich sind. Die Automatisierung bietet Wiederholbarkeit und Konsistenz, die manuelle Tests nicht bieten. Es bietet außerdem bessere und umfassendere Tests. Virtuelle Labore verkürzen die Bereitstellungszeit für physische Laboreinrichtungen erheblich, was sich auf die gesamte Testzeit auswirkt.

Fazit

Angesichts des Stands der IoT-Geräteentwicklung müssen Änderungen an den Entwicklungs- und Testprozessen vorgenommen werden. Testautomatisierung ist ein bewährter Ansatz zur Reduzierung von Kosten und Risiken. Der nächste große Schritt zur Qualitäts- und Sicherheitsverbesserung für IoT-Geräte ist der Einsatz virtueller Labore, die Servicevirtualisierung, servicebasiertes Testen, virtuelles Labormanagement und Laufzeitüberwachung kombinieren. Dies reduziert die Bereitstellungs- und Konfigurationskosten und erhöht gleichzeitig die Qualität der durchgeführten Tests.

End-to-End-Teststrategien für IoT-Integrität