Open Source im professionellen Einsatz

Zusatzchecks integrieren

Die Nightly-Tests dienen im Gegensatz dazu, die Anwendung in einem bestimmten Zustand, also einer Revision des Versionskontrollsystems, zu testen. Beide Testszenarien benötigen daher zwingend ein solches System. Die Experimental-Tests kommen hingegen auch ohne Versionskontrolle aus. Wichtig ist dabei, dass sich die Szenarien bei den durchgeführten Tests an sich nicht unterscheiden. Der Befehl »ctest -D Szenario« konfiguriert zunächst die Quellen, übersetzt anschließend den Code und führt die Testanwendungen aus. Mit diesem Ablauf erschließt sich auch bereits ein großer Vorteil dieser Testarten, da sie neben den Tests sowohl die Konfigurations- als auch die Buildphase überprüfen.

Die Erweiterung dieses Grundablaufs ist unkompliziert möglich. Beispielsweise aktivieren die Zeilen aus Listing8 der obersten »CMakeLists.txt« die Ermittlung der Testabdeckung. Sofern das Bauen mit einem GCC-kompatiblen Compiler erfolgt und die Anwendung Debugsymbole enthält, ermittelt Cmake die nötige Testausführung daraufhin automatisch. Ebenso einfach aktiviert der Tester Speichertests. Führt er nach der Installation von Valgrind [8] Ctest mit der zusätzlichen Option »-D ExperimentalMemCheck« aus, lässt das Werkzeug alle Checks ein weiteres Mal in Valgrind ablaufen und ermittelt so Speicherprobleme.

Überwachungszentrale

Die erstellten Tests bieten mit den mitgelieferten Ctest-Funktionen zusammen bereits ein großes Überwachungspotenzial. Ein weiterer Vorteil ist, dass neben der Anwendung auch die erstellten Tests samt Ctest plattformunabhängig sind. Die Erweiterung der Umgebung mit einem Dashboard wie Cdash verstärkt dies noch. Im Zusammenspiel erhalten Programmierer damit eine nahtlose Dokumentation, welche Plattformen mit welcher Anwendungsversion Probleme zeigen, bekommen oder verlieren.

Entwickler, die mit diesem Ansatz zufrieden sind, finden im Skriptingmodus von Ctest eine gute Ergänzung [9]. Cdash arbeitet die Vielfalt an Testergebnissen übersichtlich auf. Das zeigen auch Abbildung4 oder die Demo-Website des Projekts [10]. Die Mittel, die Qtestlib, Ctest und Cdash an die Hand geben, helfen Entwicklern ein ungeliebtes Thema besser zu schätzen: Wer seine Tests erst einmal im Griff und im Blick hat, findet dann auch wieder mehr Zeit und Ruhe zum Programmieren. (mg)

Der Autor

Joachim Langenbach ist einer der Gründer von Engsas – Engineering Solutions and Services Langenbach. Er berät Kunden zum Thema Datenhaltung und -verarbeitung in Ingenieurdisziplinien und entwickelt und bietet dazu noch weitere Dienstleistungen an.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 6 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook