Jubula ist ein Testautomatisierungstool , das vielen Testern in Russland nicht bekannt ist. Er kam mit einem Projekt aus Deutschland zu uns.
Das Programm wurde von der BREDEX GmbH entwickelt und ist kostenlos. Der Entwickler gibt an, dass Jubula Anwendungen in Swing, SWT / RCP / GEF und JavaFX testen kann. Ein Tester, der Jubula verwendet, muss keine der Programmiersprachen kennen, da das Testen nach der Black-Box-Methode durchgeführt wird und keinen Quellcode benötigt, sodass jeder seine Testfälle selbst automatisieren kann.
Jubula kann als eigenständige Anwendung (wie in unserem Projekt) oder als Eclipse-Plugin ( https://projects.eclipse.org/projects/technology.jubula ) verwendet werden.
Nach der Installation der Anwendung ist alles einsatzbereit: Eine Datenbank zum Speichern von Projekten und AUT-Agent wird konfiguriert (stellt Jubula-Verbindung mit der zu testenden Anwendung her).
Um ein neues Projekt zu erstellen, wählen Sie im Menü Test - Neu und füllen Sie die Felder aus. Wählen Sie in der ausführbaren AUT-Datei den Pfad zur ausführbaren Datei aus, um die zu testende Anwendung auszuführen.
Für ein großes Projekt, in dem mehrere Tester arbeiten, sind natürlich spezielle Einstellungen einer zentralisierten Datenbank erforderlich, in der die erstellten Testfälle für Regressionstests gespeichert werden und auf die alle Benutzer zugreifen können.
Um eine Anwendung mit Jubula zu testen, benötigen Sie die Anwendung selbst mit einer grafischen Oberfläche. Das Programm enthält bereits eine Reihe der wichtigsten Aktionen:
Jubulas Testfallerstellung basiert auf der Schlüsselwortmethode . Das heißt, beim Erstellen eines neuen Testfalls findet der Benutzer die erforderlichen Aktionen mithilfe von Wörtern wie Klicken, Überprüfen, Warten usw., fügt sie dem Test hinzu und weist ihnen die erforderlichen Parameter zu.
Darüber hinaus bietet Jubula die Möglichkeit, die vom Tester ausgeführten Aktionen aufzuzeichnen und später erneut abzuspielen. Diese Methode ist nicht beliebt, obwohl sie zum schnellen Erstellen von Voraussetzungen geeignet ist, wenn Sie beispielsweise zum gewünschten Fenster "gelangen" müssen, in dem bereits Überprüfungen durchgeführt werden.
Um einen Testfall zu erstellen, können Sie einfach einen Schritt aus dem Testfallbrowser in den Arbeitsbereich ziehen, in dem Ihre Testsuite geöffnet ist. Mehrere Schritte können zu einem Modul zusammengefasst werden(Refactor - Extract Test Case), der später in verschiedenen Testfällen verwendet werden kann. Durch Ändern des Moduls werden die Schritte in allen Tests geändert, in denen es verwendet wird. Sie müssen damit vorsichtig sein. Wenn das Modul im Arbeitsbereich geöffnet ist, können Sie alle Testfälle, in denen es verwendet wird, einfach anzeigen, indem Sie F7 drücken. Es gibt viele weitere Hotkeys in Jubula, die sehr bequem in einer separaten Zeile im Hilfebereich hervorgehoben werden. Darüber hinaus finden Sie im Hilfeinhalt mithilfe der Suchleiste Informationen zu allen Funktionen des Programms (auf Englisch).
Bevor Sie Testfälle erstellen, müssen Sie alle grafischen Komponenten hinzufügenim Test verwendet. Dies ist mit dem Objektzuordnungsmodus einfach möglich, der beim Öffnen der Anwendung aktiviert wird. Bewegen Sie den Mauszeiger über das gewünschte Objekt und drücken Sie Strg + Umschalt + q. Das Objekt muss benannt und gespeichert werden, dann kann es im gewünschten Schritt im Feld Komponentennamen ausgewählt werden.
Mit Jubula können Sie nach Bedarf Ihre eigenen Schritte erstellen . Hierfür gibt es executeExternalCommand- und invokeExternal (Method) -Aktionen. Mit ihrer Hilfe werden Skripte oder JAR-Dateien gestartet. Ohne JAVA-Kenntnisse funktioniert das Erstellen eigener Teams nicht. In unserem Projekt hat der Konfigurationsingenieur mehrere große JAR-Dateien geschrieben, auf die Jubula über .bat zugreift, geschrieben in executeExternalCommand.
Betrachten wir ein Beispiel eines Moduls, das in unserem Projekt erstellt wurde, um das aktive Fenster mit einem in SVN gespeicherten Bild zu vergleichen. Zuerst wird der Name der zukünftigen JPG-Datei (StoreValue) als Variable gespeichert. Im Standard-TakeScreenshotofActivWindow werden dieser Name und der Pfad, in dem sich der neue Screenshot befindet, geschrieben. Anschließend wird im Schritt executeExternalCommand die .bat-Datei gestartet, in der die zu vergleichenden Bilder und einige Parameter wie Bildgröße und maximal zulässige Abweichung in Pixel. Über dieselbe .bat-Datei wird die .jar-Datei gestartet, die Klassen zum Vergleichen von Text-, Bild-, PDF- und CSV-Dateien enthält. Diese Innenküche wird hauptsächlich von denen benötigt, die Jubula zum ersten Mal für ein Projekt eingerichtet haben oder etwas hinzufügen, das schmerzlich fehlte. Beim Erstellen eines Testfalls nimmt der Tester ein fertiges Modul (von uns zum Beispiel,Bild vergleichen), legt Parameter fest und weiß nicht einmal, was in .bat und noch mehr in .jar geschrieben ist.
Jubula kann während des Testens mit Anwendungen von Drittanbietern interagieren . Unsere Anwendung generiert Berichte in PDF- und CSV-Formaten. Über die Anwendung können Sie einen Bericht in Adobe Reader öffnen. Jubula speichert ihn mithilfe von Tastaturkürzeln, gibt ihm einen Namen, den der Tester zuvor ausgewählt hat, und vergleicht ihn dann mit der in SVN gespeicherten Datei auf die oben beschriebene Weise über executeExternalCommand.
TestergebnisseMit maximaler Detailgenauigkeit können Sie alle Eingabe- und Ausgabeparameter anzeigen. Wenn der Test irgendwann fehlschlägt, macht Jubula einen Screenshot dieses Moments, auf den Sie jederzeit zugreifen können (diese Funktion kann aus Platzgründen deaktiviert werden). Darüber hinaus steht für einen Schritt mit einem Fehler in den meisten Fällen eine Protokollansicht zur Verfügung, in der das Wesentliche des Fehlers kurz beschrieben wird. Die Ergebnisse können automatisch im XML / HTML-Format im ausgewählten Ordner gespeichert werden.
Um die Aktionen nach dem Auftreten eines Fehlers zu bestimmen , wird der Event_Handler verwendet - der sogenannte Event-Handler. Es kann abhängig von der Art des Fehlers konfiguriert werden, um fortzufahren, zu wiederholen (eine bestimmte Anzahl von Malen), zu beenden, anzuhalten usw. Im Ereignishandler können Sie einen Testschritt oder mehrere Schritte hinzufügen, die im Fehlerfall ausgeführt werden müssen.
Sie können die Auswahl des nächsten Schritts mit If-Then-Else beeinflussen . Dies ist sehr praktisch, wenn Sie Aktionen mit verschiedenen Parametern wiederholen.
While-Do- oder Do-While-Schleife hilft sehr, wenn Sie zum gewünschten Wert „scrollen“ müssen [Drücken Sie „down“, bis der Wert „5“ angezeigt wird, oder umgekehrt, bis der Wert „5“ ist, drücken Sie „down“].
Natürlich hat Jubula die Möglichkeit, Nachtläufe durchzuführen, um die grünen Häkchen vor Ihren Tests am Morgen zu genießen.
Jubula führt den Test so durch, als würde der Benutzer ihn auf seinem Computer durchführen: Er bewegt den Cursor über die Anwendungsfenster, klickt auf die Tasten, sodass Sie für die Reinheit des Experiments derzeit weder die Maus bewegen noch die Tastatur berühren können... Und wie die Erfahrung zeigt, kann der Benutzer Jubula mit einem Blick in Verlegenheit bringen, ohne etwas zu berühren, sodass er nicht den richtigen Knopf findet oder ihn drückt oder etwas anderes. Daher ist es am besten, Jubula auf einem anderen Computer auszuführen. In unserem Projekt ist dies eine Remote-Maschine, auf der sich jeder als Benutzer anmeldet, aber alle seine Änderungen in Jubula allen anderen zur Verfügung stehen.
In unserem Projekt ist Jubula in Polarion integriert. Auf diese Weise können Sie Statistiken anzeigen, welche Tests bestanden oder nicht bestanden wurden und welche in diesem Lauf überhaupt nicht ausgeführt wurden. Für jeden einzelnen Testfall verfügt Polarion über ein Feld "Testaufzeichnungen", in dem die Ergebnisse der letzten Nachtläufe in Jubula angezeigt werden. Die Anzahl kann unabhängig festgelegt werden (bis zu 300). Mit dieser Funktion können Sie leicht nachverfolgen, von welcher Version der Test nicht mehr bestanden wurde, wenn er nicht regelmäßig überwacht wurde.
Ein wesentlicher Nachteil des Programms ist die Unfähigkeit, Änderungen rückgängig zu machen, die Funktion "zurücktreten", "rückgängig machen" oder ähnliches ist einfach nicht da. Das Maximum, das möglich ist, besteht darin, alles zu schließen, ohne die Änderungen zu speichern. Aber wenn Sie auf "Speichern" klicken, ist es das. In Notfällen ist es möglich, die Version des Projekts ab einem bestimmten Datum wiederherzustellen. Dies ist mit der Tatsache behaftet, dass die nach diesem Tag vorgenommenen Änderungen für immer verloren gehen.
Jubula ist ein wirklich gutes Programm zur Automatisierung von Tests, die für eine Desktop-Anwendung geschrieben wurden. Wenn gewünscht und der Benutzer über die erforderlichen Fähigkeiten verfügt, können Sie alles überprüfen und nicht nur die GUI, sondern auch die Funktionalität von der Serverseite. Aber diese Kreation ist wirklich sanft, Sie müssen einen Ansatz finden, und dann können Sie sie glücklich bis ans Ende verwenden!