JAXenter

Das Portal für Java, Architektur, Cloud & Agile

Tool-Radar: QFTest

Was kann das Test-Tool?

Tool-Radar: QFTest

Historisch gesehen hat QFTest den Ursprung im automatisierten Test von Swing-Anwendungen, danach wurde die RCP-Unterstützung ergänzt. Mit dem aktuellen Major-Release 3 können nun auch Weboberflächen automatisiert getestet werden. Das kommerzielle Produkt wird dabei in mehreren Ausbaustufen angeboten. Diese unterschieden sich darin, welche Art von Anwendung getestet werden kann (Swing, RCP und Webanwendung). Es ist möglich, eine Version (Lizenzpreis: 1595 Euro, Supportvertrag: 435 Euro pro Jahr) nur für eine Art zu kaufen, die maximale Ausbaustufe unterstützt alle drei Varianten (Lizenzpreis: 2395 Euro, Supportvertrag: 570 Euro pro Jahr).

Demoversion für die Probefahrt

Um einen ersten Eindruck von QFTest zu bekommen, kann eine Demoversion von der Webseite heruntergeladen werden. Diese besitzt alle Funktionalitäten der Vollversion. Der Unterschied ist, dass mit der Demoversion keine Testsuiten abgespeichert werden. Um aber auch einen größeren Test mit der Software zu machen, kann eine Evaluierungslizenz angefordert werden. Damit kann man auch eigene Test-Suites erstellen, die abgespeichert werden können. QFTest steht dabei für Windows und Unix zur Verfügung. Unter Windows muss für die Installation zunächst der Installer herunterladen und mittels Doppelklick gestartet werden. Für die ersten Schritte werden einige Demo-Suites mitgeliefert, um sich am eigenen Rechner schnell ein erstes Bild von der Funktionsweise von QFTest zu machen.

Funktionsweise

QFTest ist ein grafisches Werkzeug zur Erstellung von automatisierten Tests. Die Hauptzentrale für die Erstellung und den Ablauf dieser Tests ist das zentrale Projektfenster (Abb. 1).

Die zu testende Anwendung (bezeichnet als SUT - System Under Test) wird über QFTest gestartet. Einzelne Sequenzen werden damit mittels einer Aufnahmefunktionalität aufgenommen und können wiedergegeben werden (Capture-Replay-Prinzip). Diese Sequenzen können nun verfeinert und zu einem kompletten Test ausgebaut werden. Für den Ausbau der aufgezeichneten Elemente steht die Skriptsprache Jython zur Verfügung. Seit Version 3 von QFTest gibt es zusätzlich Groovy. Aus beiden Sprachen kann bei der Formulierung der Tests direkt auf die instanziierten Objekte der Anwendung zugegriffen werden. Die Modularisierung kann über Prozeduren und Auslagerung von Tests (oder Prozeduren) in andere Dateien sehr weit getrieben werden.

Durch die Auslagerung ist es möglich, auch innerhalb von großen Testsuiten den Überblick zu behalten. Ähnlich wie in JUnit existierten die Prinzipien von Vorbereitung und Aufräumen. Über den integrierten Debugger können die Test-Suites im Einzelschritt durchlaufen werden, um Fehler in der implementierten Testlogik zu finden. Von den einzelnen Testdurchläufen wird ein ausführliches Protokoll erstellt, das im grafischen Viewer analysiert werden kann. Das Protokoll hat dabei den gleichen Aufbau wie Test-Suites. Dadurch gelingt die schnelle Zuordnung der Fehler.

Fazit

Bei QFTest handelt es sich um ein intuitives Werkzeug, das sich nach einer kurzen Einarbeitung sehr schnell erschließt. Bei größeren Test-Suites unterstützen die mitgelieferte Dokumentation und die unterschiedlichen Supportmöglichkeiten (Mailinglist und kommerzieller Support). Bestandskunden sollten die Release-Notes prüfen, um alle neuen Funktionalitäten im Überblick kennenzulernen.

 

Kommentare

Ihr Kommentar zum Thema

Als Gast kommentieren:

Gastkommentare werden nach redaktioneller Prüfung freigegeben (bitte Policy beachten).