Name

Jailer

Homepage

http://jailer.sourceforge.net/home.htm

Lizenz

Apache 2.0

Untersuchte Version

Jailer 3.6

Letzter Untersuchungszeitpunkt

26.05.2011

Kurzbeschreibung

Jailer unterstützt das Aufbauen von Testdatenbanken für Softwaretests, indem aus Datenbanken mit umfangreichen Datensätzen und komplexen Datenmodellen, Teilmengen der Datensätze exportiert werden, ohne die Abhängigkeiten zu verletzen. Außerdem erlaubt Jailer die Visualisierung von Tabellen sowie deren Beziehungen und bietet weitere GUI Unterstützung, bei der Analyse und Modellierung von Datenbanken.

Fazit

Jailer eignet sich besonders gut für Einsteiger in die Qualitätssicherung, da es viel mit Visualisierungen arbeitet und dem Benutzer Arbeitsschritte durch die GUI erleichtert. Das Werkzeug selbst führt keine Tests durch, sondern unterstützt den Benutzer dabei SQL Skripte oder Testdatensätze für Testdatenbanken zu erstellen, die dann mit anderen Werkzeugen, wie z.B. DBUnit, dessen flat-xml Format unterstützt wird, verwendet werden. Die Fähigkeit ein Datenmodell anhand einer bestehenden Datenbank zu erstellen, um daraufhin Teile des Datensatzes zu extrahieren ohne Abhängigkeiten zu verletzen, macht Jailer auch für erfahrene Tester interessant.

Einsatzgebiete

Jailer kommt primär in der Qualitätssicherung für Software mit Datenbankanbindung zum Einsatz. Es unterstützt bei dem Aufbau von Testdatenbanken und bei dem Anlegen und Extrahieren von Testdatensätzen, führt aber selbst keine Softwaretests durch.

Einsatzumgebungen

Jailer ist eine eigenständige Java Applikation, die unter Unix und Windows lauffähig ist.

Installation

Nach dem Download muss die Software lediglich entpackt werden. Gestartet wird Jailer, abhängig von dem benutzten Betriebssystem, über mitgelieferte Batch- und Shell-Skripte, die .exe-Datei oder über die ausführbare .jar Datei. Für die Verbindung zu einer Datenbank werden die zugehörigen JDBC Treiber benötigt.

Dokumentation

Die englischsprachige Dokumentation ist Bestandteil der Jailer Webseiten. Es gibt eine Übersicht über die wichtigsten Funktionen und detailliertere Schritt für Schritt Anleitungen mit vielen hilfreichen Screenshots. Allgemein bezieht sich die Dokumentation nur auf die Anwendung der Software.

Wartung der Projektseite

Die Projektseite macht insgesamt einen gepflegten Eindruck. Die Versionsgeschichte der Software zeugt von regelmäßigen und häufigen Updates.

Nutzergruppen und Support

Auf der Webseite von Jailer gibt es ein Forum und ein knappes FAQ.

Intuitive Nutzbarkeit

Die Benutzung ist dank übersichtlicher GUI und Visualisierung der Datenmodelle mit Graphen und Bäumen weitestgehend intuitiv. Wichtige Programmabläufe werden außerdem durch die Dokumentation Schritt für Schritt erklärt.

Automatisierung

Die Software ist darauf ausgelegt, von einem Benutzer bedient zu werden.

Einführendes Beispiel

Einleitung:

Das folgende Beispiel demonstriert das Extrahieren eines Tabelleneintrags, wobei Jailer darauf achtet, dass andere Einträge, die eine Referenz auf den zu extrahierenden Eintrag haben, ebenfalls extrahiert werden. Konkret extrahiert wird ein Projekt, mit allen beteiligten Mitarbeitern und ihren Rollen.

Vorbereitung:

Eine Datenbank muss installiert und gestartet sein. In diesem Beispiel kommt die JavaDB zum Einsatz. Diese lässt sich auch bequem über die GUI Menüs der NetBeans IDE starten und konfigurieren.

JavaDB konfigurieren

Nachdem die Datenbank angelegt ist, legt man, mit Hilfe des folgenden SQL-Skripts, die Tabellen, Constraints und Testdaten an.
beispiel.sql

Durchführung:

Nun wird Jailer gestartet und bei der Modulwahl der "Data Browser" gewählt. Über "New" muss hier eine Konfiguration der Verbindung zu der Datenbank angelegt werden.

JDBC Verbindung konfigurieren

Nach erfolgreichem Verbinden zu der Datenbank, werden über das Menü "Tools->Analyze Database" die Tabellen und Beziehungen erkannt. Jetzt wird Jailer neu gestartet und als Modul "Database Subsetter" gewählt.

Im Hauptfenster sind nun die Tabellen mit ihren Beziehungen zu einander dargestellt. Man kann in den Einstellungen in der Menüleiste und in den Kontextmenüs der Tabellen bewirken, dass das Modell mehr Informationen anzeigt.

So sieht das vollständige Modell dieses Beispiels aus:

Test Datenbank

Man sieht, dass die Verbindungspfeile zwischen den Tabellen jeweils immer in beide Richtungen laufen. Würde man nun ein Projekt aus der "PROJEKT" Tabelle extrahieren, so würde Jailer die Verbindungen vorwärts und rückwärts durchgehen. Dies hätte unter Anderem zur Folge, dass nicht nur Personen die an dem Projekt beteiligt sind extrahiert würden, sondern auch alle Personen, die überhaupt an irgendeinem Projekt beteiligt sind. Dasselbe gilt auch für die Rollen der Projektbeteiligten.
Aus diesem Grund deaktiviert man die Rückwärts-Pfeile der Tabellen "PERSON" und "ROLLE". Dazu wählt man in der Baumstruktur des Modells die entsprechende Tabelle aus und klappt sie auf, um den Rückwärts-Pfad wählen zu können. Nach einem Klick auf den Zweig, kann weiter unten über eine Checkbox der Status auf "Disabled" gesetzt werden.

Beziehung deaktivieren

Mit dem gleichen Ablauf deaktiviert man auch die Rückwärts-Verbindung der Tabelle "ROLLE".

Nun kann ein Projekt extrahiert werden und es werden nur die an dem einen Projekt beteiligten Personen und deren Rollen ausgelesen. Wir wählen das Projekt mit der ID Nr. 101 und tragen es oben links in Form einer SQL Abfrage ein. Außerdem wird für dieses Beispiel als Exportformat "DbUnit flat dataset" ausgewählt und auf den "Export" geklickt.

Export

Der Benutzer wird dazu aufgefordert das Modell zu speichern, hier wird ein beliebiger Dateiname und Speicherort gewählt. Im nächsten Formular kann der Name der .xml Datei angegeben und zusätzliche Einstellungen getroffen werden. Wenn die "explain" Checkbox aktiviert ist, wird nach dem Klick auf "Export Data" zum endgültigen Exportieren der Daten, eine Logdatei generiert, die Jailers Entscheidungen, warum und welche Einträge es exportiert hat, dokumentiert.

Detaillierte Beschreibung

Dokumentation

Literatur

-

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