Warum automatisierte Tests im B2B eCommerce unverzichtbar sind und auch Sie diese haben wollen

B2BTalks.de
B2BTalks.de
Warum automatisierte Tests im B2B eCommerce unverzichtbar sind und auch Sie diese haben wollen
Loading
/

Heute geht es darum, warum automatisierte Tests gerade im B2B eCommerce Bereich eine sehr hohe Bedeutung haben und warum Sie als Betreiber oder Interessent einer solchen Lösung, diese eigentlich unbedingt haben wollen.

Die meisten Kunden allerdings schauen erstmal komisch, wenn man mit Ihnen über automatisierte Tests spricht. Das Verständnis ist häufig, dass man ja eine lauffähige Lösung, die fehlerfrei funktioniert, gekauft hat, die in der Regel auch noch sehr teuer war. Warum sollte man jetzt noch für Tests zusätzliches Geld bezahlen?

Zunächst hat der Kunde natürlich Recht und den Anspruch erfüllen wir auch, aber eben nur für Funktionen. In der Realität werden diese bei den meisten Kunden auch immer wieder verändert oder ergänzt, aber auch das ist nicht der eigentliche Grund warum automatisierte Tests sehr sinnvoll sind.

Der Grund ist, dass sich bei nahezu ausnahmslos allen Systemen die Daten ändern und wenn die Daten nicht zu den Funktionen passen, führt es dazu das die Funktionen i.d.R. einen Fehler produzieren, oder das Ergebnis falsch ist.
Solche Fehler passieren leider häufiger als man denkt. Mal ist es ein Fehler in der Schnittstelle, es treten Konvertierungsfehler auf, dann sind Daten falsch oder unvollständig erfasst oder bei der Datenübergabe kommt es zu einem Fehler, so dass die Daten nur unvollständig ins System gelangen.

Das Problem ist, man sieht es nicht und solche Fehlersituationen sind nur sehr schwer zu entdecken. Es kann z.B. nur ein Artikel betroffen sein, oder sogar nur ein Artikel in einer Sprache.

Darüber hinaus gibt es aber auch viele Prozesse, die sich nur sehr aufwendig testen lassen. Stellen Sie sich vor, Sie möchten die Preisfindung testen. Dazu müssen Sie über verschiedene Logins verfügen und pro Login einen oder mehrere Warenkörbe zusammenstellen, um auf Korrektheit prüfen zu können. Mal abgesehen davon, dass das sehr zeitaufwendig ist, ist der ganze Vorgang auch sehr fehleranfällig. Erschwerend kommt noch hinzu, dass ich ggfs. ja auch Zusatzkosten prüfen möchte. Die hängen womöglich an der Lieferadresse, so dass ich pro Warenkorb auch verschiedene Lieferadressen prüfen müsste.

Sie merken schon, eigentlich ist es keine Frage, das getestet wird, sondern es geht vielmehr darum, die Frage zu beantworten, wie man denn so etwas effizient tun kann. Bei einigen unserer Kunden ist der Anteil des Onlineumsatzes am Gesamtumsatz bei über 80%. Wenn in einer solchen Situation Daten zu Fehlern führen, dann muss das möglichst sofort erkannt werden, damit man darauf reagieren kann.

Genau an dieser Stelle setzen Frontendtests an. Frontendtests sind programmgesteuerte Funktionsabläufe, bei denen man in der Lage ist Eingaben und Interaktionen durchzuführen. Hierzu ein beispielhafter Ablauf:

  • Sie rufen eine bestimmte URL auf
  • Sie melden sich dort mit Benutzername und Passwort an und prüfen ob die Anmeldung erfolgreich war.
  • Danach suchen Sie über die Suchfunktion nach dem Artikel z.B. 4711.
  • Wenn dieser gefunden wird, rufen Sie die Produktdetailseite auf und prüfen ob der Preis für diesen Artikel 12,95 Euro ist.
Automatisierte Tests - Eine typische Testlauf-Dokumentation

Automatisierte Tests – Eine typische Testlauf-Dokumentation

Einmal automatisiert, kann ich diesen Test sehr leicht modifizieren und z.B. unterschiedliche Logins mit unterschiedlichen Preisen testen. Und, sofern eine bislang unbekannte Fehlersituation auftritt, kann man einfach die Tests erweitern und schon wird auch diese Situation geprüft.

Die Tests können nach jedem Datenimport und/oder jeder Funktionserweiterung laufen und repräsentieren den Status eines Projektes.
Natürlich ist es zu Beginn so, dass die Tests nicht alle Fälle abdecken können. Aber, wenn man einen weiteren Fehler entdeckt, dann lässt sich schnell ein Test dafür erstellen und die Lösung wird anschließend auch auf dieses Problem hin geprüft. Man erhält somit im Laufe der Zeit eine immer bessere Aussage zum Projektstatus.

Im Ergebnis bekommt man als Kunde einen Report der genau aufzeigt, was funktioniert hat und was nicht. Da die Technik auch Screenshots erzeugen kann, um ein Testergebnis zu dokumentieren, lässt sich die auffällige Stelle sehr leicht identifizieren und man kann bewerten, worin das Problem besteht. Wenn z.B. der Preis nicht zur Erwartungshaltung des Tests passt kann man nun prüfen, ob der Test Recht hat oder der Preis geändert wurde und dann entsprechend entweder den Test oder den Preis anpassen.

Automatisierte Tests - Detailliertes Fehlerprotokoll

Automatisierte Tests – Detailliertes Fehlerprotokoll

Aber es gibt auch einen Nachteil, den ich nicht verschweigen möchte. Automatisierte Tests orientieren sich, damit sie funktionieren können, am technischen Aufbau der Webseite. So kann der Test z.B. das Formularfeld identifizieren, in dem man einen Suchbegriff eingeben muss, und den Button der danach zu klicken ist, um die Suche auszulösen.

Sobald man den Seitenaufbau ändert, z.B. wenn man einen Relaunch macht, müssen die Tests angepasst werden. Es empfiehlt sich deshalb die Tests komponentenbasiert aufzubauen und Einzelkomponenten zu komplexeren Tests zusammenzusetzen. So kann z.B. ein Logintest als Komponente in einem Checkout (Checkout optimieren – Diese Fehler vermeiden) Test verwendet werden. Wenn sich der Aufbau der Loginseite dann ändert, muss nur die Komponente angepasst werden. Alle anderen Testschritte können unverändert weiter bestehen.

Neben den umfangreichen Prüfungen, die mit automatisierten Frontendtests möglich sind, sorgen sie aber in Summe für etwas noch viel wertvolleres.
Die Tests ermöglichen Ihnen dem System einen Status zu geben. In vielen Fällen tun sich Kunden schwer zu entscheiden, ob etwas gut ist oder auf das Livesystem übertragen werden kann. Die Tests helfen Ihnen hier, da sie als „objektive“ Kennzahlen als Grundlage für Entscheidungen genutzt werden können. Wenn alle Tests funktionieren, ist das System per Definition gut.

Dieser Status lässt sich im übrigen hervorragend für ein Kennzahlensystem (Bewährte KPI`s im B2B eCommerce) nutzen, um z.B. hausintern über das System zu berichten. Der Vollständigkeit halber möchte ich aber darauf hinweisen, dass Funktionstests alleine kein vollständiges Reporting über ein System ermöglichen. Hierfür sollte man die Themen Performance und Sicherheit noch ergänzen. Das sind aber andere Themen und benötigen eine andere Strategie.

Zum Thema Automatisierte Tests finden Sie im folgenden Blogbeitrag weitere Informationen:
Automatisierte Tests – Was bringt das eigentlich?