End-to-End Testing sorgt dafür, dass Webanwendungen auch bei Anpassungen vollkommen intakt bleiben. Denn: Neben neuen Browserspezifikationen müssen Entwickler stetig neue SEO-Richtlinien und Features implementieren. Mit End-to-End Tests können alle Anwendungen und Seiten getestet werden, welche sich in einem Browser öffnen lassen. Für die Entwicklung wird das Framework „Cypress“ verwendet. Dieses beinhaltet verschiedene Funktionen, welche die Entwicklung vereinfachen und die Zuverlässigkeit der Ergebnisse sicherstellen.
Wie genau das ausschaut und wie End-to-End Tests Entwickler beim der Webentwicklung unterstützen, erfahren Sie in unserem Blogartikel.
End-to-End Tests: So funktioniert’s
Im Gegensatz zu Unit- oder Integration Tests, wird bei End-to-End Tests die komplette Anwendung aus Sicht eines Users geprüft. Dazu wird sie zunächst in verschiedenen Browsern (aktuell Chrome, Firefox und Edge) und Auflösungen geöffnet.
Ein Test besteht zum einen aus Interaktionsanweisungen (Klicken, Scrollen, Tippen, etc.) und zum anderen aus erwarteten Ergebnissen (Bsp.: „Nachdem der User auf einen Submit-Button klickt, soll er auf eine Success Seite weitergeleitet werden.“ oder „Der Text in der Navigation soll die Farbe Blau haben.“).
Durch dieses Vorgehen kann sowohl die Funktionalität der Webanwendung als auch das Layout entsprechend geprüft werden. Geschrieben werden die Tests entweder in JavaScript oder in TypeScript. Da ein Webentwickler sich keine neue Programmiersprache aneignen muss, kann das Entwickeln von End-to-End Tests schnell erlernt werden.
End-to-End Testing für Layout und Funktionalität
Um ein einwandfreies Layout sowie eine umfassende Funktionalität der Website sicherzustellen, lassen sich die End-to-End Tests sowohl in den Entwicklungsprozess integrieren als auch auf die produktive Anwendung anwenden. Dies gestaltet sich wie folgt:
Entwicklungsprozess
In einer Codeverwaltungssoftware wie beispielsweise GitLab lassen sich Pipelines einrichten, welche bei jeder Aktualisierung des Programmcodes ablaufen. Es ist möglich, End-to-End Tests einer Anwendung in solch eine Pipeline zu verlagern, sodass im Entwicklungsprozess bei jeder Codeänderung geprüft wird, ob die Tests erfolgreich sind.
Sollte ein Test fehlschlagen, wird dies dem Entwickler mitgeteilt und er sieht, dass eine bestehende Funktion durch seine Entwicklung beschädigt wurde. Dadurch hat er nun die Möglichkeit, den Fehler zu beheben, noch bevor die Anwendung deployed wird.
Produktive Anwendungen
Im Falle der produktiven Webanwendungen lassen sich die Tests in einen Docker Container auslagern – Layout und Funktionalität der Anwendungen können so jede Nacht geprüft werden.
Im Falle eines fehlgeschlagenen Tests werden die Entwickler benachrichtigt, um dann direkt mit der Fehlerbehebung zu starten. Auf diese Weise werden Probleme sichtbar, welche nicht in der Entwicklung entstehen, sondern beispielsweise durch geänderte Browserspezifikationen oder nicht weiter vom Browser unterstützte Funktionen hervorgerufen werden. Bei der Analyse und Behebung von fehlgeschlagenen Tests unterstützen Screenshots oder auch Videos, die automatisiert aufgezeichnet werden.
Fazit
End-to-End Tests sind eine nicht zu unterschätzende Technik, wenn es um die Sicherstellung der Qualität von Webanwendungen geht! Ob Unternehmenswebsite, Weblog oder Online-Shop – End-to-End Tests sind das Mittel der Wahl für alle Anwendungen und Seiten, die sich mit dem Browser abrufen lassen. Sowohl im Entwicklungsprozess als auch bei produktiven Anwendungen kommt die Technik zum Einsatz. Gerne beraten unsere Experten Sie zu End-to-End Testing oder unterstützen Sie bei der Umsetzung Ihres Webprojekts.
Referenz: Bayer Crop Science Dresscode und eBagTag - Schutzkleidung maßgeschneidert
Die Bayer AG kommuniziert mit ihren Kunden im Bereich Crop Science über von der TIMETOACT GROUP entwickelte Online-Portale.
Zur Referenz