Erfahren Sie, wie die Continuous Quality Platform von Parasoft dabei hilft, Testumgebungen zu steuern und zu verwalten, um zuverlässig hochwertige Software zu liefern. Für Demo registrieren >>
Selbst das kleinste IoT-Gerät befindet sich in einer komplexen Umgebung, die zum Zeitpunkt der Entwicklung möglicherweise nicht vollständig verstanden wird. Tatsächlich haben wir bereits die Sicherheitsprobleme gesehen, die mit Geräten verbunden sind, die zum ersten Mal mit dem Internet verbunden sind. In einem früheren PostWir diskutierten die Vorteile der Serviceorientierung für Design, Entwicklung und Test. In diesem Beitrag bringen wir servicebasierte Tests und Servicevirtualisierung zum nächsten Schritt - den virtuellen Labors. Der Aufbau einer realistischen Laborumgebung für physikalische Tests ist schwierig, und selbst wenn sie abgeschlossen ist, wird sie zum Hauptengpass bei Systemtests. Virtuelle Labore beseitigen diesen Engpass und bieten gleichzeitig neue Vorteile für service-basierte IoT-Gerätetests.
Eine kürzlich Studie festgestellt, dass 80 Prozent der IoT-Apps sind nicht auf Sicherheitslücken getestet werden. Die Barr Group hat das festgestellt 56% der Entwickler eingebetteter Geräte Überprüfen Sie den Quellcode nicht auf Sicherheitslücken und 37% haben keinen schriftlichen Codierungsstandard. Dies sind keine ermutigenden Statistiken, und es ist klar, dass Hersteller von IoT-Geräten Qualität, Sicherheit und Schutz ernst nehmen müssen. Die Testautomatisierung ist ein wichtiger Schritt, um sicherzustellen, dass die Tests strenger, konsistenter und gründlicher durchgeführt werden. Das Testen, insbesondere auf Sicherheitslücken, wird häufig als zu kostspielig und komplex angesehen und daher überstürzt oder ganz übersehen. Es ist jedoch ein teurer Fehler, Ihre Kunden (und Angreifer) die Sicherheit Ihres IoT-Geräts für Sie testen zu lassen.
Ein echtes Testlabor erfordert die engste physische Manifestation der Umgebung, in der ein IoT-Gerät arbeiten soll, aber selbst in den anspruchsvollsten Labors ist es schwierig, eine realistische Umgebung zu erreichen. Ein virtuelles Labor behebt dieses Problem. Virtuelle Labore entwickeln sich über die Notwendigkeit schwer zu findender (oder möglicherweise nicht vorhandener) Hardwareabhängigkeiten hinaus. Verwenden Sie eine ausgefeilte Service-Virtualisierung mit anderen wichtigen Tools zur Testautomatisierung:
Das Edge-Computing-IoT-Ökosystem ist in Abbildung 1 dargestellt und zeigt eine typische Umgebung, in der eingebettete IoT-Geräte bereitgestellt werden. Sensoren und Steuergeräte übertragen Informationen an den Edge. Hierbei handelt es sich um eine Reihe von Geräten oder Anwendungen, die Informationen empfangen und mithilfe der Logik mit einem 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 - Mikrodiensten, Verbindungen zu Datenbanken, zusätzlicher Logik oder Diensten von Drittanbietern -, einem komplexen Netz funktionaler Bausteine (siehe unten rechts).
Abbildung 1: Ein typisches IoT-Ökosystem, in dem eingebettete Geräte bereitgestellt werden
Wenn es Zeit ist, im IoT-Ökosystem zu testen, sind Tests auf vielen Ebenen erforderlich. Um neue Funktionen zu testen, die im Gateway eingeführt wurden, z. B. die Überprüfung, ob das Gateway Informationen von Sensoren empfangen und diese auf die Art und Weise kommunizieren kann, wie Sie die Geschäftslogik erstellt haben.
Um all diese Komplexität zu validieren, Parasoft Virtualisieren (das erforderliche Abhängigkeiten simuliert) und Parasoft SOAtest (welche Tests antreibt) werden verwendet, um diese Eingaben zu simulieren. Diese Tools bieten Simulationen realistischer Anrufe von den Geräten über das Netzwerk (unabhängig davon, ob es sich um Protokolle wie REST / HTTP oder beliebte IoT-Protokolle wie CoAP, XMPP oder MQTT handelt) und testen das zu testende Gerät (in diesem Beispiel das Gateway). kommuniziert angemessen mit den Cloud-Diensten, indem die Antworten überprüft werden, die von SOAtest zurückkommen. Abbildung 2 unten zeigt ein Beispiel dafür, wie eine virtuelle Laborumgebung für zu testende Edge-Geräte erstellt werden kann.
Wenn es externe Möglichkeiten gibt, Informationen in dieses Gateway zu übertragen, können diese Anrufe ebenfalls simuliert werden. Parasoft Virtualize wurde entwickelt, um die Testumgebung zu stabilisieren und vorhersehbare Antworten auf Anforderungen 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 wieder an den Rand und zurück zu anderen Sensoren und externen Akteuren, und es ist möglicherweise wichtig zu wissen, dass der Fluss Ihrer Eingaben durch die Umgebung zurück zum Back-End gelangt Systeme. Parasoft Virtualize wird verwendet, um den Empfang dieser Anrufe bis zum Rand (bis zu den IoT-Geräten) zu simulieren und diese Informationen dann an SOAtest weiterzuleiten, um zu bestätigen, dass der Anruf den Roundtrip durchgeführt hat und sich so verhalten hat, wie es im IoT-Ökosystem erwartet wurde . Die Kombination von Parasoft Virtualize und SOAtest bietet vollständige Kontrolle, um die gesamte Umgebung zu testen, selbst innerhalb der Komplexität eines IoT-Ökosystems.
Abbildung 2: Die Rolle der Parasoft-Tools Virtualize und SOAtest erstellt eine virtuelle Laborumgebung für ein zu testendes Edge-Gerät
Normale Testumgebungen sind teuer, wahrscheinlich mehr als die meisten Entwicklungsmanager prognostizieren. Eine Studie von voke Forschung fanden heraus, dass die durchschnittliche Investition in ein Vorproduktionslabor 12 Millionen US-Dollar betrug. In Bezug auf die Zeit betrug die durchschnittliche Zeit für die Bereitstellung des Labors 18 Tage, und weitere 12 bis 14 Tage wurden für die Konfiguration aufgewendet. Die Einrichtung dieser Labore nimmt viel Zeit und Geld in Anspruch, und selbst danach fungieren sie aufgrund des eingeschränkten Zugriffs als Engpass beim Testen. Darüber hinaus sind die täglichen Betriebskosten der physischen Labore erheblich. In den meisten Fällen ist das Duplizieren eines physischen Labors zur Erhöhung des Testdurchsatzes unerschwinglich.
In ein anderer BeitragWir haben die Vorteile der Service-Virtualisierung auf die Verbesserung des Zugriffs auf Testgeräte mit einer besseren Kontrolle des Verhaltens virtualisierter Abhängigkeiten reduziert, wodurch die Kosten gesenkt und die Testgeschwindigkeit erhöht werden. Lassen Sie uns auf ähnliche Weise die Vorteile des virtuellen IoT-Testlabors aufschlüsseln:
Angesichts des Standes der Entwicklung von IoT-Geräten müssen Änderungen an 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 die Verwendung virtueller Labore, die Servicevirtualisierung, servicebasierte Tests, Verwaltung virtueller Labors und Laufzeitüberwachung kombinieren. Dies reduziert die Bereitstellungs- und Konfigurationskosten erheblich und erhöht gleichzeitig die Qualität der durchgeführten Tests erheblich.
Die branchenführenden automatisierten Softwaretest-Tools von Parasoft unterstützen den gesamten Softwareentwicklungsprozess, vom Schreiben der ersten Codezeile über Unit- und Funktionstests bis hin zu Leistungs- und Sicherheitstests, wobei simulierte Testumgebungen genutzt werden.