Lesezeit ca. 7 Minuten
Einleitung
Das sind Jörg und Jamal. In diesem Beitrag geht es um Jörgs und Jamals Mentoring-Initiative und das Testautomatisierungstool Selenium.

Mit diesem Tool arbeitet Jörg schon seit gut sieben Jahren und besitzt dadurch einen umfassenden Erfahrungsschatz im Umgang mit Selenium. Aber auch Jamal hat bereits oft damit gearbeitet. So ist er unter anderem Autor zweier Artikel [1] [2] auf unserer Homepage zum Thema Continuous Testing, in denen es vor allem um das Erschaffen moderner Testumgebungen bzw. von CI/CD Pipelines geht, aus denen Selenium nicht wegzudenken ist. Trotz seiner bereits nicht zu unterschätzenden Erfahrungen mit dem Werkzeug wollte Jamal diese aber getreu dem Motto „man lernt nie aus“ weiter ausbauen. Daher setzte Jörg es sich zum Ziel, möglichst viele seiner speziellen Kenntnisse an seinen Kollegen Jamal weiterzugeben.
Gesagt, getan. Über den ein oder anderen Feierabend schlossen sich die beiden in Jörgs Keller ein, um ihr Wissen zu transferieren.
Wir haben Jamal dazu befragt.
Wir starten ganz von vorne. Jamal, für alle die Selenium nicht kennen, was ist das?
„Selenium ist ein Open-Source-Tool zur Automatisierung von Tests für Web-Applikationen. Es basiert auf Java und ermöglicht die Integration mit verschiedenen Versions- und Integrations-Systemen. Selenium ist an die jeweils gegebene Projektstruktur des Kunden anpassbar und bietet dabei viele Umsetzungsmöglichkeiten.“
Wie arbeitest du mit dem Testautomatisierungstool?
„Der Kunde, für den ich im Einsatz bin, hat für offene Stellenangebote ein Bewerbungsportal entwickelt, welches zwar schon produktiv eingesetzt, aber auch ständig weiterentwickelt wird. Dieses ist für die Bewerbenden sowie für die Sachbearbeitenden in den jeweiligen Behörden gedacht. Selenium bietet die Möglichkeit, automatisiert Aktionen auf Webelementen auszuführen. Mit Webelementen sind vor allem Eingabefelder und Buttons gemeint, also Elemente, mit denen der Nutzer der Seite interagiert. Es werden Testfälle erstellt, welche aus sinnvoll orchestrierten Reihenfolgen von Aktionen bestehen, welche beliebig oft und auf verschiedenen Browsern ausgeführt werden können. Das ist wichtig im Bereich der agilen Softwareentwicklung. Dort werden oft Objekte iterativ weiterentwickelt, deren Funktionalität, selbst wenn sie schon umfassend überprüft wurde, nach jeder Modifikation neu sichergestellt werden muss. Für dieses als Regression bekannte Paradigma ist Selenium perfekt geeignet, denn die Automation entwickelt keine Routine, ist hochperformant und liefert schnell brauchbare Ergebnisse.“
Was hat dir Jörg konkret beigebracht?
„Welche Bibliotheken zum Einsatz kommen werden war abzuschätzen, jedoch wie man für die Testautomatisierung speziell die Struktur des Java Projektes zusammenstellt, um hinterher eine gut lesbare und vor allem gut wartbare Struktur zu erhalten war mir in dieser Form noch nicht bekannt. Insbesondere der konzeptionelle Ansatz und Mehrwert von Page-Factory und die Nutzung von CSS-Selektoren anstelle von x-path, der sich ja häufig ändert, hat Jörg mir näher aufzeigen können. Des Weiteren konnte ich lernen, wie man Code-Redundanzen vermeidet. Ein Beispiel dafür ist, dass man mit dem Site-Controller ein bestimmtes Webelement zwar anhand eines Mappers identifiziert, die Operation jedoch auf das Element an seine Superklasse delegiert.“
Warum Selenium?
„Die Testautomatisierung ist ein fester Bestandteil der modernen Softwareentwicklung und kann mit Selenium einwandfrei realisiert werden. Selenium-Tests können parallel über Selenium Grid auf unterschiedlichen Browsern ausgeführt werden. Eine hohe Testabdeckung kann erreicht werden und die Ausführung der Testautomatisierung ist 24 Stunden an sieben Tagen der Woche möglich. Auch können die Tests (automatisch) in eine Pipeline laufen (Maven, GitLab, Jenkins) und nach jedem Deployment (z.B. über Nacht) getriggert werden. Auf diese Weise kann Selenium schnell Feedback über die Qualität der zu entwickelnden Anwendung geben. Das schafft Sicherheit bei Änderungen und/oder Erweiterungen.“
Welche Vorteile hatte das Mentoring für dich?
„Jörg war meine Quelle, die ich jederzeit ansprechen konnte und ich habe effektiv von seinen Erfahrungen profitiert, anstatt die Zeit mit Suchen im Internet zu verbringen. Wir konnten unser Wissen über moderne Lösungen effizient austauschen und zeitnah zum Vorteil des Kunden einsetzen. Mittlerweile beherrsche ich das Testautomatisierungstool so gut, dass ich mein Wissen wiederum an andere Kolleginnen und Kollegen weitergeben kann.“
Wie lautet dein Fazit von dem Mentoring durch Jörg?
„Es sollte mehr Mentoring-Programme geben! Ich bin mir sicher, dass wir alle voneinander lernen können. Im Internet gibt es zwar Ratgeberseiten wie Stackoverflow, aber persönlich ist es was ganz anderes und macht zusätzlich viel mehr Spaß. Außerdem sollte nicht unterschätzt werden, wie sehr sowas das Team zusammenschweißt.“
Hat Ihnen der Beitrag gefallen? Wir freuen uns auf Ihr Feedback!
Ihr Ansprechpartner:
Jamal Oubaouih | Senior Consultant | jamal.oubaouih@lucke-edv.de
Lucke EDV GmbH | Zurück