Name

Jacareto

Homepage

http://jacareto.sourceforge.net

Lizenz

GNU General Public License

Untersuchte Version

Jacareto 0.7.12

Letzter Untersuchungszeitpunkt

01.11.2010

Kurzbeschreibung

Jacareto ist ein Werkzeug, mit dem Klicks/Mausbewegungen aufgezeichnet und abgespielt werden können. Da Jacareto GUI-Komponenten erkennt, können auch auf der GUI ausgegebene Ergebnisse mit einem erwarteten Ergebnis verglichen werden. Möglichkeiten, innerhalb der Abfragen zu programmieren, um z.B. mehrere Aufrufe in einer For-Schleife zusammen zu fassen, fehlen allerdings. Im Gegenzug müssen aber die Personen, welche die Anwendungstests schreiben, nicht zwangsläufig Softwareentwickler sein. Durch die prinzipielle Einfachheit des Konzepts des Maus- und Tastaturaufzeichnens lassen sich ohne softwaretechnische Vorbildung Tests erzeugen.

Fazit

Jacareto soll laut Projektseite ein einfaches, schnell zu benutzendes Werkzeug zum Erstellen von GUI-Tests mittels Maus- und Tastaturrecording sein. Dieser Erwartung kann Jacareto nicht gerecht werden, da das Programm bugbehaftet und die Bedienung umständlich ist. Zu den zahlreichen Bugs zählen unter anderem, dass das Programm das zu testende Fenster mit komplett weißem Inhalt öffnet, oder die Tests zum Klicken den Auswahlcursor von Jacareto verwenden, so dass zur Laufzeit der Test noch verändert wird. Diese Fehler lassen sich oft nur durch einen Neustart des Programms "abschalten". Für kleinere Projekte mag das noch akzeptabel sein, bei größeren Anwendungen, die getestet werden sollen, macht sich vor allem die schlechte Automatisierbarkeit und die mangelhafte Ergonomie bemerkbar. Jacareto könnte auf Grund des Konzepts, dass man zum Testen nicht Programmieren können muss, immer dort eingesetzt werden wo unterschiedlich qualifiziertes Personal zur Verfügung steht. Bevor es soweit ist müssten aber zumindest die zahlreichen Bugs ausgebessert werden. Da der Entwickler aber nur noch sehr zögerlich an seiner Software zu entwickeln scheint, wird es hierzu in absehbarer Zukunft wohl nicht kommen.

Einsatzgebiete

Jacareto kann in allen Projekten zum Einsatz kommen, bei denen eine GUI getestet werden muss. Hierbei bleibt jedoch zu beachten, dass aufgrund der fehlenden Interaktionsmöglichkeiten mit anderen Tests sowie der fehlenden Einbindung in Ant das Arbeiten an großen Projekten schnell sehr arbeitsintensiv wird.

Einsatzumgebungen

Jacareto 0.7.12 unter WindowsXP mit Java 1.6
Linux/UNIX wird nicht unterstützt, auch wenn Shellskripte zum Starten beiliegen.
Da Jacareto nicht als Plugin sondern als Einzelapplikation konzipiert ist, werden keinerlei Anforderungen an eine IDE gestellt.

Installation

Für Windows existiert ein Installer, der auf der Projektsite zu beziehen ist. Nach der Installation lässt sich Jacareto über das Startmenü starten. Da Jacareto in Java geschrieben ist, muss Java ab Version 1.5 installiert sein.

Dokumentation

Eine Dokumentation auf der Webseite ist quasi nicht vorhanden. Auf der Projektseite findet sich in englischer Sprache der freundliche Hinweis, welches Archiv man herunterladen und welche Datei ausgeführt werden muss. Mehr verrät die Projektseite nicht. Das Programm selbst verfügt dagegen über eine ausführliche englische Hilfe, die anhand von Screenshots sämtliche Aspekte von Jacareto erklärt, sowie eine Anleitung für Entwickler enthält. Dabei fällt gelegentlich auf, dass die beschriebene Version nicht immer mit der aktuellen Version übereinstimmt. Die Dokumentation geht leider an keiner Stelle auf die eventuell auftretenden Probleme im Umgang mit Jacareto ein. Sollte man bei der Benutzung über einen der recht häufigen Bugs stolpern, muss man selbst nach einem Workaround fahnden. Eine FAQ in der Hilfe oder auf der Projektseite würde häufiges Suchen in der Dokumentation ersparen. Für die zahlreichen Bugs sollte es zumindest eine Liste mit den bekannten Fehlern geben, damit der Nutzer schneller erkennen kann, ob er einen Bedienfehler gemacht oder das Programm ein Problem verursacht hat.

Wartung der Projektseite

Die Projektseite enthält kaum Inhalt, der gewartet werden müsste, daher lässt sich schwer nachvollziehen ob die Seite hin und wieder eine Auffrischung erhält. Die SourceForge-Seite enthält zwar seit März 2007 keine neuen "News", im Forum gibt es aber noch Aktivität. Das Projekt scheint demnach noch zu leben, auch wenn es wohl nur noch gelegentlich weiterentwickelt wird.

Nutzergruppen und Support

Das Projekt wird auf SourceForge gehostet und bietet die übliche Funktionalität wie Forum und Mailingliste. Während Letztere eingeschlafen zu sein scheint, herrscht im Forum noch rege Betriebsamkeit. Fragen werden meist binnen weniger Tage zumindest kommentiert. Beim Bugtracker kann man zwar nicht von reger Teilnahme sprechen, hin und wieder werden hier vorhandene Bugs aber korrigiert und neue eingestellt.

Intuitive Nutzbarkeit

Jacareto ist ohne intensives Einarbeiten nicht zu benutzen. Funktionen liegen versteckt und an unerwarteter Position, gröbere Bugs sorgen dafür, dass man sich nie sicher sein kann, ob man das Programm gerade falsch bedient, oder ob sich das Programm nur wieder einmal weigert, eigentlich zulässige Befehle entgegen zu nehmen. Die fehlende Möglichkeit, den zeitlichen Ablauf des Tests einfach per Drag&Drop zu gestalten, verhindert das flüssige Arbeiten, besonders da die "Einfügen"-Operation die Aktionen nicht immer an erwarteter Stelle absetzt.

Automatisierung

Es lassen sich mehrere Test nacheinander und zeitbeschleunigt ausführen, eine Auomatisierung ist über das mitgelieferten Kommandozeilenwerkzeug "picocorder" möglich. Hierbei wurde von dem Entwickler hauptsächlich der Einsatz über eine Batchdatei angedacht, ein Beispiel, wie das Programm in Ant integrierbar ist, existiert nicht. Hier muss gegebenenfalls vom Nutzer selbst ausgetestet werden, in wie weit eine Einbindung möglich ist. Jacareto setzt nicht auf JUnit oder etwas Vergleichbarem auf, so lassen sich Unit-Tests und Jacareto-Tests nicht kombinieren.
ANT
Die Automatisierung des Werkzeugs Jacareto mit Hilfe von Ant wäre nicht sinnvoll. Eine automatisierte Ausführung über die Konsole ist zwar möglich, allerdings bestehen keine Unterschieden bzw. Vorteile gegenüber der Oberflächen basierten Ausführung. Jacareto bietet von Haus aus eine eigene Oberfläche, um Tests zu definieren, auszuführen und zu analysieren. Weiterhin werden die definierten Tests in einem eigenständigen Format abgelegt und sind somit schwer aus externer Sicht zu verarbeiten.
Maven
analog zum Abschnitt ANT

Einführendes Beispiel

Über den Menüpunkt "Session -> New" lassen sich neue Testcases festlegen. Der Session-Name ist frei wählbar und gibt den Namen des Testfalls an. Unter "Type" kann ausgewählt werden, welche Komponenten verfügbar sein sollen.

jacareto_Session

Um eine Anwendung oder ein Fenster zu testen, muss diese gestartet werden. Dazu wird dem "ApplicationStarter" das Objekt übergeben, das die Main-Methode enthält welche das gewünschte Fenster startet.
Als Alternative lassen sich Programme über "Session" -> "Start Programm(STRG+p)" in speicherbaren Listen verwalten und starten.

jacareto_List

Wird ein neues Programm hinzugefügt oder ein altes editiert, öffnet sich ein Fenster mit den dazu nötigen Einstellungsmöglichkeiten. "Classname" und "Classpath extension" müssen angegeben werden, wobei ersteres die Startklasse samt Package angibt und letzteres den Pfad in der das Package liegt.
Die getestete Beispielapplikation kann hier geladen werden. Die Main-Klasse muss zum Starten des Progamms angegeben werden:

appstarter1

Danach öffnet sich die GUI des Testprogramms.
appstarter2

Wird der rote Punkt unterhalb des Session-Menüpunktes aktiviert, oder alternativ "F1" gedrückt, beginnt Jacareto die Interaktionen des Testers mitzuschneiden. Mit Hilfe des schwarzen Quadrats neben dem Aufnahmeknopf oder dem Tastenkürzel "F2" lässt sich die Aufnahme stoppen. In der "Session Record"-Auflistung lässt sich die Zeitachse mit den beim Durchlauf des Tests anzuwendenden Aktionen betrachten.

time

Abschließend kann Jacareto eine Auflistung mit den ausgeführten Tests und deren Ergebnisse ausgeben.
report

Detaillierte Beschreibung

Literatur

keine

Zurück zur Werkzeugübersicht
Zurück zur CSI-Hauptseite