04.08.2020

Lesezeit: 2 Minuten

Testen leicht gemacht: Automatisierte Tests mit Cypress | Teil 1

Mit Cypress können in wenigen Minuten automatisierte und anschauliche Tests für Ihre TYPO3-Website erstellt werden.

Wozu braucht man Tests?

Ihre TYPO3-Website sollte im Idealfall auf jedem Browser und jedem Endgerät funktionieren. Dabei gibt es viele Fehlerquellen.

Mit automatisierten Testverfahren stellen wir sicher, dass neue Anpassungen an Ihrer Website sich wie gewünscht verhalten und nicht die bereits vorhandene Funktionalität beeinträchtigen. Dadurch müssen nicht jedes Mal alle Funktionen erneut getestet und manuell geprüft werden.

Die Tests werden vom Entwickler bereits während der Implementierung erstellt. Der Aufwand zur Erstellung von Testfällen ist im Vergleich zu der nachträglichen Fehlersuche minimal.

Beim Testen kann das Verhalten des Benutzers simuliert werden. So kann man beispielsweise überprüfen, ob beim Klick eines Buttons das erwartete Verhalten auftritt oder ob sich ein Formular ausfüllen und abschicken lässt.

Für das Erstellen automatisierter Tests haben wir uns für Cypress entschieden.
Wie Cypress genau funktioniert, zeigen wir in unserem kommenden Blogbeitrag.

Was unterscheidet Cypress von anderen Testing-Tools?

Bisher haben wir Cucumber für die Erstellung von Tests genutzt. An Cucumber schätzen wir, dass die Syntax sehr leicht verständlich ist und man dadurch schnell begreift, was ein Test bewirken soll. Dafür benötigt man nicht einmal einen technischen Hintergrund. Jedoch muss die Syntax erst erlernt werden.

Inzwischen haben uns jedoch für Cypress entschieden, denn Cypress bietet zusätzliche Funktionen, die uns die Arbeit erleichtern:

  • Debugging leichtgemacht: Debugging geschieht direkt im Interface. Dabei helfen leicht verständliche Fehlermeldungen.
  • Screenshots: Wenn ein Test fehlschlägt, werden automatisch Screenshots aufgenommen.
  • Videos: Es wird vom gesamten Test ein Video aufgenommen.
  • Cypress wartet automatisch bis ein Test abgeschlossen ist, bevor er zum nächsten übergeht. 
  • Cypress läuft in derselben Laufzeit wie die Anwendung.
  • Cypress arbeitet direkt im Browser.

Welche Vorteile bietet Cypress?

Cypress ist eine Desktop-Anwendung, bei der die Tests per Javascript geschrieben werden. Darüber hinaus ist Cypress: sehr anschaulich, einfach zu bedienen, sofort einsatzbereit, gut dokumentiert und Open Source.

Mit Cypress können UI-Tests, Integration-Tests sowie Unit-Tests erstellt werden, sprich es kann Alles getestet werden, was in einem Browser läuft.
Das Testing Framework läuft auf Windows 7+, Mac OS 10.9+, Linux Ubuntu 12.04+, Fedora 21 und Debian 8. Cypress kann in den Browsern Firefox und Chrome, darunter auch Edge und Electron, lokal und in einer Continuous Integration Pipeline getestet werden.

Wer die leicht verständliche Syntax von Cucumber vermisst, kann Cypress mit der Syntax von Cucumber einsetzen.

Screenshot: Syntax von Cucumber in Cypress einsetzen
Beispiel: Überprüfung eines Input-Feldes

Fazit

Mit Cypress stellen wir sicher, dass Ihre TYPO3-Website immer reibungslos funktioniert. Außerdem erleichtert Cypress unseren Entwicklern und QM die Arbeit enorm. Wir haben Cypress bereits erfolgreich und in kürzester Zeit in TYPO3- und Shopware-Projekten eingesetzt.

Die Monitoring-, Deployment- und Qualitätssicherungsprozesse der dkd haben wir ausführlich in unserem letzten Blogbeitrag beschrieben. Prädikat: Absolut lesenswert!