Testen mit Jubula

Test Cases und Interaktionen

Mit Jubula gibt es seit Eclipse Indigo eine hauseigene GUI-basierte Testumgebung. Wobei "hauseigen" bedeutet, dass BREDEX GmbH das Tool als offizielles Eclipse-Projekt etabliert hat. Daneben gibt es auch eine kommerzielle Variante mit dem Namen GUIdancer. Her soll es aber ausschließlch um das Eclipse-Projekt Jubula gehen.

Jubula steht in zwei verschiedenen Versionen zum Download bereit.

  • Eclipse for Tester - eines der Pakete aus dem offiziellen Release Train, der jedes in einer neuen Version erscheint.
  • Jubula - ebenso eine Standalone-Applikation, aber mit zusätzlichen Tools und Dokumenten.

Mit beiden Versionen können GUI-Test durchgefürt werden, zu empfehlen ist aber die zweite, da hier zusätzliche Tools enthalten sind, die aus lizenzrechtlichen Gründen nicht in der anderen Version enthalten sind. Außerdem sind in dieser Version auch alle vorhanden Dokumentationen und Beispiele gebündelt dabei, also kein Rumgesuche im Internet ;-)

Mit Jubula lassen sich SWT- und Swing-Anwendungen testen. Für Eclipse RCP gibt es auch ein Profil, aber der überweiegende Teil steckt beim SWT-Profil bereits drin. Es lassen sich Interaktionen für den Test aufzeichnen und für automatische Tests auch wieder abspielen. Der typische Ansatz beim Testen ist jedoch ein anderer.

In Jubula werden Use Case-basierte Tests als Testspezifikation aufgeschrieben. Dies kann bereits vor Entwicklung der Anwendung geschehen. Der Tester kann dabei aus bestehenden Interaktionen wie "öffne Menüpfad" oder "klicke Button" auswählen und diese zu Use Cases kombinieren. Ein Use Case kann wiederum aus anderen Use Case bestehen.

Test Cases werden in Form von Test Suites ausgeführt

Das Ziel ist nun einen komplexen Test aus mehreren einfachen Use Cases zusammenzusetzen. Zum Beispiel kann der Use Case "Rechnung schreiben" aus den einfachen Use Cases "Leistungen erfassen", "Leistung abrechnen" und "Druckdialog öffnen" bestehen. Diese Use Cases lassen sowohl einzeln auch als auch in Kombination testen. Damit sind sowohl Top-Down als auch Bottom-Up Entwicklungsstrategien möglich. Für Top-Down muss natürlich das was "unten" noch nicht entwickelt ist für den Test gestubbt werden.

Im Internet habe ich ein Blog gefunden in dem in drei Folgen ein gutes Tutorial vorgestellt wird:

Wie man Jubula-Test mit einem Continous Integration Server ausführt wird hier beschrieben: Automating Eclipse Jubula Tests with Jenkins. Das ganze funktioniert natürlich genauso auch mit Hudson

Zurück