Was ist das Galen Framework?
Galen ist ein Open-Source-Framework zum automatisierten Testen von Layouts und responsive Design von Webanwendungen. Das Galen Framework wurde in der Programmiersprache Java entwickelt und ist auf GitHub über Apache 2 Lizenz verfügbar.
Der Fokus von Galen Framework ist die Optimierung der automatisierten Layout-Regressionstests. Dabei wird die Position der Elemente auf einer Weboberfläche relativ zueinander getestet. Damit kann die Oberfläche bei Änderungen relativ einfach überprüft werden. Auch der Test unterschiedlicher Bildschirmgrößen ist problemlos möglich. Wie bei anderen automatisierten Regressionstests, führt das zu einer schnelleren Fehlerentdeckung, was besonders in der agilen Entwicklung und im Rahmen von Continuous Delivery von großem Nutzen ist.
Zur Ansteuerung der Zielapplikation im Browser verwendet Galen Framework Selenium – damit können so gut wie alle gängigen Browser und mobile Geräte angesteuert werden.
Galen Framework besitzt eine eigene spezielle Syntax-Sprache, sogenannte Galen Specs. Die Galen Specs Syntax besteht unter anderem aus folgenden Bestandteilen:
- Definitionen der Seitenobjekt-Lokatoren
- Abschnitt- und Bereichsdefinitionen
- Spezialobjekten (wie viewport oder parent)
- Specs (Prüfungen wie near, below, above usw.)
Quelle: slideshare
Testmethoden
Im Galen Framework werden drei Arten von Testmethoden unterschieden: Spezifikationstests, Cross-Browser-Tests und Regressionstests.
Spezifikationstests
Spezifikationstests überprüfen das Layout auf Basis der im Vorfeld definierten Regeln. Dieses Vorgehen kann am besten mit einem TDD-Verfahren (Test-Driven-Development) beschrieben werden und ist entsprechend mit höheren Initialaufwänden verbunden. Auf der anderen Seite bietet diese Art von Testvorgehen eine großartige Möglichkeit sich im agilen Team frühzeitig Gedanken über das Layoutverhalten zu machen. So können viele unklare Punkte bereits im Rahmen der Layout-Test-Entwicklung mit Galen-Framework geklärt und ggf. präventiv beseitigt werden.
Cross-Browser-Tests
Bei Cross-Browser-Tests wird die Darstellung der gleichen Produktversion in unterschiedlichen Browsern getestet. Ziel ist das Finden falscher Darstellungen oder Verhaltensweisen. Im Galen Framework erlaubt diese Methode die Entdeckung und frühzeitige Beseitigung von solchen Unterschieden. Da das Galen Framework mit Selenium arbeitet, können Cross-Browser-Tests auf den meisten Browsern und mobilen Geräten ausgeführt werden.
Optional können diese Tests in einer Cloud-Lösung wie Sauce Labs oder BrowserStack ausgeführt werden. So können die Layouts der Webseiten auf unterschiedlichen mobilen Geräten getestet werden, auch wenn Sie selbst über diese Hardware in der Firmeninfrastruktur nicht verfügen.
Regressionstests
Regressionstests überprüfen das Layout durch den Vergleich zu einer vorherigen Version. Auf diese Weise kann nachverfolgt werden, ob sich während der Weiterentwicklung der Anwendung unbemerkt Fehler im Layout eingeschlichen haben.
Vorteile und Nachteile
Vorteile
- Open-Source
- Unkomplizierte Installation
- Gutes Reporting mit Screenshots vorhanden
- Einfach lesbare Syntax, auch für Nicht-Techniker
- Unterstützung von mehreren Browsern
- Unterstützung von Funktionstests
Nachteile
- Test-Code Wartung kann etwas aufwendig werden, wenn es viele und häufige UI-Änderungen gibt