JAX-Interview mit Thomas Mauch

MagicTest – Visuelles Testen für Java

Redaktion JAXenter

Thomas Mauch

Jeder weiss, wie wie wichtig das Testen ist. Doch egal, ob es sich um das Prüfen erwarteter Resultate, negative Tests oder große Datenmengen handelt: Intensives Testen ist aufwendig. In seiner Session auf der JAX 2016 stellte Speaker Thomas Mauch das visuelle Testframework MagicTest vor. Wir haben die Gelegenheit genutzt, um uns mit ihm über das Tool und den Spaß am visuellen Testen zu unterhalten.

JAXenter: Hallo Thomas. Gerade hast du in deinem JAX Talk MagicTest vorgestellt. Worum handelt es sich dabei?

Thomas Mauch: MagicTest ist ein Testing-Tool für Java, welches auf einem visuellen Ansatz basiert. Es automatisiert das Testen ohne Framework, wo man die relevanten Informationen entweder mit dem Debugger oder mit Print-Statements auf Korrektheit geprüft hat.

JAXenter: Kannst du einmal ein Beispiel nennen, in dem MagicTest gute Dienste leistet?

Thomas Mauch: MagicTest ist immer dann besonders gut einzusetzen, wenn viele oder viele verschiedene Daten geprüft werden müssen, um die Korrektheit einer Verarbeitung zu verifizieren. Ein Beispiel ist also das Entfernen aller Namespaces aus einem XML-Dokument, wobei alle anderen Elemente wie Knoten, Attribute, etc. erhalten bleiben müssen – und dies sollte alles getestet werden.

JAXenter: Weshalb sind die Assert-basierten Tests traditioneller Tools wie TestNG oder JUnit nicht zufriedenstellend?

Thomas Mauch: Das Problem mit traditionellen Tests ist, dass nicht nur was getestet werden soll, sondern eben auch was wir erhalten wollen, in Assertions in Java-Code formuliert werden muss. Dies führt zwangsläufig zu viel Code, der geschrieben werden muss – typischerweise also genau das, was Entwickler nicht gerne tun!

JAXenter: Nun ist Testen ja nicht gerade die typische Lieblingsaufgabe beim Entwickeln. Weshalb macht dir Testen mit MagicTest aber dennoch Spaß?

Ich glaube, der visuelle Ansatz entspricht dem Vorgehen eines typischen Entwicklers.

Thomas Mauch: Ich glaube, der visuelle Ansatz entspricht dem Vorgehen eines typischen Entwicklers: man weiss, was man entwickeln will und was es tun soll, ohne dass man dies formal vollständig formulieren will. Und da die visuellen Tests sehr schlank sind, kann man sich auf die Hauptaufgabe konzentrieren und kommt dort entsprechend schnell voran.

JAXenter: Nun lässt sich mit visuellem Testen sicherlich nicht alles abdecken – mit welchen Tools ergänzt du deine Tests, um eine möglichst hohe Coverage zu erreichen?

Thomas Mauch: MagicTest ist nicht nur ein Tool, sondern auch ein Ansatz, wie Software getestet werden kann. In meiner Session habe ich deshalb auch gezeigt, wie solche Tests mit bekannten Tools wie TestNG oder JUnit ausgeführt werden können.

Zentral ist, dass Software so gut wie möglich getestet wird – egal auf welche Art. MagicTest kann dabei ein weiteres Tool oder eine weitere Möglichkeit sein, um fehlerfreie Software effizient zu entwickeln.

JAXenter: Vielen Dank für dieses Gespräch!

mauchThomas Mauch interessiert sich seit der Zeit des C64 für alle Gebiete der Softwareentwicklung. Er studierte bis 1996 Informatik an der ETH Zürich und hat seither mit verschiedensten Technologien und Programmiersprachen gearbeitet. Der aktuelle Focus liegt auf Java und JEE. Zurzeit ist Thomas bei Swisslog als Softwarearchitekt tätig, daneben entwickelt er Open-Source-Projekte.
Geschrieben von
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: