Cantata ist ein dynamisches Testtool für Unit- und Integrationstests in C und C++. Tests erstellen, ausführen und analysieren – das Test Framework ist hochautomatisiert und passt sich optimal ihrem Workflow bei der Softwareentwicklung an.
Automatisierung ist ein fester Bestandteil vom Test Framework. Damit ist es Entwicklern möglich, die hohen Testanforderungen der Sicherheitsstandards für Software zu erfüllen und Best Practices der jeweiligen Branche umzusetzen.
Das Cantata Test Framework erlaubt es Ihnen, die besten und effizientesten Methoden, um Testfälle zu entwickeln und verwalten, in Ihrem Entwicklungsprozess einzusetzen.
Das Test Framework kann auch mit Continuous Integration Lösungen eingesetzt und mit statischen Analysewerkzeugen kombiniert werden, um eine Synchronisierung und höhere Automatisierung von Testaktivitäten zu erreichen.
Das alles ist so einfach mit dem Cantata Test Framework:
Mit Cantata erhalten Sie ein integriertes Test Framework (Testskripte und unterstützende Bibliotheken). Damit können Sie Unit- und skalierbare Integrationstests beliebig miteinander kombinieren. Auch das Bearbeiten der Tests ist individuell möglich – ob im GUI oder direkt im C- oder C++-Code. Die Programmdateien können sowohl auf dem Host, als auch auf mehreren Zielplattformen ausgeführt werden.
Portierbare Testskripte mit spezifischen Bibliotheken für die Zielplattform führen den Benutzercode aus. Code, Testskripte und Bibliotheken werden zu einer ausführbaren Datei zusammengefasst und können auf verschiedenen Host- oder Zielplattformen ausgeführt werden. Die Instrumentierung wird verwendet um White-Box Zugriff zu ermöglichen und die Codeabdeckung zu ermitteln, sodass im Produktionscode für die Tests keine Änderungen vorgenommen werden müssen.
So gestalten Sie Testprojekte, dass sie optimal in Ihren Workflow passen
Wie machen Sie Ihr Testprojekt passend für Ihren Workflow? Dafür gibt es fünf Wege:
Testprojekte können sowohl für Integrations-, als auch Isolationstests eingerichtet werden und das mit Cantata-eigenen oder externen Testtreibern.
Testfälle generieren
Testskripte von Cantata können aus einer oder mehreren ausgewählten Source Dateien generiert werden. Der Source Code wird analysiert, um ein umfassendes Modell (.csi-Datei) des Codes zu erhalten, so dass daraus strukturierte Tests generiert werden können. C/C++-Testskripte werden in Testprojekten mit entsprechenden Cantata-Makefiles für den automatisierten Regressionstest generiert.
Testskripte von Cantata können alternativ aus einer oder mehreren ausgewählten Headerdateien generiert werden, sobald Funktionsprototypen darin erstellt werden. Auf diese Weise kann das Test-Framework aufgebaut werden, bevor das Gerüst/der Aufbau der zu testenden Software vollständig implementiert wird.
Testskripte können mehrere Arten von Testfällen enthalten:
Testfälle bearbeiten
Testskripte und Makefiles können bearbeitet werden. Dazu kann ein grafischer Testskript-Editor oder jeder C-/C++-Editor verwendet werden. Änderungen werden bidirektional zwischen den beiden Methoden synchronisiert.
Es gibt Ausgangswerte für Eingaben, erwartete Outputwerte und Aufrufaufträge. Auf diese Weise kann jeder Testfall schnell und immer wieder bearbeitet werden. Funktionsaufrufe werden im Testskript kontrolliert – ob simuliert oder aufgefangen (weitere Informationen finden Sie in der Funktionalität „Cantata Einzigartige Aufrufsteuerung“.
Cantata bietet vollständige Editierbarkeit sowohl für automatisch generierte als auch mit der GUI oder dem Code-Editor erstellte Testfälle. Durch die Möglichkeit, vorhandene Testfälle über die Benutzeroberfläche zu duplizieren und zu ändern, wird die Erstellung von Testskripten erheblich beschleunigt.
Build & Run auf der Zielplattform steuern
Alle Dateien, die Cantata betreffen, werden im Cantata-Verzeichnis auf der obersten Projektebene abgelegt. Der Vorteil: Ihre Testdateien können parallel zu Ihren Source Dateien in einer selbstdefinierten Rangordnung vorliegen. Mit Versionskontrollsystemen sind sie so einfach zu managen.
Ihre Tests werden wie gewohnt mit Ihren zu testenden Funktionen verlinkt und auf die Zielplattform geladen. So fügt sich Cantata optimal in Ihre Umgebung ein (weitere Informationen finden Sie in der Rubrik „Cantata funktioniert auch in Ihrer Umgebung“) und ermöglicht somit Ihre Tests in Software-, Hardware- und Processor-in-the-Loop.
Mit Cantata automatisieren Sie Continuous Integration und Regressionstests
Wozu Regressionstests? Einmal getesteter Code muss ständig neu getestet werden, um zu verhindern, dass sich Fehler in bereits geprüften, funktionierenden Code einschleichen. Cantata unterstützt Sie dabei, denn es arbeitet mit Integrationstools wie Jenkins® perfekt zusammen.
Cantata Tests werden in der GUI bearbeitet. Makefiles verwalten im Hintergrund das Kompilieren, das Linken, das Laden auf Ihr Target und die Interpretation der Ergebnisse.
Diese Makefiles können direkt mit Ihrem Code arbeiten, so müssen keine Kopien des existierenden Codes angelegt werden.
Cantata Makefiles können jede Kombination von Pre- und Post-Build oder Testaktionen darstellen. So haben Sie die vollständige Kontrolle über Initialisierung und Reporting Ihrer Entwicklungsumgebung. Mehr noch: sie machen die Integration von anderen Tools möglich, zum Beispiel von statischen Analysetools (so laufen statische Analyse und Softwaretests synchron) und Jenkins® (für Continuous Integration). Und das während des gesamten Entwicklungsprozesses und der Regressionstests.
Statistiken und Reports erstellen
Cantata verfügt über mächtige Eclipse Views (drill down), um die Ergebnisse der Funktionstests und der integrierten Codeabdeckung punktgenau zu analysieren. Sind noch feinere Statistiken notwendig, können die Tests auch unter Kontrolle eines De-Buggers ausgeführt werden.
Die konfigurierbaren Reports können als RTF, XML und HTML erstellt werden – zusammen mit ASCII sowie HTML-Text für die Zertifizierung.
Mit dem Add-on Cantata Team Reporting können zudem Reports und Statistiken über mehrere User aggregiert werden.
Zertifizierungen – so schaffen Sie den Nachweis!
Wie kann man Tests erfolgreich erstellen, ausführen und managen, sodass diese Tests den Anforderungen der Sicherheitsstandards entsprechen? Mit Cantata ist das ganz einfach. Denn das Tool verfügt über eine umfassende Anleitung für standardkonforme Software.
Die Ergebnisse aus Funktionstests und Codeabdeckung stellt Cantata automatisch als ASCII-Text zur Verfügung – direkt von der Zielplattform. Das bedeutet, sie sind zertifizierungssicher.
Zusammen mit dem entsprechenden Kit zur Tool-Zertifizierung und -Qualifizierung liefert dies den notwendigen Nachweis, dass die Software-Tests alle erforderlichen Kriterien für eine Zertifizierung erfüllen.
Stimmen Ihre Tests mit den Anforderungen sicherheitsrelevanter Standards überein? Sind die Best Practices der Industrie umgesetzt? Mit dem Cantata Test Framework wissen Sie es! Weitere Informationen erhalten Sie in unseren umfangreichen „Ressourcen“.