Parasoft-Logo

WEBINAR

Vereinfachen Sie Softwaretests auf der Zielhardware

Eine besondere Herausforderung für eingebettete sicherheitskritische Systeme ist die Optimierung zielbasierter Testmethoden zur Validierung der Genauigkeit von Funktionalität, Sicherheitsmaßnahmen und Leistungsparametern. Zielsysteme weisen im Vergleich zu ihren Host-Gegenstücken eine andere Leistung und ein anderes Verhalten auf, was die Testergebnisse erheblich beeinflussen kann, was die Notwendigkeit maßgeschneiderter Testverfahren unterstreicht.

Die statische Analyse erhöht die Codequalität, während Unit-Tests ein grundlegender Aspekt sind, der sich auf die Überprüfung von Moduldesigns konzentriert, um sicherzustellen, dass jede Softwareeinheit wie vorgesehen funktioniert. Die sorgfältige Erfassung und Analyse von Code-Coverage-Metriken sind wesentliche Praktiken für sicherheitskritische Software. Die Codeabdeckung dient als Messgröße für den Abschluss und die Ausführung von Testfällen und liefert konkrete Beweise für die Vollständigkeit der Validierung im Einklang mit den Software-Designspezifikationen.

Sehen Sie sich dieses Webinar an, um zu erfahren, wie Sie Tests auf Zielhardware durchführen und sehen Sie sich eine Demo von Parasoft C / C ++ test in Aktion.

Key Take Away

  • Host- vs. Ziel-Tests: Während das Testen auf einem Hostcomputer (wie Windows oder Linux) für Entwickler einfacher und zugänglicher ist, ist das Testen auf der Zielhardware für die Einhaltung von Sicherheits- und Schutzstandards unerlässlich.
  • Plattformübergreifende Fähigkeit: Mit Parasoft C/C++test können Sie Testkonfigurationen erstellen, die dieselben Tests auf verschiedenen Zielumgebungen, einschließlich eingebetteten Boards, Simulatoren oder Emulatoren, erstellen, plattformübergreifend kompilieren und ausführen können.
  • Umfassende Analyse: Das Tool hilft bei der Überprüfung der Anwendungsfunktionalität und der Code-Robustheit, erfasst Testergebnisse, erhält Code-Coverage-Metriken (Anweisung, Verzweigung und MC/DC) und überwacht auf Speicherprobleme.
  • Debuggen und Berichten: Es bietet umfangreiche Debugging-Funktionen und kann Testergebnisse über verschiedene Methoden wie serielle Schnittstellen, JTAG oder TCP/IP speichern oder senden.
  • Vorteile der statischen Analyse: Durch die statische Analyse können Codierungsfehler frühzeitig erkannt werden. Sie können auch bestimmte Ergebnisse unterdrücken, wenn diese beabsichtigt sind.
  • Speicherüberwachung: Das Tool kann Speicherprobleme wie das Lesen außerhalb der Grenzen oder die Verwendung von Nullzeigern erkennen und stellt Aufrufverfolgungen bereit, um die genaue Position des Problems zu ermitteln.
  • Unit Tests: Durch Unit-Tests in Kombination mit Funktionen wie Stubbing lässt sich die Codeabdeckung erhöhen, sodass sichergestellt wird, dass auch spezifische Funktionen wie die Fehlerberichterstattung getestet werden.

Grundlegendes zum Testen der Zielhardware

Das Testen auf der Zielhardware ist entscheidend, da die tatsächliche Leistung und das Verhalten Ihrer Software erheblich von einer simulierten Umgebung abweichen können. Parasoft C/C++test behebt dieses Problem, indem Entwickler Testkonfigurationen erstellen können, die auf bestimmte Zielumgebungen zugeschnitten sind. Das bedeutet, dass Sie Ihre Tests auf der tatsächlichen Embedded-Karte, einem Simulator oder einem Emulator kompilieren und ausführen können, um sicherzustellen, dass Ihre Software in der vorgesehenen Umgebung wie erwartet funktioniert.

Statische Analyse in Aktion

Die statische Analyse ist eine leistungsstarke Technik zur Verbesserung der Codequalität. Dabei wird der Code analysiert, ohne ihn tatsächlich auszuführen. Beispielsweise kann der Parasoft C/C++-Test häufige Fehler wie die Verwendung eines Zuweisungsoperators (=), wenn ein Vergleichsoperator (==) war innerhalb einer logischen Anweisung beabsichtigt. Obwohl syntaktisch korrekt, kann dies zu subtilen Fehlern führen. Das Tool kennzeichnet diese Probleme, und Sie können sie entweder beheben oder unterdrücken, wenn sie beabsichtigt sind. Es liefert detaillierte Berichte über die überprüften Regeln und etwaige Unterdrückungen.

Erkennen von Speicherproblemen mit Anwendungsüberwachung

Wenn sich Ihre Anwendung unerwartet verhält, beispielsweise Datenmüll, deutet dies häufig auf Speicherprobleme hin. Die Anwendungsüberwachung von Parasoft C/C++test kann bei der Diagnose dieser Probleme helfen. Durch Instrumentierung des Codes und Ausführung auf dem Ziel erkennt das Tool Probleme wie das Lesen von einem Nullzeiger, Speicherzugriffe außerhalb der Grenzen oder nicht initialisierte Speicherlesevorgänge. Es liefert detaillierte Informationen, einschließlich Aufrufverfolgungen, die Ihnen helfen, das Problem bis zur Quelle zurückzuverfolgen, beispielsweise durch die Verwendung eines falschen Array-Index.

Verbessern der Codeabdeckung durch Unit-Tests

Beim Unit-Test geht es um die Überprüfung einzelner Softwareeinheiten. Parasoft C/C++test erleichtert dies durch die Generierung von Testfällen und Testsuiten. Mithilfe von Funktionen wie Stubbing können Sie die zu testende Einheit isolieren und ihre Abhängigkeiten kontrollieren. Dies ist besonders nützlich, um die Codeabdeckung zu erhöhen und sicherzustellen, dass alle Teile Ihrer Anwendung, einschließlich der Fehlerbehandlungsfunktionen, getestet werden. Das Tool kann anschließend über die erreichte Abdeckung berichten und Ihnen helfen, Codeteile zu identifizieren, die während des Tests nicht ausgeführt wurden.

Kombination von Techniken für robuste Tests

Mit dem Parasoft C/C++-Test können Sie verschiedene Testtechniken wie statische Analyse, Speicherüberwachung, Unit-Tests und Codeabdeckung in einem einzigen Workflow kombinieren. Dieser integrierte Ansatz hilft Ihnen, ein breiteres Spektrum an Problemen frühzeitig im Entwicklungszyklus zu erkennen. Indem Sie Tests auf der Zielhardware durchführen und die Ergebnisse analysieren, gewinnen Sie Vertrauen in die Zuverlässigkeit und Sicherheit Ihrer eingebetteten Systeme.