Möglichkeiten und Grenzen des automatisierten Testens von Webseiten und Webshops

Header Möglichkeiten und Grenzen des automatisierten Testens

Möglichkeiten und Grenzen des automatisierten Testens von Webseiten und Webshops

Für Nutzer und Betreiber einer Webseite gibt es kaum etwas Schlimmeres als nicht funktionierende Elemente. Stellen wir uns vor, ein potenzieller Kunde hat eine Frage zu einem Produkt, füllt das Kontaktformular aus, aber kann es nicht abschicken, weil der Button nicht funktioniert. Im schlechtesten Fall bekommen Sie als Betreiber davon nichts mit, weil der Kunde lieber woanders kauft als sich die Mühe zu machen, Sie auf einem anderen Weg zu kontaktieren. Bis Sie selbst merken, dass etwas nicht funktioniert, zum Beispiel anhand von Klickzahlen, vergeht unter Umständen viel Zeit, in der Sie wichtige Kunden verlieren. Eine schlechte Erfahrung in Ihrem Webshop bleibt in Erinnerung. Die Konkurrenz ist groß und ein Produkt schnell an anderer Stelle bestellt.

Warum ist regelmäßiges Testen notwendig?

Anders als ein physisches Produkt, das vor der Markteinführung ausführlich getestet wird und dann diese Funktionalität beibehält, muss eine Webseite regelmäßig getestet werden. Eine Webseite ist kein starres Produkt, sondern wird ständig weiterentwickelt. Auch Einflüsse von außen (Browser, Hardware) können dafür sorgen, dass derselbe Test zu verschiedenen Zeitpunkten zu unterschiedlichen Ergebnissen führt. Typische Ereignisse, die zu fehlerhaften Funktionen führen können, sind zum Beispiel:

  • Ein neues Feature wurde im Shop eingebaut oder ein vorhandenes geändert. Jede Änderung kann Auswirkungen auf bestehende Funktionalitäten haben, die auf den ersten Blick nicht von der Änderung betroffen sind. Selbst unbedeutende Änderungen am Quellcode können überraschende Auswirkungen haben. Unbemerkte Fehlerzustände entstehen.
  • Es gibt ein Browser-Update, das vorhandene Funktionen nicht mehr unterstützt oder zu Darstellungsproblemen führt. Das Verhalten kann sich von Browser zu Browser unterscheiden; etwas, das in Chrome und Safari funktioniert, kann in Firefox zu Problemen führen.
  • Es gibt neue Endgeräte mit besonderen Auflösungen, für die die Webseite (noch) nicht optimiert ist.
  • Externe Links verändern sich und sind nicht mehr erreichbar.

Wie testet man am besten – manuell oder automatisiert?

Tests, die sicherstellen, dass Änderungen oder Erweiterungen keine der vorhandenen Funktionen beeinträchtigt haben, nennt man Regressionstests. Indem regelmäßig dieselben Testfälle durchgeführt werden, soll sowohl vermieden werden, dass alte, bereits behobene Fehler nicht erneut auftreten, als auch dass neue dazukommen. Regressionstests lassen sich sowohl manuell als auch automatisiert durchführen. Manuelle Tests bieten sich dann an, wenn nur selten getestet werden muss oder es entscheidend ist, auch die menschliche Komponente zu berücksichtigen. Usability-Test sind kein Bestandteil von Regressionstest und können nicht automatisiert werden. Hier spielt das subjektive Wahrnehmen des Users eine große Rolle. Handelt es sich stattdessen um reine Funktionstests, kann eine manuelle Durchführung viel Zeit und Mühe kosten, insbesondere wenn die Anzahl an Tests zunimmt.

An diesem Punkt kann es sinnvoll sein, die Regressionstests zu automatisieren. Auch hierbei müssen die Testfälle zunächst manuell mithilfe einer Software oder in Form von Skripten erstellt werden. Anschließend kann man sie nach Bedarf jederzeit automatisiert ablaufen lassen und die Ergebnisse binnen weniger Minuten prüfen. Sollte ein Fehler auftreten, bekommt man eine entsprechende Meldung und kann den Fehler beheben. Für einen Entwickler, insbesondere in agilen Teams mit kurzen Entwicklungszyklen, erleichtert dieses schnelle, zuverlässige Feedback den Prozess. Er ist nicht abhängig von der Fachabteilung oder einer speziell zum Testen eingestellten Hilfskraft, sondern kann die Tests unmittelbar durchführen und die Ergebnisse prüfen: eine ressourcensparende und langfristig kostengünstige Option.

Wer testet, IT- oder Fachabteilung?

Manuell oder automatisiert – Tests sind immer nur so gut, wie die dafür entwickelten Testfälle. Der Initialaufwand für Testautomatisierung kann hoch sein. Normalerweise braucht man einen Fachanwender, um den Test festzulegen, und einen Entwickler, um den Test zu programmieren bzw. ein entsprechendes Skript zu schreiben. Um diese „Hürde“ zwischen Entwicklung und Fachabteilung zu überwinden, gibt es mittlerweile auch Testautomatisierungs-Tools, die die Testfallerstellung vereinfachen. Der Recorder von mateo web ermöglicht es beispielsweise Testfälle direkt im Browser aufzuzeichnen und in die Testoberfläche zu kopieren, ohne eine einzige Zeile Code schreiben zu müssen. Die Testergebnisse werden so für alle Beteiligten transparent und die Durchführung von Tests für alle zugänglich.

Fazit

Grundsätzlich bestimmen vor allem Umfang und Zielsetzung, welche Testart am geeignetsten ist. Eine Kombination aus manuellen Tests für neue Features und automatisierten Tests für Kernfunktionen kann eine sinnvolle Lösung sein, um hohe Sicherheit und möglichst große Risikoabdeckung zu erreichen. Während das Einrichten von automatisierten Tests mit höherem Initialaufwand verbunden ist, kann es langfristig viel Zeit und Ressourcen sparen sowie die Testabdeckung erweitern.

mateo web hilft Ihnen dabei, Testfälle möglichst einfach aufzuzeichnen und somit langfristig sicher zu gehen, dass Sie die Fehler finden, bevor es Ihre Kunden tun. Jetzt gratis testen!