Close
Banner C/C++ Code

C/C++ Code mit TPT testen

C- und C++-Code kann mit TPT sehr einfach getestet werden. Das Testen von C- oder C++-Code ist für Modul- und Integrationstests möglich. Jeder C/C++-Code — kleine oder große Module und sogar integrierte SW-Builds — kann mit TPT getestet werden. TPT beherrscht Ihre Softwaretests und vereinfacht die Erstellung, Verwaltung, Wartung und Analyse von Tests erheblich.

Standardmäßig unterstützt TPT viele gängige C- oder C++-Code-Features und sogar die weniger häufig verwendeten. Für spezielle Anforderungen ist TPT trotzdem flexibel genug für manuelle Anpassungen. TPT beherrscht Ihre C- und C++-Tests — und Sie sparen Zeit, um sich auf Ihre Produktentwicklung zu konzentrieren.

Testen von C- und C++-Code mit TPT. Wie es funktioniert.

Der Testaufbau und die Testausführung von C- oder C++-Code mit TPT ist einfach. Sie müssen nur Ihre C/C++-Quellen auswählen und einige wenige Konfigurationen vornehmen. Den Rest erledigt TPT, wenn Sie wünschen, vollständig automatisiert im Hintergrund. Der Testrahmen, der den C- oder C++-Code mit TPT verbindet, wird automatisch von TPT generiert oder kann auch manuell erstellt werden. Es ist Ihre Entscheidung.

C/C++-Code-Analyse.

TPT analysiert die Struktur Ihres C- oder C++-Codes automatisch. Es extrahiert alle in Ihrem Code enthaltenen Datentypen, Variablen und Funktionen, um die Schnittstelle Ihres System-under-Test kennenzulernen. TPT unterstützt skalare Variablen, Arrays, mehrdimensionale Arrays, Structs, Zeiger, Maps und Curves. Sogar die Fix-Point-Skalierung wird von TPT einfach beherrscht, so dass der Tester mit natürlichen, physikalischen Werten arbeiten kann.

Auch Funktionsaufrufe und Funktions-Stubs werden von TPT unterstützt. Das Task-Scheduling mit einer oder vielen C-Funktionen macht das Testen Ihres Codes sehr einfach und flexibel.

Funktionales Testfall-Design.

Testfälle können mit TPT manuell als funktionale Testfälle modelliert werden. TPT unterstützt viele tolle Techniken zur Modellierung von Tests. Der Entwurf von Testfällen mit TPT ist dabei sehr natürlich und intuitiv. Es werden unter anderem auch reaktive Tests im geschlossenen Regelkreis, Signal- und Parameterbeschreibungen sowie die Messdatenwiedergabe unterstützt. Die Teststrukturierung macht Tests sehr gut lesbar und vereinfacht die die Wartbarkeit. Es ist wirklich einfach, Tests für C- oder C++-Code zu erstellen und leicht, diese zu pflegen.

C Code Workflow

Strukturelles Testfall-Design (TASMO).

Für C- und C++-Code können Sie sogar automatisch Testfälle generieren lassen. Wenn Sie Testfälle benötigen, die bestimmte Überdeckungskriterien wie Condition Coverage oder Decision Coverage erfüllen, bietet TPT eine Technologie — TASMO genannt — um geeignete Testfälle auf Knopfdruck zu generieren. Sie wählen einfach die gewünschten Überdeckungskriterien aus und TASMO sucht für Sie die Testfälle. TASMO generiert automatisch immer eine möglichst minimale Anzahl von Testfällen, die zu einer maximalen strukturellen Abdeckung Ihres C- oder C++-Codes führen. Die generierten Testfälle können auch für Back-to-Back-Regressionstests verwendet und mit funktionalen Tests zusammengefügt werden.

Testrahmen = Generiert.

TPT generiert automatisch Wrapper-Code, der Ihren Code kapselt und mit TPT verbindet. Bei Bedarf instrumentiert TPT Ihren Code auch für den Zugriff auf nicht-öffentliche Variablen oder für die Überwachung von Abdeckungsbedingungen.

Tools wie MinGW, GCC, Visual Studio, BCC oder LLVM können zum Kompilieren verwendet werden.

Testausführung: Einfach starten.

Sie müssen sich nicht um alle Details der Testrahmen-Generierung und Testausführung kümmern. Es ist so einfach wie ein Knopfdruck. TPT erledigt mit Hilfe des generierten Testrahmens die gesamte Arbeit für Sie. TPT startet und steuert die gesamte Testausführung.

Sie können sogar Ihren C- oder C++-Code während des Tests debuggen.

Komplexe Test-Suites? Ja, gerne.

Komplexe C- oder C++-Tests oder Testsuiten können unbeaufsichtigt im Batch-Modus oder mit Hilfe des TPT Jenkins-Plugins, z.B. über Nacht, ausgeführt werden. TPT kann auch mehrere Test-Instanzen parallel fernsteuern, was die Testausführungszeit erheblich verkürzen kann.

Analyse, Analyse, Analyse.

Nach der Testausführung startet TPT die Testauswertung auf der Grundlage der gesammelten Daten über C- oder C++-Variablen und Parameter. Auch nicht exportierte Variablen können in diese Bewertungen einbezogen werden. Am Ende werden Testreports über die berechneten Testergebnisse erstellt.

C Code Back-to-back testing

Bauen Sie Ihre eigene Testumgebung.

Falls Ihr Code sehr speziell ist und eine individuelle Konfiguration zur Ausführung mit TPT benötigt, haben Sie die Möglichkeit, Ihre eigene, flexible Testumgebung selbst zu erstellen.

Sie müssen nur ein ausführbares Programm mit Ihrem SUT-Code und der TPT VM (eine Library für TPT’s virtuelle Testmaschine) kompilieren und linken. Die API der TPT VM bietet komfortable Funktionen für die Initialisierung, die Variablen-Bindung und für die zyklische Interaktionen zwischen der TPT VM und Ihrem SUT-Code während der gesamten Testlaufzeit.

Mit dieser API bauen Sie Ihr eigenes Test-Setup und können dabei trotzdem die Stärken der TPT-Testmodellierung, Testausführung, Testbewertung, Test-Reporting und der Unterstützung des Testprozesses nutzen.

C-Code-Tests in der TPT FUSION Co-Simulation.

Die FUSION Co-Simulationsumgebung von TPT ermöglicht die Interaktion eines oder mehrerer “Simulationsmodulen” – genannt FUSION-Nodes. Bereits standardmäßig gibt es viele FUSION-Nodes, die eine Interaktion mit Software- und Hardwarekomponenten von Drittanbietern ermöglichen. Für spezielle Anforderungen kann die öffentliche FUSION-API von Kunden genutzt werden, um zusätzliche FUSION-Nodes anzuschließen.

Beispielsweise können Sie C- oder C++-Code (kompiliert als FUSION-Node) zusammen mit in Simulink implementierten Streckenmodellen oder mit Schnittstellen zu anderer Software oder Hardware von Drittanbietern testen (z.B. CAN-Adapter).

C-Code-Tests mit Eclipse CDT und GBD-Debugger.

Ein weiteres tolles Feature von TPT ist die Möglichkeit, C- oder C++-Code mit einem Konnektor zu Eclipse CDT und GDB (GNU-Debugger) zu testen. Die Verwendung von TPT mit Eclipse CDT und GDB ermöglicht es, C- oder C++-Code zu kompilieren, zu testen und zu debuggen. Die Fernsteuerung des GNU-Debuggers macht das Debuggen noch einfacher und erlaubt den Zugriff auf fast jede Variable im Code zur Laufzeit. Die Eclipse CDT/GDB-Simulation kann direkt und automatisch über Breakpoints und Registerzugriffe zur Laufzeit gesteuert, beobachtet und debuggt werden.