Building a safe and secure embedded world

Neue Technologie für Unit-Tests von Software in C++

Das Unit-Test-Tool TESSY ist nun offiziell als V4.0 mit verbessertem C++-Support freigegeben.

[Translate to deutsch:]

[Translate to deutsch:]

TESSY V4.0, das Werkzeug zum automatisierten Modul-, Unit- und Integrations-Test von eingebetteter Software, die in C und C++ geschrieben ist, ist nun offiziell in der Version 4.0.9 freigegeben, nachdem es lange nur als Beta-Version zur Verfügung stand.

Ein Hauptmerkmal dieser neuen Hauptversion ist der stark verbesserte Support für den Test von eingebetteter Software, die in C++ geschrieben ist. Dies wird durch den Einsatz einer neuen Parser-Technologie ermöglicht, die auf clang basiert. Dadurch gewinnt TESSY bei der Analyse der zu testenden Software tiefgehende Erkenntnisse, die es TESSY dann ermöglichen, dem Anwender sinnvolle Auswahllisten vorzuschlagen, beispielsweise eine Liste von möglichen Konstruktoren zur Instanziierung eines Testobjekts. Aufgrund dieser Kenntnisse kann TESSY beispielsweise auch automatisch Stubs für Methoden bereitstellen, die vom Testobjekt aufgerufen werden. Auch der Test von Templates und abgeleiteten Klassen ist möglich.

Ein weiteres wichtiges neues Feature von TESSY V4.0 ist die Möglichkeit, Testfälle zu vererben. Oft gibt es Testobjekte, die fast das gleiche Verhalten haben und nur bei wenigen Testfällen im Verhalten abweichen. Sind die Testfälle für ein Verhalten spezifiziert, kann man diese Testfälle auf das ähnliche Testobjekt vererben und an das abweichende Verhalten anpassen. Das kann bedeuten, dass ein vererbter Testfall ein anderes Ergebnis liefert oder dass ein vererbter Testfall entfernt wird oder dass ein zusätzlicher Testfall hinzukommt. Der Vorteil des Vererbens im Gegensatz zum einfachen Kopieren von Testfällen von einem Testobjekt auf ein ähnliches Testobjekt ergibt sich, wenn sich das bei beiden Testobjekten gleiche Verhalten ändert. Nun reicht es nämlich aus, den oder die Testfälle, die aufgrund des geänderten Verhaltens geändert werden müssen, nur einmal zu ändern und dann die Änderung ohne großen Aufwand zu vererben. Wären die Testfälle kopiert worden, müsste man die Änderungen auf der Kopie aufwendig und fehleranfällig nachziehen.

Neu in TESSY V4.0 ist die Möglichkeit, künstliche Testobjekte anzulegen. In früheren Versionen von TESSY wurden die potentiellen Testobjekte durch Analyse des Quellcodes ermittelt, d.h. der Quellcode musste vorhanden sein. In TESSY V4.0 kann man Testobjekte auch anlegen, bevor der Quellcode vorhanden ist. Für diese künstlichen Testobjekte kann man sogar Testfälle erzeugen, deren Daten später verwendet werden können, wenn die tatsächlichen Testobjekte aus dem Quellcode zur Verfügung stehen.

Eine an der Benutzeroberfläche nicht sichtbare Verbesserung betrifft die Ausführungsgeschwindigkeit von Tests auf Mehrkern-Rechnern. Dazu wurde die interne Ablaufstruktur in TESSY parallelisiert, um die Leistungsfähigkeit moderner Prozessorarchitekturen auszunutzen. Der positive Effekt tritt ein, wann immer mehrere Tests gleichzeitig gestartet werden. Dies ist natürlich insbesondere dann der Fall, wenn im Rahmen von Continuous Integration (CI) oder Regressionstests alle vorhandenen Testfälle ausgeführt werden müssen.

Weiterhin enthält die neue Version von TESSY zusätzliche Kommandos, die über die Kommandoschnittstelle von TESSY ausgeführt werden können. Bei Ausführung von Tests über die Kommandozeilenschnittstelle gibt es auch Verbesserungen, die dem reibungslosen Ablauf ohne Benutzerinteraktion dienen.

In TESSY V4.0 kann man Testfälle vom Test ausnehmen, beispielsweise wenn man weiß, dass es bei einem bestimmten Testfall zu einer Division durch null kommen wird und man dies vermeiden möchte.

TESSY V4.0 berücksichtigt zusätzliche SVN-Schlüsselworte, deren Werte aus der Quelldatei in den Test Report übertragen werden, so z.B. Id, Date, und weitere.

TESSY ist bei Hitex GmbH erhältlich.
Weitere Informationen: www.hitex.de/tessy

SuchformularKontaktOnlineshop