Vollumfängliches Testen von Web-Applikationen mit Cypress

Ein Anwendungsbericht von Lukas Jendrzejczyk, Software Developer im Bereich Data Hub Development bei SMF

In den meisten Projekten steht man vor der Aufgabe, die entwickelte Web-Applikation zu testen. Dabei kann jedoch die Konfiguration oder das Schreiben von Tests komplex ausfallen, je nach Auswahl des Test-Frameworks. Auch soll die Anwendung sowohl zuverlässig als auch mit hinreichender Abdeckung der Codebasis getestet werden. Um diese Herausforderungen zu bewältigen, bietet Cypress.io eine Test-Plattform für Anwendungen bzw. Web-Applikationen.

Was steckt hinter der Test-Plattform Cypress?

Cypress ist eine vollumfängliche Test-Plattform, welche sowohl Werkzeuge zum Schreiben von Tests als auch zu deren Ausführung und Auswertung bietet. Unterstützt wird jeder Bereich, der als Website aufgerufen werden kann.

Was sind die Vorteile von Cypress?

Cypress zeichnet sich durch zahlreiche Features aus, welche das Testen von Web-Applikationen erleichtern. Die im Test definierten Befehle werden direkt auf der Website ausgeführt. Mittels CSS-Selektoren können die zu testenden Elemente danach überprüft werden. Tests werden mit JavaScript geschrieben und können entweder per Kommandozeile oder grafischem Interface ausgeführt werden.

Was sind die Funktionen von Cypress?

Entwicklerinnen und Entwickler haben Zugriff auf jegliche Elemente, die in Beziehung zu der Website stehen. Dazu gehört zum Beispiel das Fenster-Element, die angezeigten DOM-Elemente und sogar JavaScript-Funktionen.

Es kann sowohl mit Unit- als auch mit Integrationstests getestet werden. Für Unit-Tests müssen externe Abhängigkeiten als Mock-Up gestellt werden. Vorteil: Tests sind schneller und Fehler in Modulen auffälliger.

Im Gegensatz dazu müssen Abhängigkeiten bei Integrationstests nicht imitiert werden. Die zur Website dazugehörende Infrastruktur wird einfach mitgetestet. So ist es möglich, mit Cypress-Tests die gesamte Codebasis abzudecken, anstatt nur das Frontend. Das hat jedoch zur Folge, dass Tests langsamer ausfallen, da Netzwerk-Kommunikation ebenso ein Teil des Ablaufs ist.

Das grafische Interface bietet zudem die Möglichkeit, Testläufe live mitzuverfolgen. Ein Protokoll über die ausgeführten Befehle ist ebenso verfügbar. Dadurch können Fehler in der Applikation schnell und nachvollziehbar diagnostiziert werden.

Fazit und Empfehlung

Insgesamt bietet Cypress eine Test-Plattform, welche einen einfachen Zugang zum integrierten Testen bietet. Entwicklerinnen und Entwickler können schnell und unkompliziert erste Tests aufsetzen, um sowohl die grafische Oberfläche ihrer Applikation als auch die Business-Logik dahinter zu testen.

Bei weiteren Fragen rund um Cypress kontaktieren Sie uns gern.

Joachim Seidler

Segment Manager | Industry
+49 231 9644-465
j.seidler@smf.de


Weiterführende Links