Testest du Formulare nach jedem Contao Update?
Moin!
Als gewissenhafte Agentur führst du regelmäßig Contao Updates durch. Aber testet du danach auch alle Formulare? Und prüfst du sie auch, nachdem der Hoster ein Update durchgeführt hat?
Denn wenn Interessenten nach dem Absenden eines Kontaktformulars einen Fehler angezeigt bekommen, herrscht nicht nur Unsicherheit, ob die Nachricht angekommen ist. Es macht auch einen schlechten Eindruck.
Schlimmer ist nur noch, wenn die Interessenten eine Bestätigung bekommen, obwohl die Nachricht aufgrund eines technischen Problems nicht zugestellt werden kann (z.B. weil sie vom Mailserver geblockt wird).
Da wir mittlerweile schon so ziemlich jeden Fall erlebt haben, führen wir bei unseren Wartungsvertragskunden nicht nur monatliche Updates durch, sondern testen danach auch alle wesentlichen Formulare (und bitten um kurzes Feedback, ob die Mails angekommen sind).
Bei den meisten Kunden handelt es sich um 1-3 Formulare, die wir zu diesem Zweck schnell händisch ausfüllen. Wir betreuen aber auch eine Kanzlei, die 28!!!, teilweise mehrseitige Formulare, im Einsatz hat. Selbst mit den flinkesten Fingern und der Autofill-Funktion des Browsers würden wir dafür mindestens eine halbe Stunde pro Update benötigen.
Zum Glück hatte ich mich zu diesem Zeitpunkt bereits mit mehreren automatisierten Frontend-Tests beschäftigt.
Als Erstes testete ich Ghost Inspector, ein Dienst, mit dem sich automatisierte Browser-Tests durchführen lassen. Bei Ghost Inspector kannst du (fast) ohne Programmierkenntnisse automatisierte Frontend-Tests erstellen. Mit einer Browser-Erweiterung kannst du die gewünschten Aktionen aufnehmen und im Nachgang editieren. Außerdem kannst du festlegen, welches Ergebnis du dann erwartest, z.B. einen Text auf der Bestätigungsseite.
Doch Ghost Inspector ist nicht ganz günstig.
Also habe ich mir Selenium angesehen. Nach der Installation des Treibers und einer Firefox Erweiterung konnte ich auch hier Aktionen aufnehmen und nachträglich bearbeiten. Selenium kann alles, was Ghost Inspector kann und verursacht keine monatlichen Kosten. Trotzdem bin ich irgendwie mit Selenium nicht warm geworden. Vielleicht liegt es daran, weil Selenium so viel mehr kann, als ich nutzen würde. Und die Dokumentation machte eher einen abschreckenden Eindruck auf mich.
Also schob ich das Thema erstmal nach hinten … bis ich auf dem Contao Camp 2022 an der Session von Mathias von PDIR teilnahm. Er zeigte, wie sie Frontend-Tests mit Cypress durchführten.
Von Cypress hatte ich zwar schon gehört, es aber noch nicht getestet. Und was ich sah, gefiel mir so gut, dass ich nach dem Camp unserem Kunden von einer möglichen Lösung für die 28 zu testenden Formulare erzählte. Dieser stimmte dem Angebot zu und der Rest ist Geschichte.
Seitdem testen wir nach jedem Contao oder Server Update alle Formulare auf Funktion. Und das in nur 3 Minuten! (Statt ca. 30 Minuten und auch nur, wenn man wirklich hochkonzentriert ist und mit aktiviertem Autofill des Browsers arbeiten würde.)
Tipp: Wenn du Cypress einmal selbst testen möchtest, dann findest du bei uns im Wissensbereich ein Beispiel-Test-Script, um beispielsweise ein Kontaktformular in Contao zu testen:
***
Das war's für diese Woche. Ich werde jetzt gleich noch ein wenig an der angekündigten E-Mail-Serie weiterarbeiten. Und nächste Woche wird es philosophisch, denn ich werde versuchen eine Brücke zwischen dem Schiff von Theseus und unserer E&F Website zu schlagen.
Viele Grüße von der Ostsee,
Dennis
PS: Warst du schonmal in Brasilien? Es lohnt sich 😉