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. Software-in-Loop Testing mit TPT kann einfach automatisiert werden und nahtlos in Ihre Testumgebung integriert werden.
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. SiL Testing mit TPT ist effizientes Testing.

Schauen Sie das Tutorial.

SiL 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, Curves und Klasseninstanzen. 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 und generiert. Dies macht es möglich, dass aus TPT die Returnwerte und Argumente der Stubs kontrolliert werden können. 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

Tutorial: C Code function stubbing.

Fehlende Funktionen aus Ihrem C-Code können Sie in TPT ganz einfach stubben. Sie können die in Ihrem Code verwendeten Quellen leicht analysieren und alle nicht geklärten Referenzen definieren. In diesem Tutorial können Sie sehen, wie einfach das geht.

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 oder Visual Studio, 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.

Was ist Software-in-the-Loop Testing? Eine Einführung

Wenn Sie mehr über SiL-Testing erfahren möchten, haben wir hier die wichtigsten Aspekte für Sie zusammengefasst. Informieren Sie sich über die zentralen Stärken des Software-in-Loop-Testens und seine Rolle als Teil eines modellbasierten Entwicklungsansatzes

What's new?

FEY-Approach

Introducing the FEY-Approach

Discover how the Full-Expectation-Yet (FEY) Approach revolutionizes software testing by focusing on outputs and behavior validation. By ensuring the presence of expected values, this approach

Read More »