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)
Infos
- Qt-Beispiel Simple DOM Model: http://doc.qt.nokia.com/4.7/itemviews-simpledommodel.html
- KDE-Tutorial über Tests: http://developer.kde.org/documentation/tutorials/writingunittests/writingunittests.html
- Handbuch von Qtestlib: http://doc.qt.nokia.com/4.7/qtestlib-manual.html
- Data driven tests: http://doc.qt.nokia.com/4.7/qtestlib-tutorial2.html
- Klasse für Basistests bei Modellen: http://developer.qt.nokia.com/wiki/Model_Test
- Übersicht über Xvfb auf verschiedenen Distributionen: http://www.engsas.de/tipps-tricks/xvfb
- Cdash: http://www.cdash.org
- Valgrind-Projekt: http://valgrind.org
- Ctest Scripting: http://www.cmake.org/Wiki/Cmake_Scripting_Of_Ctest
- Öffentliche Cdash-Instanz:http://www.cdash.org/Cdash
Diesen Artikel als PDF kaufen
Express-Kauf als PDF
Umfang: 6 Heftseiten
Preis € 0,99
(inkl. 19% MwSt.)
Als digitales Abo
Weitere Produkte im Medialinx Shop »
Versandartikel
Onlineartikel
Alle Rezensionen aus dem Linux-Magazin
- Buecher/07 Bücher über 3-D-Programmierung sowie die Sprache Dart
- Buecher/06 Bücher über Map-Reduce und über die Sprache Erlang
- Buecher/05 Bücher über Scala und über Suchmaschinen-Optimierung
- Buecher/04 Bücher über Metasploit sowie über Erlang/OTP
- Buecher/03 Bücher über die LPI-Level-2-Zertifizierung
- Buecher/02 Bücher über Node.js und über nebenläufige Programmierung
- Buecher/01 Bücher über Linux-HA sowie über PHP-Webprogrammierung
- Buecher/12 Bücher über HTML-5-Apps sowie Computer Vision mit Python
- Buecher/11 Bücher über Statistik sowie über C++-Metaprogrammierung
- Buecher/10 Bücher zu PHP-Webbots sowie zur Emacs-Programmierung
Insecurity Bulletin
Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...





