Empfohlenes Webinar: Vorstellung von Parasoft C/C++test CT für kontinuierliche Tests und Compliance-Exzellenz | Zum Video

C- und C++-Testtools und -lösungen

Die umfassenden C- und C++-Testtools und -lösungen von Parasoft optimieren und verbessern die Effizienz und Effektivität der C/C++-Softwareentwicklung, des Testens und der Einhaltung von Standards.

Stellen Sie Qualität und Sicherheit mit C/C++-Testtools sicher

Unsere C/C++-Testtools ermöglichen Entwicklern die Gewährleistung von Qualität und Sicherheit während des gesamten Softwareentwicklungslebenszyklus und bieten robuste Testfunktionen zur Erkennung und Vermeidung potenzieller Probleme.

Überprüfen Sie die Codequalität mit statischer Analyse

Identifizieren Sie automatisch Fehler und Sicherheitslücken und stellen Sie die Einhaltung von Codierungsstandards mit leistungsstarker statischer Analyse sicher.

Gehe zu: Statische Analyse »

Führen Sie umfassende Unit-Tests durch

Bewerten Sie die Funktionalität und Leistung einzelner Codeeinheiten gründlich und stellen Sie so Robustheit und Zuverlässigkeit im gesamten SDLC sicher.

Gehe zu: Unit-Tests »

Umfassende Tests mit Codeabdeckung

Stellen Sie die Vollständigkeit der Tests sicher und ermöglichen Sie eine gründliche Bewertung der Softwarefunktionalität und -sicherheit, um erstklassige Produkte zu liefern und die Kundenzufriedenheit zu steigern.

Gehe zu: Codeabdeckung »

Automatisieren Sie die Rückverfolgbarkeit von Anforderungen

Verfolgen und verknüpfen Sie Anforderungen nahtlos mit Testfällen im gesamten SDLC, um die Softwareverifizierung und Abstimmung zwischen Spezifikationen und Implementierung sicherzustellen.

Gehe zu: Rückverfolgbarkeit »

Laufzeitanalyse zur Optimierung

Eine eingehende Laufzeitanalyse erkennt Speicherlecks, Speicherbeschädigung, Pufferüberläufe und andere unvorhersehbare Verhaltensweisen wie Sicherheitslücken.

Gehe zu: Laufzeitanalyse »

Sicherheitstests für robuste Verteidigung

Schützen Sie Software vor Bedrohungen und Schwachstellen mit statischer Analyse, dynamischer Analyse und Codeabdeckungstests für C/C++-Code.

Gehe zu: Sicherheit »

Sorgen Sie für funktionale Sicherheit und Compliance-Standards

Automatisieren Sie Verifizierungs- und Validierungsanforderungen, die in Industriestandards wie ISO 26262, IEC 61508, EN 50128 und anderen festgelegt sind.

Gehe zu: Einhaltung "

Reporting und Analysen für Einblicke

Halten Sie alle Fristen ein. Überwachen und steuern Sie Ihre Softwareentwicklungs-, Qualitäts- und Compliance-Prozesse. Erstellen Sie nahtlos standardorientierte Berichte.

Gehe zu: Berichterstattung "

Verbessern Sie die Codequalität mit statischer Analyse

C- und C++-Entwicklungsteams können ihre Codebasis mit Parasoft C/C++test gründlich auf potenzielle Mängel, Sicherheitslücken und die Einhaltung von Codierungsstandards analysieren.

Wie es funktioniert

Unsere statische Analyselösung unterstützt C/C++-Softwareentwicklungsorganisationen bei der Einhaltung gesetzlicher Coding-Compliance-Standards in Bezug auf Sicherheit, Schutz und Zuverlässigkeit. Die statische Analyse von C/C++test lässt sich nahtlos in die bevorzugten IDEs der Entwickler wie VS Code oder Eclipse und in moderne CI/CD-Entwicklungspipelines integrieren. Unsere Lösung nutzt hochentwickelte Algorithmen zur Erkennung potenzieller Schwachstellen, Speicherlecks und kritischer Probleme und gewährleistet die Einhaltung von Codierungsstandards.

Mithilfe einer Kombination aus Mustererkennung, regelbasierter Analyse, Daten- und Kontrollflussanalyse sowie Metrikanalyse bietet C/C++test eine umfassende Abdeckung bei der Identifizierung kritischer Probleme, potenzieller Fallstricke und Verbesserungsbereiche. Teams können benutzerdefinierte Regeln oder Konfigurationen anpassen und erstellen, um sie an spezifische Projektanforderungen oder Compliance-Vorgaben wie MISRA, CERT, AUTOSAR C++ 14 und mehr anzupassen.

Einmal in den Entwicklungsworkflow integriert, ist unser einheitliches C/C++-Testtool kann kontinuierliche Tests in jeder Phase der Entwicklung sicherstellen, von der ersten Code-Festschreibung bis zur endgültigen Bereitstellung. Diese Automatisierung der Risikominderung optimiert die Produktivität und verbessert die Gesamtqualität von Softwareprojekten.

„MISRA“, „MISRA C“ und das Dreieckslogo sind eingetragene Marken von The MISRA Consortium Limited. ©The MISRA Consortium Limited, 2021. Alle Rechte vorbehalten.

Screenshot des Konfigurationsfensters für die statische Analyse von C/C++test MISRA C 2023.

Führen Sie Unit-Tests zur Qualitätssicherung durch

Unser C/C++-Unit-Tests Die Lösungen bieten Entwicklungsteams ein umfassendes Framework für die nahtlose Erstellung, Ausführung und Regression von Tests. Leistungsstarke Stubbing- und Mocking-Frameworks mit IDE-Integration ermöglichen es Entwicklern, sich auf die Codequalität zu konzentrieren und die Projektabwicklung zu beschleunigen.

Wie es funktioniert

C- und C++-Entwickler und -Tester können Unit-Testprozesse rationalisieren, indem sie die Erstellung von Unit-Tests, einschließlich Mocks, Stubs und Assertions, automatisieren, um die zu testende Einheit effektiv zu isolieren und einen fehlerfreien Testfallbetrieb sicherzustellen. 

Mit dem Test Case Explorer, der intuitiven grafischen Benutzeroberfläche oder einem benutzerfreundlichen Assistenten können Sie mühelos Komponententests erstellen oder automatisch generieren. Durch die automatische Stub-Generierung für fehlende oder undefinierte Funktionen werden Codeeinheiten isoliert und der Testprozess vereinfacht. Durch die Durchführung von Unit-Tests auf verschiedenen Ebenen – z. B. Projekt, Datei und Funktion – mit informativen Ansichten können Teams Probleme schnell identifizieren und lösen. 

Teams können auch Unit-Tests auf der Zielhardware durchführen, um strenge sicherheitskritische Anforderungen zu erfüllen. Um verschiedene Open-Source-Unit-Test-Bereitstellungen zu ermöglichen, lässt sich C/C++test CT nahtlos in gängige Unit-Test-Frameworks wie GoogleTest, Boost.Test, CppUnit und benutzerdefinierte Lösungen integrieren, um die Codeabdeckung zu integrieren.

Umfassende Unit-Testberichte helfen bei der Erfüllung von Compliance-Anforderungen. Fortschrittliche Analysen in Zusammenarbeit mit Parasoft DTP ermöglichen interaktive Berichte und eine nahtlose bidirektionale Rückverfolgbarkeit von Anforderungen mit ALM/REQ-Lösungen und verbessern so die Gesamteffizienz und -effektivität der Tests.

Stellen Sie umfassende Tests mit Codeabdeckung sicher

Stellen Sie mit den Code-Coverage-Lösungen von Parasoft für die C/C++-Entwicklung gründliche Tests sicher, erfüllen Sie behördliche Anforderungen, reduzieren Sie Risiken und verbessern Sie die Sicherheit. Stellen Sie sicher, dass jede Codezeile getestet wurde, um die Wahrscheinlichkeit zu verringern, dass unentdeckte Fehler zu Systemausfällen führen.

Wie es funktioniert

Setzen Sie eine Mischung aus Techniken ein, um sicherzustellen, dass die Codeabdeckung für eingebettete Sicherheit und sicherheitskritische Anwendungen den Compliance-Standards entspricht. Die Code-Instrumentierung ist dabei von zentraler Bedeutung. Dazu gehört die Integration von zusätzlichem Code in die Codebasis des Benutzers, um die Ausführung von Anweisungen, Verzweigungen und MC/DC-Codestrukturen zu verfolgen. Oftmals muss die Codeabdeckung direkt von der Zielhardware erfasst werden, was bei unseren Lösungen der Fall ist. 

Zusammen mit Parasoft DTP sammeln unsere C/C++-Code-Coverage-Lösungen Coverage-Metriken und erstellen Dokumentation, die für sicherheitskritische Anwendungen unverzichtbar ist. In den generierten Berichten wird der Ausführungsstatus jeder Codezeile detailliert beschrieben, unabhängig davon, ob sie vollständig, teilweise oder nicht abgedeckt ist. Diese Daten dienen als wichtige Referenz für Entwicklungsteams und Zertifizierungsprüfer und erleichtern die Bewertung der Code-Coverage-Konformität. 

Für den Einsatz in sicherheitskritischen Anwendungen wie C/C++test, C/C++test CT* und DTP ist es zwingend erforderlich, dass Tools zur Codeabdeckungsanalyse TÜV-zertifiziert sind.

*Zertifizierung voraussichtlich im dritten Quartal 3.

Automatisieren Sie die Rückverfolgbarkeit von Anforderungen

Vereinfachen Sie den Prozess der Verknüpfung von Testfällen mit den von ihnen überprüften Anforderungen durch Automatisierung. Nutzen Sie unsere Testlösungen für die C- und C++-Entwicklung, um eine Anforderungsrückverfolgbarkeitsmatrix zu erstellen, die nachweist, dass alle Anforderungen getestet wurden.

Wie es funktioniert

Parasoft C/C++-Tests Lösungen stellen eine Verbindung zu Parasoft DTP und von DTP zum Application Life Cycle Management (ALM) oder Anforderungsmanagement-Tool her, das Anforderungen speichert. 

Der Anforderungsrückverfolgbarkeitsprozess beginnt mit dem Import von Anforderungen aus der ALM-Lösung in DTP. Anforderungen können dann in C/C++test einfließen und bei Bedarf eine bidirektionale Rückverfolgbarkeit zwischen Testfällen und bis hin zum Code herstellen. 

Während es für C/C++test CT über seine CLI-Schnittstelle verschiedene Implementierungen gibt, verknüpft es Testfälle auch mit Anforderungen für bidirektionale Rückverfolgbarkeit.

Unsere C/C++-Testlösungen ermöglichen eine nahtlose Verknüpfung zwischen Testfällen und Anforderungen, indem sie jeden entsprechenden Testfall mit seiner entsprechenden eindeutigen Anforderungs-ID versehen. Die Rückverfolgbarkeit wird verwendet, um eine Anforderungsrückverfolgbarkeitsmatrix zu erstellen, fehlende Lücken zu identifizieren und sicherzustellen, dass jede Anforderung angemessen validiert wird.

Blog lesen: Anforderungsmanagement und die Traceability-Matrix »

 

Führen Sie eine Laufzeitanalyse durch, um die Leistung zu optimieren

Optimieren Sie C- und C++-Code, indem Sie eine Laufzeitanalyse durchführen, um Laufzeitfehler, Stabilitätsprobleme und Sicherheitslücken wie Speicherlecks, Nullzeiger und Pufferüberläufe zu erkennen.

Wie es funktioniert

Parasoft C/C++test kann die Codebasis einer Anwendung instrumentieren, um die Überwachung zu aktivieren, wenn die Anwendung ausgeführt wird, und so schwerwiegende Fehler, Stabilitätsprobleme und Sicherheitslücken zu identifizieren, wie zum Beispiel:

  • Speicherlecks
  • Speicherbeschädigung
  • Nicht initialisierten Speicher lesen
  • Zugriff auf den Speicher mithilfe eines Zeigers außerhalb des gültigen Bereichs, z. B. Pufferüberlauf
  • Zugriff auf den Speicher mit einem Nullzeiger
  • Verwenden von free () für einen ungültigen Zeiger

 

 

Screenshot des C/C++test-Testkonfigurationsfensters mit Runtime-Build-Anwendung mit Speicherüberwachungsoptionen.
Screenshot des C/C++test-Testkonfigurationsfensters mit allgemeinen Optionen für den Ausführungsmodus.

Die Laufzeitanalysefunktionen bieten vordefinierte Testkonfigurationen zur Unterstützung sowohl nativer als auch eingebetteter Anwendungen mit Speicherzuweisungen im C-Stil (malloc/free). Die Analyse kann während Unit- und Integrationstests durchgeführt werden, um bestimmte Szenarien und Ausführungspfade zu validieren, und während Systemtests, um die vollständig integrierte Anwendung zu überwachen.

Während des Laufzeittests gefundene Fehler erscheinen direkt in der IDE des Entwicklers und werden mit anderen Testergebnissen und Qualitätsmetriken wie Codeabdeckung oder statischen Analyseergebnissen korreliert, um ein vollständiges Bild der getesteten Anwendung zu erhalten und das Verständnis der Grundursache der Laufzeit zu erleichtern Mängel.

Webinar ansehen: Vereinfachen Sie Softwaretests auf der Zielhardware »

Stellen Sie Sicherheitstests für eine robuste Verteidigung sicher

Ein umfassender Sicherheitstestprozess bewertet Softwaresysteme, um Schwachstellen zu erkennen und zu beheben, die ihre Integrität, Vertraulichkeit und Verfügbarkeit gefährden könnten. Unsere systematischen Analyse- und Testlösungen ermöglichen es Sicherheitstestern, Schwachstellen und Lücken in der Softwarearchitektur, dem Design und der Implementierung zu identifizieren.

Wie es funktioniert

Die Gewährleistung der Softwaresicherheit erfordert einen systematischen Ansatz im gesamten SDLC. Folgendes ist zu tun:

  1. Führen Sie eine gründliche Bedrohungsanalyse durch. Untersuchen Sie die Architektur, das Design und die Implementierung des Systems auf potenzielle Schwachstellen.
  2. Bei der Implementierung besteht die erste Verteidigungslinie in der Einführung sicherer Codierungsstandards wie CERT C/C++ oder MISRA C/C++. 
  3. Wenden Sie Parasoft C/C++test für die statische Codeanalyse an, um die Entwicklung zu steuern und häufige Sicherheitsfallen wie Pufferüberläufe, Nullzeiger-Dereferenzierungen, Verwendung unsicherer Bibliotheken und mehr zu identifizieren.
  4. Mit unserer Lösung können Teams eine dynamische Codeanalyse durchführen, um die korrekte Umsetzung von Sicherheitsanforderungen zu validieren. Dazu gehören verschiedene Methoden wie Unit-, Integrations-, System- und Regressionstests. Mithilfe der C/C++test- oder C/C++test CT-Codeabdeckung stellen die Teams umfassende Tests aller implementierten Sicherheitsfunktionen sicher.
  5. Sorgen Sie für Nachverfolgbarkeit und Verantwortlichkeit, indem Sie klare Verbindungen zwischen Ihren Sicherheitstestfällen und den Anforderungen herstellen, die sie mithilfe von C/C++test oder C/C++test CT validieren. 

Durch die Integration dieser Praktiken in den Softwareentwicklungsprozess stärken Teams den Sicherheitsstatus ihrer Software und verringern so die Wahrscheinlichkeit von Sicherheitslücken und Exploits.

Erreichen Sie die Einhaltung funktionaler Sicherheitsstandards

Unternehmen können die Testlösungen von Parasoft für C/C++-Software nutzen, um sicherzustellen, dass ihre Produkte die strengen Verifizierungs- und Validierungsanforderungen erfüllen, die in Industriestandards wie ISO 26262, IEC 61508 und anderen festgelegt sind.

Screenshot des DTP-FDA-Compliance-Dashboards mit Kennzahlen zur Codequalität.

Wie es funktioniert

Um die Einhaltung funktionaler Sicherheitsstandards zu erreichen, ist die sorgfältige Einhaltung strenger Vorschriften und Richtlinien erforderlich. Es ist wichtig, die spezifischen funktionalen Sicherheitsstandards zu verstehen, die für Ihre Branche und Ihr Produkt gelten, zum Beispiel ISO 26262 für die Automobilindustrie oder IEC 61508 für allgemeine Industrieanwendungen.

Führen Sie eine Lückenanalyse durch, um festzustellen, wo aktuelle Entwicklungsprozesse und -praktiken die Anforderungen des Standards nicht erfüllen. Wenn Teams verstehen, was zur Erreichung der Compliance angegangen werden muss, können sie Prozesse und Verfahren einführen, die den Anforderungen des Standards für funktionale Sicherheit entsprechen. Dies kann die Einführung neuer Praktiken für Anforderungsmanagement, Risikoanalyse, Tests, Validierung und Verifizierung umfassen. Die Einhaltung von Sicherheitsstandards ist nicht anders.

Unsere Lösungen gewährleisten ordnungsgemäße und gründliche Tests, Verifizierungen und Validierungen durch:

  • Statische Analyse
  • Dynamische Analyse
  • Strukturelle Codeabdeckung
  • Rückverfolgbarkeit der Anforderungen

Eine umfassende Dokumentation des gesamten Entwicklungsprozesses liefert den Nachweis der Konformität. Dazu gehören Anforderungsspezifikationen, Risikobewertungen, Testberichte und in der Regel auch Werkzeugzertifizierungen wie die TÜV SÜD-Zertifikate von Parasoft.

Durch die Integration funktionaler Sicherheitspraktiken in den SDLC erreichen Teams Compliance und gewährleisten Produktsicherheit und -zuverlässigkeit.

Screenshot von C/C++test CT, der im VS-Code-Editor ausgeführt wird, mit Testfällen der Google Test-Einheit und Links zu Jira XRay-Anforderungen.

Gewinnen Sie Einblicke mit Reporting und Analytics

Erfüllen Sie Compliance-Anforderungen und verwalten Sie die Anwendungsqualität, indem Sie Testergebnisse automatisch aggregieren und analysieren und anschließend die erforderlichen Berichte erstellen, um den Industriestandards zu entsprechen.

Screenshot des DTP-Anwendungsabdeckungs-Dashboards mit Widget-Metriken zu Codeabdeckung, Unit-Tests, manuellen Tests und Trends.

Wie es funktioniert

Die Berichts- und Analyseplattform DTP von Parasoft importiert automatisch die folgenden Softwaretestergebnisse, die von C/C++test und C/C++test CT als Teil des Entwicklungsworkflows erstellt wurden:

  • Statische Analyse
  • Unit-Test
  • Codeabdeckung
  • Rückverfolgbarkeit der Anforderungen   

DTP lässt sich in Anforderungsmanagementlösungen wie Jama, Codebeamer, Polarion und Jira integrieren, um die Anforderungen an die Compliance-Überprüfung bei der Rückverfolgbarkeit von Anforderungen zu erfüllen. Highlights des DTP-Dashboards: 

  • Fortschritte in Richtung Compliance 
  • Bereiche, die zusätzliche Tests erfordern 
  • Gesamtqualität der Anwendung 

 

Visuelle Diagramme und Trends bieten Teams eine einfache Möglichkeit, Anstrengungen basierend auf Abdeckungslücken und kritischen Funktionen zu priorisieren. Mit einem flexiblen Drag-and-Drop-Dashboard, das über 50 kategorisierte und farbcodierte, sofort einsatzbereite Widgets bietet, können Teams schnell benutzerdefinierte Ansichten zusammenstellen, die ihren Qualitätsprozess widerspiegeln.

Die automatische Dokumentationserstellung reduziert den Verwaltungsaufwand, der mit dem Nachweis der Compliance verbunden ist. DTP ist vom TÜV SÜD für sicherheitsrelevante Softwareentwicklung zertifiziert, was den Prozess der Werkzeugqualifizierung rationalisiert und den Bedarf an zusätzlichen Test- und Verifizierungsaufwänden zur Qualifizierung nicht zertifizierter Werkzeuge überflüssig macht.

Screenshot eines von C/C++test CT erstellten Codeabdeckungsberichts in GitHubPages.