Sehen Sie, welche API-Testlösung im GigaOm Radar Report am besten abgeschnitten hat. Holen Sie sich Ihren kostenlosen Analystenbericht >>

Sehen Sie, welche API-Testlösung im GigaOm Radar Report am besten abgeschnitten hat. Holen Sie sich Ihren kostenlosen Analystenbericht >>
Bei Systemtests wird das System als Ganzes getestet. Sobald alle Komponenten integriert sind, wird das gesamte System gründlich getestet, um sicherzustellen, dass es die angegebenen funktionalen, sicherheitsbezogenen und sonstigen nicht funktionalen Anforderungen erfüllt.
Spezialisierte Testteams führen diese Art von Tests für sicherheitskritische Software durch. Systemtests fallen in den Bereich der Black-Box-Tests. Daher sollten hierfür keine Kenntnisse über den inneren Aufbau des Codes oder der Logik erforderlich sein.
Ein wichtiger Unterschied beim Testen auf Systemebene besteht darin, dass das System in einer Umgebung getestet wird, die der Produktionsumgebung, in der die Anwendung bereitgestellt wird, nahe kommt. In dieser Phase werden bestimmte Sicherheitsfunktionen validiert und systemweite Sicherheitstests durchgeführt.
Einzelne Systeme in einem Auto werden möglicherweise nicht als Teil eines Dienstes betrachtet. Aufgrund der Vernetzung mit größeren Systemen sollten sie es jedoch sein. In einem Auto beispielsweise besteht die Aufgabe der Motorsteuerung (ECU) allein darin, eine ordnungsgemäße Verbrennung und Emissionswerte im Motor sicherzustellen, das Auto überwacht jedoch mithilfe der ECU den Kraftstoffverbrauch und meldet ihn über eine drahtlose Verbindung an einen zentralen Server.
Diese Kilometerdaten werden dann zur Routenplanung und zur Schätzung der Betriebskosten verwendet. Plötzlich ist die ECU ein kritischer Endknoten in einem geschäftlichen Entscheidungsprozess.
Anstatt die Systemqualität im Hinblick auf die Erfüllung der Anforderungen einzelner Geräte zu betrachten, wird der Rahmen erweitert, um die Qualität der bereitgestellten Dienste zu berücksichtigen. Tests auf Dienstebene stellen sicher, dass nichtfunktionale Anforderungen erfüllt werden. Beispielsweise sind Leistung und Zuverlässigkeit auf Geräteebene oder während des Software-Unit-Tests schwer zu beurteilen. Dienstbasierte Tests können die Betriebsumgebung eines Geräts simulieren, um realistische Belastungen bereitzustellen. Im HVAC-Beispiel kann der neue Temperatursensor mit unterschiedlichen Anforderungsraten getestet werden, um festzustellen, ob er die Leistungsanforderungen erfüllt.
Sicherheit ist ein wichtiges Anliegen bei Automobilsystemen. Cyberangriffe gehen höchstwahrscheinlich vom Netzwerk selbst aus, indem sie die freigelegten APIs angreifen. Servicebasierte Tests können simulierte Umgebungen für robuste Sicherheitstests erstellen, entweder durch Fuzzing (zufällige und fehlerhafte Dateneingaben) oder Denial-of-Service-Angriffe. Ein neuer Temperatursensor im HVAC-Beispiel funktioniert möglicherweise bei erwarteten Anfragen ordnungsgemäß, stürzt jedoch bei Überlastung ab. Ein Angreifer könnte dies ausnutzen, um das System zu überlasten und einen Ausfall zu verursachen.
Ein echtes Testlabor erfordert eine möglichst genaue physische Darstellung der Umgebung, in der ein Auto eingesetzt werden soll. Selbst im modernsten Labor ist es schwierig, eine realistische Umgebung zu skalieren. Ein virtuelles Labor löst dieses Problem.
Virtuelle Labore sind nicht mehr auf schwer zu findende (oder nicht vorhandene) Hardwareabhängigkeiten angewiesen. Sie nutzen eine ausgefeilte Service-Virtualisierung mit anderen wichtigen Testautomatisierungstools.
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. Zum Beispiel: Service-Virtualisierung kann ein Unternehmensserver-Backend simulieren, mit dem ein Auto kommuniziert. Ebenso kann die Virtualisierung ein abhängiges System, wie etwa Verkehrs- oder Wetterdaten, auf realistische Weise simulieren.
Bieten Sie eine Möglichkeit, das zu testende System so zu steuern, dass die von ihm bereitgestellten Dienste (und bereitgestellten APIs) einwandfrei funktionieren. Diese Tests können über die Automatisierungsplattform manipuliert werden, um bei Bedarf Leistungs- und Sicherheitstests durchzuführen.
Übernehmen Sie die übergreifende Kontrolle über die virtuellen Labore. Nach der Virtualisierung kann das gesamte Labor-Setup nach Bedarf repliziert und Testläufe automatisiert und wiederholt werden. Analysen bieten die notwendige Übersicht über Aktivitäten und Ergebnisse.
Erkennt Fehler in Echtzeit auf dem getesteten System und erfasst wichtige Ablaufverfolgungsinformationen.
Entdecken Sie die Kapitel