Codeception Testing im E-Commerce – Magento und Co

0

E-Commerce Anwendungen mit Magento erfordern eine starke Interaktion vom User. Sehr viele Formulare müssen ausgefüllt und verarbeitet werden.

Codeception im E-Commerce - Magento und Co

Codeception im E-Commerce – Magento und Co

Dafür ist die Zeit, die ein Prozess dauert ein ganz wesentlicher und entschiedener Faktor. Je schneller und reibungsloser das abläuft um so zufriedener ist der Kunde. Formulare auszufüllen ist allerdings immer ein aufwendiger Prozess. http://www.usability-tipps.de/info/index.php/tastaturbedienbarkeit-websites/. Dabei auch alle Kombination möglicher Falscheingaben in manuellen Tests abzudecken bleibt häufig auf der Stecke. „Wird schon funktionieren, da ist ja nichts geändert worden“ ist eine weit verbreitete und völlig falsche Annahme. Am Ende sind alle Prozesse gerade über das Javascript auch technisch gesehen eng miteinander verzahnt. User Eingaben unter realen Bedingungen zu simulieren ist ohne Eingaben im Browser nicht möglich.

Ist-Zustand Qulitätssicherung bei E-Commerce Projekten

Ist-Zustand Qulitätssicherung bei E-Commerce Projekten

Ist-Zustand Qulitätssicherung bei E-Commerce Projekten

Wann und wie wird in Ihrem Unternehmen die Internetseite getestet? Wie zuverlässig ist die ständige Ausführung zu 100%? Wie lange dauert eine Testinteration? Welche Kommunikationen muß durchgeführt werden, damit ein Bug behoben werden kann? Software-Qualität erfordert ständig eine hohe Testabdeckung. Nur so kann sichergestellt werden, daß sie zuverlässig arbeitet. Dann entstehen viel weniger Bug und man gewinnt viel Zeit für das Projekt. Software mit automatisierten Tests ist nachhaltig. Dabei zeigen auch wenige Tests schon eine beachtliche Auswirkung und können sehr schnell implementiert werden.

Nirgends werden tote Pferde so weit geritten, wie in der Software-Entwicklung. – Roland Golla

Codeception Workflow eines Bugs

Codeception Workflow eines Bugs

Codeception Workflow eines Bugs

Gehen wir einmal davon aus, das es einen Bug bei der Berechnung der Versandkosten gibt. Bei einer Summe unter 20 Euro werden keine Versandkosten berechnet. Das soll eigentlich erst ab 20 Euro passieren. Je später ein Fehler gefunden wird, desto teurer wird er. Er richtet dann mehr Schaden an. Finder der Wegdeveloper den Bug schon in der Entwicklung entstehen praktisch keine Kosten, kommt er bis zur Testumgebung entstehen schon interne Kommunikationskosten. Wenn er es live schafft sind da auch wirtschaftliche und ein Image Schäden mit verbunden. Heute wollen wir die Kirche jedoch im Dorf lassen. Der Fehler wurde in der Abteilung für Abrechnungen bemerkt und ein Ticket dafür angelegt. Dieser technisch kleine Fehler wird natürlich als kritisch eingestuft. Der muß also auch Freitags vor dem Wochenende als Hotfix behoben werden. Das wirkt sich leider auch negativ auf das Betriebsklima aus. Die Entwicklungsabteilung findet den Fehler schnell. Er wird behoben und lokal getestet. Also muß die komplette User-Story getestet werden. Für 2 Warenkörbe einmal mit mehr und einmal mit weniger als 20 Euro Bestellwert. Danach wird der Entwicklungsstand einem Testing-Team auf einer Staging Umgebung zur Verfügung gestellt. Hier könnte jetzt auch zusätzlich noch gewissenhafter getestet werden. Was ist mit Bestellungen aus dem Ausland? Und was passiert bei der Eingabe eines Gutscheincodes. Beachtet man die Komplexibilität, die hier entstehen kann ist es beachtlich, wie viel hier geklickt und eingegeben werden muß. Ist hier alles in Ordnung muß das ganze Live gespielt und auch noch einmal komplett getestet werden. Fassen wir zusammen, ein und dasselbe Testszenario muß auf mindestens 3 unterschiedlichen Umgebungen durchgeführt werden. Mit automatisierten Tests kann genau an dieser Stelle sehr viel Geld gespart werden. Man geht hier von 70% Zeitersparnis aus.

Automatisierte Codeception Frontend Tests – Just do it

Automatisierte Codeception Frontend Tests – Just do it

Automatisierte Codeception Frontend Tests – Just do it

Grundsätzlich gilt „Jeder Test ist besser als kein Test“. Bedeutet auch, daß jeder Test seine Daseinsberechtigung hat. Es gibt eine ganze Reihe von Klickszenarien oder User-Stories, die täglich immer wieder durchgeführt werden müssen. Hier gibt es auch eine ganze Reihe von Tests, die unabhängig von konkreten Anwendungsfällen geprüft werden. Die sind alle bekannt und können schnell und einfach abgebildet werden. Sind die Banner vorhanden und Produkt-Karussells auf der Startseite richtig befüllt und klickbar? Werden auf der Kategorieseite die richtigen Filter geladen? Sind die SEO Texte auf der Produktseite richtig? Diese und einige weitere Tests müssten ja ebenfalls immer vor einem Rollout durchgeführt werden. Wer merkt denn beispielsweise, daß auf einer 404-Seite keine Sitemap mehr geladen wird. Automatisierte Test mit Codeception erledigen so etwas in einer absoluten Rekordzeit. Wiederholbar und zuverlässig, auf allen möglichen Umgebungen auf Wunsch auch mit unterschiedlichen Browsern und Auflösungen.

Codeception Frontend-Tests brauchen zu lange

Codeception Frontend Tests brauchen zu lange

Codeception Frontend Tests brauchen zu lange

Das stimmt nicht. Glaubt das nicht. Dazu kommt auch, daß sie keine Personalkosten verursachen. Leider wird ihnen mit vielen Vorurteilen begegnet. Die sind unbegründet und stützen sich einfach auf Unwissenheit. Codeception Tests werden seit diesem Jahr u.a. bei der TYPO3 Core Entwicklung eingesetzt. Szenario: Als Admin einloggen, Page Modul auswählen, Neue Seite über das Pagetree-Kontext Menu anlegen, Fehlereingabe ohne Seitentitel testen, Seitentitel eintragen und speichern, Pagetree Seitentitel kontrollieren, Seite wieder über das Kontext-Menu löschen und ausloggen. 12 Sekunden. Wenn ich das in Präsentationen als Demo zeige komme ich mit der Beschreibung des Test während der Ausführung kaum mit.

Automatisierte Tests sind 70% schneller als manuelle und werden niemals krank – Roland Golla

E-Commerce Codeception Testung von Einstiegsseiten und -wegen

E-Commerce Codeception Testung von Einstiegsseiten und -wegen

E-Commerce Codeception Testung von Einstiegsseiten und -wegen

Der User sucht seine persönliche Möglichkeit Geld in dem Shop auszugeben. E-Commerce Anwendung bieten verschiedene Wege für den User zu seinem Produkt. Einmal besteht die Möglichkeit der Eingabe in ein Suchfeld. Persönlich ist das übrigens mein favorisierter Weg bei Amazon. Dann kann man als User natürlich den Weg über die Navigation gehen, die in der Regel aus mehrstufigen Kategoriegruppen besteht. Auch der bekannteste Weg über Werbemittel auf der Startseite führt den User an sein Ziel. Dazu kommen natürlich noch Landingpages von Werbemitteln. Alle diese Wege müssen schnell und zuverlässig funktionieren. Alle Wege und Wegpunkte bieten Kriterien für die Qualität der Seite. Die gilt es in Tests zu kontrollieren – Assertion – und so die Zuverlässigkeit der Funktionalität des Webdesigns sicherzustellen.

Codeception Testing Filter Kategorien E-Commerce

Codeception Testing Filter Kategorien E-Commerce

Codeception Testing Filter Kategorien E-Commerce

Die Filter sind ähnlich, wie Navigationen aufgebaut und werden automatisch aus Elasticsearch oder Solr generiert. Sie verhalten sich immer nach ihrem Eltern-Filter. Ändert sich dieser werden sie zurück gesetzt. Ändert sich hingegen der Filter oberhalb des Eltern-Filters müssen hier 2 User Auswahlen zurück gesetzt werden. Ein Beispiel aus dem Bereich Herrenbekleidung. Ich wähle die Marke Hugo Boss und die Unterkategorie Hosen. Auf der dritten Ebene kann ich jetzt zwischen Jeans und Stoffhosen wählen. Je nach Auswahl werden mir diese dann in der Artikelübersicht angezeigt. Wähle ich jetzt Hemden aus, ändert sich die dritte Filterkategorie. Sagen wir auf lang- und kurzärmelig. Ändere ich jedoch den Hersteller werden beide Filter darunter zurück gesetzt. Auch hier gibt es also feste Klickszenarien und klar definierte Ergebnisse mit der Anzahl ausgewählter Checkboxen. Das ist eine Menge Fleißarbeit, die sehr einfach schnell und effektiv von Codeception erledigt werden kann. Manuell ist das eine echt harte Arbeit.

Codeception Responsive Testing

Codeception Responsive Testing

Codeception Responsive Testing

Es gibt allein von der technischen Ausstattung her eine zunehmend homogene User Zahl, die sich zu 30% mit dem Smartphone auf der Seite bewegt. Auch das alles muß immer vollständig getestet werden. Responsive Webdesign ist ein stark wachsender Markt mit dem sich viele Internetseiten noch sehr schwer tun. Das ist gerade, wegen der Ressourcen-Engpässe häufig ein fünftes Rad am Wagen. Im Bereich des E-Commerce wird fälschlicher Weise auch immer wieder davon ausgegangen, daß hier Aufgrund der kleinen Displays nicht genug Informationen vom User aufgenommen werden könnten. Das hätte u.a. mit der niedrigen Übertragungsrate zu tun. Aktuelle Zahlen sprechen aber eine ganz andere Sprache. So bewegen sich Smartphone User häufig mit sehr guten Bandbreiten aus dem Wlan. Und das die Informationen, die auf einem Desktop dargestellt werden nicht 1 zu 1 auf einem Smartphone konvertieren hat wenig mit dem Endgerät zu tun. Hier ist noch echtes Neuland und eine große Chance sich gegenüber der Konkurrenz im Wettbewerb abzusetzen. Hier kann man sich allerdings nicht nach vorne bewegen, wenn man in allem anderen schon am absoluten Limit läuft. Codeception kann jedoch sehr einfach zu allen Schritten Screenshots erstellen. Also auch zu den bisherigen Klickszenarien in Smartphone Auflösung. Sieht man das ganz konkret entdeckt man auch die Möglichkeiten und den dringenden Handlungsbedarf.

Codeception Priorisierung

Codeception Priorisierung

Codeception Priorisierung

Aber natürlich gilt auch bei der Einführung von Acceptance-Tests eine Priorisierung. Die liegt auf dem Kaufprozess und der Artikel Auswahl. Unabhängig von der Abdeckung der Gesamt Applikation können auch direkt bestehende Bugs in einem Testszenario abgebildet werden. Aus Erfahrung wissen Projektmanager so etwas mehr zu schätzen. Auch ihnen spart das Zeit. Ein automatisierter Test braucht dafür nur einen Durchlauf. Ihre bisherige Infrastrukur vielleicht 4. Und das 70% langsamer. Und wie oft füllt ein Entwickler das Formular aus?

Wie kann es sein, daß es dann nicht im Einsatz ist

Goal Plan Succcess

Goal Plan Succcess

„Too busy too improve“ – „Same old thinking same old result“ Natürlich sind es die Entwickler. Sie schreiben keine Tests. Aus Zeitgründen. Kaum vorstellbar, aber wahr. Weil immer neue Features gemacht werden statt bestehende zu verbessern. “Ich verlasse mich auf meine eigenen Tests”. Ihr ganzes Unternehmen hängt davon ab. Alle Arbeitsplätze der Firma. Warum wird so entschieden? Weil die Entwickler es selber tun. Sie lehnen das ab. Aus einem Generationen Problem und den drastischen Veränderungen und Ansprüche an heutige Webapplikationen. Dieser Kreis muß durchbrochen werden.

Automatisierte Codeception Tests bringen direkten Erfolg

Automatisierte Codeception Tests bringen direkten Erfolg

Automatisierte Codeception Tests bringen direkten Erfolg

Angewendet und Implementiert. Dafür ist mehr als ein Tag notwendig. Das ist auch der kritische Punkt bei der Einführung. Irgendwas geht da nicht so. Die PHP-Developer bekommen Probleme bei der integration, weil die Administratoren Probleme mit der Einstellung haben. Ein Blocker. Rufen Sie uns an. Das muß man nur einmal aufsetzen. Infrastruktur kann auch von uns bezogen werden. Unsere große Erfahrung mit zahlreichen unterschiedlichen Projekten bis hin zum TYPO3 Core hilft schnell und effektiv Codeception-Tests einzuführen.

Einführung Codeception Tests

Einführung Codeception Tests

Einführung Codeception Tests

Die richtige und allen Beteiligten helfende Idee wurde verabschiedet. Und jetzt? Rufen Sie uns an. Wir haben vorbereitete Tests, die ein sehr gutes Spektrum an allgemeinen Tests abbilden. Vorteil. Wie können diese Test einfach implementieren. Das kann auch schon Remote vorbereitet werden, Dafür braucht man keinen Zugriff auf die bestehende Entwicklung zu nehmen. An fertigen Tests für die eigene Webseite kann das Wissen am besten vermittelt werden und auch während einer Schulung schon für die eigene Applikation effektiv genutzt werden.

Codeception im E-Commerce – Magento und Co

Codeception im E-Commerce Magento und Co

Codeception im E-Commerce Magento und Co

E-Commerce Anwendungen haben viele User-Eingaben in Formularen. Die Klickmöglichkeiten sind hier sehr komplex und für den Erfolg der E-Commerce Anwendung entscheidend. Dabei ist es wichtig immer alles zu testen, da Bugs mit der Zeit immer teurer werden und viel Schaden verursachen können. Nehmen Sie für eine Beratung Kontakt zu uns auf.

About Author

Clean Coder, Blogger, Autor, Dozent und Senior Webdeveloper www.rolandgolla.de

Leave A Reply