Mit Cypress hat Website Testing ein neues Level erreicht. Das moderne Javascript Testing Framework hat es vor allem im Bereich E-Commerce zu einer beachtlichen Verbreitung geschafft. Deshalb ist jetzt auch im Angebot von TESTFY – Agentur für Tests. Wir sagen immer, die richtige Software für den richtigen Zweck. Ein starkes Entwicklungstool, asynchrone Ausführung und schicke MP4-Videos haben uns überzeugt. In diesem Artikel geht es nicht um ein weiteres Cypress Tutorial, sondern um Features, die uns als Team hinter TESTIFY überzeugt haben. Zu unseren modularen Codeception Tests bieten sie eine optimale Ergänzung, vor allem bei der Zusammenarbeit mit Frontend Entwickler Teams.
Cypress Website Testing für Ecommerce mit Shopware und Magento live auf YouTube
Wir hatten uns mit Andreas Mautz zu einem NCA Meetup als Live Coding Session auf YouTube verabredet. Gemeinsam setzen wir uns in Corona Zeiten mit Visual Studio Code und dem Live Share Plugin für Softwarequalität und aktuelles Know-how ein. Diesmal ging es um eine große Übersicht von Website Testing und moderner Softwareentwicklung mit PHP, Symfony, Magento und dem Sulu CMS. Das Setup von der führenden Magento Agentur aus Köln ist einfach richtig stark. Dem Aufruf an die Community zur Teilnahme ist auch Ramona gefolgt. Sie ist eine Tests Entwicklerin für Cypress IO bei Shopware. Sie hat die volle Leidenschaft für das Thema Website Testing und ganz viel Erfahrung aus dem Bereich Ecommerce. Professionelle Kunden, die nichts dem Zufall überlassen wollen setzen auf zuverlässige Tests. Hier geht es eben ganz konkret um Geschäftsmodelle und Existenzen. Hier ist die Webseite der Antrieb für das Unternehmen und kein fünftes Rad am Wagen.
Pageobject, GitLab, Mailcatcher – Enterprise Cypress IO Testing für große Agentur
Komplexe Tests für große User Stories abzubilden ist keine Arbeit, die beiläufig vom Werksstudenten ausgeführt werden kann. Automatisierte Tests sind auch Software, die professionell entwickelt werden muss. So bleibt die Arbeit hier effizient und nachhaltig. Die Autovervollständigung einer Suche zu testen ist dabei eine Sache. Einen User Registrierungsprozess eine ganz andere. Hier muss eine E-Mail Link für die Verifizierung aufgerufen werden. Dafür kann man mit den richtigen Zugangsdaten über eine Mailcatcher API auf die versendete Mail zugreifen. Bei noch komplexeren Registration Flows gibt es vielleicht sogar noch eine manuelle Freigabe über einen Administrator. Für solche Tests ist es wichtig eine objektorientierte Programmierung OOP einzusetzen. So kann man das Design. ausführende Funktionen und den Ablauf des Tests von einander trennen. Sonst kann man die komplexe Struktur nicht mehr verstehen, schnell erfassen und in der Zukunft warten. Und das ist hier sehr wichtig, da nicht funktionierende Tests in letzter Konsequenz abgestellt werden. Das ist extrem riskant und gefährlich. Mit Cypress IO kann man sehr gut mit PageObjects arbeiten und auch Funktionen, Steps und Methoden in Services auslagern. Mit weiteren Javascript Liberias können auch Mailcatcher angesteuert und ausgelesen werden. Alles zusammen kommt dann in die GitLab Pipeline. Mit TESTIFY bieten wir das konkrete Know-how an, geben es gerne weiter und setzen es für Kunden in der eigenen oder unserer Infrastruktur auf.
Budget Website Testing – Schaden, manueller Testaufwand und Ressourcen gegenüber automatisierter Tests
Oft stellt sich die Frage, ab welcher Projektgröße sich genau automatisierte Tests lohnen. Tatsächlich rentieren sich Tests extrem schnell. Brachtet man die Kosten für Bugs im Live System, den manuellen Testaufwand und die gebundenen Ressourcen ist das ein sehr großes Testbudget. Dabei braucht man wirklich nicht viel Zeit für Tests, wenn man eine gute Erfahrung darin hat. Automatisierte Tests erwirtschaften aber nicht nur Geld, sondern bringen auch eine hohe Performance und Zuverlässigkeit. Das ist vor allem für Agenturen gegenüber den Kunden ein echter USP. Alles kann schneller, effizienter und mit deutlich besserer Qualität produziert werden. Manuelles Testen ist auch nach der Implementierung weniger Features schnell an den eigenen Grenzen. Wer testet schon immer alles vollständig. In Hochzeiten des Arbeitsalltages der Entwickler kontrollieren die nur noch eine aktuelle Implementierung auf dem lokalen System. Und gehen dann einfach davon aus, dass es auf anderen oder der Live Umgebung einfach funktioniert. Das verursacht unnötigen Stress und nimmt den Spaß an der Arbeit. Böses Erwachen und die Abwanderung der eigenen Mitarbeiter sind als Folgen garantiert.
Automatisierte Tests sind eine wichtige Software und braucht Know-how und Wartung
Beim Austausch mit Entwicklern, Geschäftsführen, Projektmanagern und Entscheidern kommt immer wieder die Idee auf, dass Mitarbeiter die keine Programmierer*innen sind, die Erstellung und Implementierung der Tests vornehmen könnten. Das ist völlig falsch und auch eine zu geringe Wertschätzung für diese wichtige Arbeit. Im Team von TESTIFY arbeiten Entwickler*innen, die sich über mehrere Jahre auf das Thema spezialisiert haben. Denn Tests sollen ein zuverlässiges Tool im Releaseprozess werden und vor allem echte Bugs finden. Sowohl in Cypress IO als auch mit dem Codeception Framework wird eine komplexe objektorientierte Programmierung OOP eingesetzt. Und die erfordert Know-how, Leidenschaft und eine hohe Passion für Sorgfalt. Denn die Tests immer wieder in der Entwicklung auszuführen kostet einfach viel Zeit. Daher ist es wichtig direkt und richtig zu arbeiten. Sonst dauert es einfach viel zu lange und macht keinen Spaß.
3 Kommentare
[…] gerade aus dem Bereich CMS und Content Marketing. Deutlich besser ist die Situation im Bereich E-Commerce. Nichtsdestotrotz braucht jeder der potentiellen Kunden und Kundinnen einen professionellen […]
[…] und wichtiges Thema. Lag der Fokus meiner Arbeit in den vergangenen Jahren auf der Erstellung von Frontend Test, habe ich mich in den letzten Monaten auch intensiv mit der Softwarequalität und Quality Gates […]
[…] aus der PHP Backend Entwicklung beispielsweise mit dem Symfony Framework. Aber braucht ein reinses Javascript Testing Framework, wie CypressIO, auch Fixtures. Ganz klar ja. Hier kann man unterschiedliche Datenfiles, wie .txt, .json, […]