MagicTest – Visuelles Testen mit Java

Reporting

Es gibt noch einen weiteren Kritikpunkt bei den traditionellen Tests: Die wesentlichen Informationen sind nur für Entwickler zugänglich. Der Grund ist, dass die von den Test-Frameworks erstellten Reports zu wenig detailliert sind, da man eben nicht sieht, was genau getestet wurde. Aus diesen Gründen ist es häufig notwendig, dass zusätzlich zu den Tests auch noch ein separater Testplan geschrieben werden muss. Hier kann der detaillierte Report von MagicTest helfen, wo für jeden einzelnen Methodenaufruf genau ersichtlich ist, was getestet wurde.

Unit und Characterization Tests

Die Annotation @Trace, welche wir bisher verwendet haben, ist für den Einsatz in Unit-Tests ausgelegt. Der Ansatz des visuellen Vergleichs eignet sich aber ebenfalls sehr gut für Characterization-Tests, wo nachträglich das tatsächliche Verhalten eines existierenden Software-Packages geprüft wird.

MagicTest unterstützt Characterization-Tests mit der Annotation @Capture. Damit werden die vom Programm auf einen Ausgabekanal wie System.out geschriebenen Daten gesammelt und als aktuelle Ausgabe gespeichert. Abbildung 3 lässt aber die Möglichkeiten erahnen, die sich dahinter verbergen, indem MagicTest nun allfällige Änderungen in der Ausgabe erkennt und markiert.

Abb. 3: Report eines @Capture-Test mit Differenzen
Nächste Schritte

MagicTest kann auf verschiedene Arten verwendet werden. Die komfortabelste Art während der Entwicklung ist sicherlich der Einsatz des Eclipse Plug-ins. Daneben stehen Kommandozeilen-Programme zur Auswahl, welche z.B. für die Einbindung in Continuous-Integration-Systeme verwendet werden können. Eine Integration mit TestNG ermöglicht die Weiterverwendung von bestehenden Test-Suiten. Weitere Informationen zu MagicTest inklusive Downloads findet man auf der Website [1]. Für erste Gehversuche startet man am besten mit dem dort vorhandenen Beispiel-Projekt und kann so in wenigen Minuten die neue Magie des Testens genießen.

Thomas Mauch arbeitet als Software Architect bei Swisslog in Buchs, Schweiz. Er interessiert sich seit den Zeiten des C64 für alle Aspekte der Softwareentwicklung.
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.