© Vectorpocket /Shutterstock.com
PHP Magazin
Das Testing Framework für React-, Angular- und Vue-Applikationen

End-to-End-Tests mit Cypress

Bei Cypress handelt es sich um ein umfassendes Tool zur Implementierung von E2E-Tests für Webapplikationen, das unabhängig von der Architektur und den verwendeten Technologien zum Einsatz kommen kann. Es basiert auf einer ähnlichen Infrastruktur, wie sie auch bei Selenium zu finden ist. Mit diesem Werkzeug lassen sich sowohl React- als auch Angular- und Vue-Applikationen testen.

Sebastian Springer


Sie kennen bestimmt das Modell der Testpyramide. Sie dient als Visualisierung der verschiedenen Testarten für eine Applikation. Auf der untersten Ebene liegen die Unit-Tests. Sie laufen schnell ab, verfügen über eine möglichst hohe Testabdeckung und sind in der Regel einfach zu schreiben. Auf der obersten Ebene der Pyramide stehen die UI-Tests. Sie werden häufig auch als End-to-End- oder kurz E2E-Tests bezeichnet. Die Hauptmerkmale dieser Tests sind, dass sie verglichen mit Unit-Tests eine sehr lange Laufzeit haben, aufwendig umzusetzen und deshalb verhältnismäßig teuer sind. In diesem Artikel lernen Sie mit Cypress ein Werkzeug für die Implementierung von E2E-Tests kennen, das Sie in einer Webapplikation unabhängig von der Architektur und den verwendeten Technologien einsetzen können.

Was sind E2E-Tests und wofür werden sie verwendet?

Der Begriff End-to-End bezieht sich auf die Tatsache, dass sich E2E-Tests, im Gegensatz zu Unit-Tests, nur auf spezielle Units of Code beziehen und diese unabhängig von ihrer Umgebung überprüfen. Das bedeutet im Umkehrschluss, dass solche Tests eine Applikation wirklich von einem Ende, also der grafischen Oberfläche im Browser, bis zum anderen, dem Server beziehungsweise noch einen Schritt weiter bis zur Datenbank, testen. Doch keine Sorge, um solche Tests zu schreiben, müssen Sie kein datenbankaffiner UI-Experte sein. Ganz im Gegenteil: Für den Einsatz einiger Test-Frameworks müssen Sie noch nicht einmal programmieren können. Mit der Selenium IDE können Sie beispielsweise Ihre E2E-Tests aufzeichnen lassen, indem Sie sich durch die Workflows Ihrer Applikation klicken. Der Nachteil dieser Herangehensweise ist, dass die Tests sehr fragil sind. Gerade das Warten auf bestimmte Elemente, bevor Sie mit ihnen interagieren, stellt ein großes Problem dar. Auch sind solche Tests nur schwer anpassbar und werden deshalb bei umfangreicheren Änderungen an der Applikation einfach gelöscht und neu aufgezeichnet. Aus diesem Grund gehen mittlerweile wieder viele Entwicklungsteams dazu über, ihre Tests selbst zu formulieren. Dabei greifen sie auf moderne Test-Frameworks, bestimmte Architekturformen und Best Practices zurück, die die Tests robuster, wartbarer und verständlicher machen. Im Idealfall können Sie einen E2E-Test wie einen ganz normalen Text lesen und so verstehen, wie der getestete Workflow aussieht.

Da E2E-Tests eine lange Laufzeit haben und sie, wenn sie während des Build-Prozesses einer Applikation ausgeführt werden, diesen spürb...

PHP Magazin
Das Testing Framework für React-, Angular- und Vue-Applikationen

End-to-End-Tests mit Cypress

Bei Cypress handelt es sich um ein umfassendes Tool zur Implementierung von E2E-Tests für Webapplikationen, das unabhängig von der Architektur und den verwendeten Technologien zum Einsatz kommen kann. Es basiert auf einer ähnlichen Infrastruktur, wie sie auch bei Selenium zu finden ist. Mit diesem Werkzeug lassen sich sowohl React- als auch Angular- und Vue-Applikationen testen.

Sebastian Springer


Sie kennen bestimmt das Modell der Testpyramide. Sie dient als Visualisierung der verschiedenen Testarten für eine Applikation. Auf der untersten Ebene liegen die Unit-Tests. Sie laufen schnell ab, verfügen über eine möglichst hohe Testabdeckung und sind in der Regel einfach zu schreiben. Auf der obersten Ebene der Pyramide stehen die UI-Tests. Sie werden häufig auch als End-to-End- oder kurz E2E-Tests bezeichnet. Die Hauptmerkmale dieser Tests sind, dass sie verglichen mit Unit-Tests eine sehr lange Laufzeit haben, aufwendig umzusetzen und deshalb verhältnismäßig teuer sind. In diesem Artikel lernen Sie mit Cypress ein Werkzeug für die Implementierung von E2E-Tests kennen, das Sie in einer Webapplikation unabhängig von der Architektur und den verwendeten Technologien einsetzen können.

Was sind E2E-Tests und wofür werden sie verwendet?

Der Begriff End-to-End bezieht sich auf die Tatsache, dass sich E2E-Tests, im Gegensatz zu Unit-Tests, nur auf spezielle Units of Code beziehen und diese unabhängig von ihrer Umgebung überprüfen. Das bedeutet im Umkehrschluss, dass solche Tests eine Applikation wirklich von einem Ende, also der grafischen Oberfläche im Browser, bis zum anderen, dem Server beziehungsweise noch einen Schritt weiter bis zur Datenbank, testen. Doch keine Sorge, um solche Tests zu schreiben, müssen Sie kein datenbankaffiner UI-Experte sein. Ganz im Gegenteil: Für den Einsatz einiger Test-Frameworks müssen Sie noch nicht einmal programmieren können. Mit der Selenium IDE können Sie beispielsweise Ihre E2E-Tests aufzeichnen lassen, indem Sie sich durch die Workflows Ihrer Applikation klicken. Der Nachteil dieser Herangehensweise ist, dass die Tests sehr fragil sind. Gerade das Warten auf bestimmte Elemente, bevor Sie mit ihnen interagieren, stellt ein großes Problem dar. Auch sind solche Tests nur schwer anpassbar und werden deshalb bei umfangreicheren Änderungen an der Applikation einfach gelöscht und neu aufgezeichnet. Aus diesem Grund gehen mittlerweile wieder viele Entwicklungsteams dazu über, ihre Tests selbst zu formulieren. Dabei greifen sie auf moderne Test-Frameworks, bestimmte Architekturformen und Best Practices zurück, die die Tests robuster, wartbarer und verständlicher machen. Im Idealfall können Sie einen E2E-Test wie einen ganz normalen Text lesen und so verstehen, wie der getestete Workflow aussieht.

Da E2E-Tests eine lange Laufzeit haben und sie, wenn sie während des Build-Prozesses einer Applikation ausgeführt werden, diesen spürb...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang