23.05.2011 – Kategorie: Handel, IT, Management, Marketing, eCommerce
7 + 1 Schritte zur fehlerfreien Website
Sie haben eine Website? Dann möchten Sie sicher Ihre Produkte und Dienstleistungen in dieser Website präsentieren oder sogar direkt über Ihre Website verkaufen. Doch leider ist es um die Qualität der meisten Websites nicht so gut bestellt … In über 80 Prozent der von uns getesteten Websites haben wir gravierende Fehler gefunden. Funktionale Fehler, die es dem möglichen Käufer – also dem Besucher der Website – unmöglich machen, die präsentierten Produkte und Dienstleistungen zu betrachten oder gar zu kaufen. Schade ist es, dass in den meisten Fällen mehr in das Grafikdesign investiert wird, als in eine sauber getestete Software – gehen doch durch funktionale Fehler in der Website Umsatz und Image verloren, denn die Konkurrenz sitzt „nur einen Klick weiter.“
In den nachfolgenden 7 + 1 Schritten möchten wir Ihnen daher eine kurze Anleitung dafür geben, wie eine Website systematisch getestet werden kann. Denn mit der Qualität einer Website werden implizit Image und Qualität der angebotenen Produkte verbunden.
Schritt 1 – Ermitteln der relevanten Testobjekte
Jede Website besteht aus unterschiedlichen Darstellungs- und Interaktionsobjekten. Objekte können sein: jede einzelne Website, Grafiken, Texte, Links, Formulare, Suchfunktionen, Menüs, eMail-Funktionen, Download-Möglichkeiten, Animationen, Warenkorbfunktionen, Kontaktformular, Bezahlfunktionen, Buchungsmöglichkeiten, Konto-Transaktionen, Sitemap, usw. Testrelevante funktionale Darstellungsobjekte sind alle Objekte, die zwingend benötigt werden, um die Zielsetzung der Website zu erreichen. Die Zielsetzung kann dabei sein:
– Präsentation des eigenen Unternehmens,
– Darstellung der angebotenen Waren und Dienstleistungen,
– Direkter Verkauf von Waren und Dienstleistungen über die Website.
Fehler in den testrelevanten funktionalen Darstellungsobjekten bedeuten Image- oder sogar Umsatzverlust.
Schritt 2 – Festlegen der Anforderungen
Die einzelnen Objekte einer Website müssen funktionale und technische Anforderungen erfüllen. Anforderungen sind die Eigenschaften der Objekte, die genau beschreiben, was von ihnen erwartet wird. Während sich technische Anforderungen mehr auf die Performanz, Verfügbarkeit und Lauffähigkeit der Website beziehen, beschreiben die funktionalen Anforderungen die Erwartungen des Benutzers der Website an die einzelnen Objekte. Für jedes der ermittelten relevanten Testobjekte sind im 2. Schritt die konkreten, funktionalen Anforderungen zu bestimmen. Diese können beispielsweise sein:
-Testobjekt
– Beispielhafte Anforderung einzelne Website – Jede einzelne Page muss erreichbar sein
– Home muss von überall erreichbar sein
– Grafiken – müssen vollständig geladen, also komplett sichtbar sein
– Texte – müssen vollständig angezeigt werden
– sollten keine gravierenden Rechtschreibfehler enthalten
– sollten in der richtigen Sprache angezeigt werden
– Links – Externe und interne Links müssen korrekt funktionieren
– Formulare – müssen in verschiedensten Eingabekombinationen funktionieren und müssen fehlerfreie Berechnungen enthalten
– Suchfunktionen – müssen die gesuchten Ergebnisse korrekt finden
– werden keine Ergebnisse gefunden, muss eine Fehlmeldung darauf hinweisen
– Menüs – müssen fehlerfrei für jeden Menüeintrag aufrufbar sein
– eMail-Funktionen – müssen eine eMail in der gewünschten Form absenden und müssen syntaktische Prüfungen der eMail-Adresse enthalten
– Download-Möglichkeiten müssen das Herunterladen von Dateien im jeweiligen Format erlauben
– Animationen und Filme – müssen fehlerfrei, ruckelfrei und in angemessener Geschwindigkeit ablaufen
– Warenkorbfunktionen – müssen das Sammeln, d.h. Auswählen von Ware, Entfernen und Bezahlen von Waren ermöglichen
– Kontaktformulare – müssen eine Fehlermeldung liefern, wenn Pflichtfelder nicht gefüllt sind
– Bezahlfunktionen – müssen korrekt ablaufen
– Buchungs-Möglichkeiten müssen mit allen möglichen Datumskonstellationen umgehen können und zur korrekten Buchung führen
– Kontotransaktionen – müssen korrekt und zeitnah erfolgen
– Sitemap – muss die Struktur der Website widerspiegeln
– Druckfunktionen – müssen auf den gängigen Drucker nutzbar sein
– Plugin – muss einwandfrei funktionieren, wenn benötigte Plugin-Software bereits vorhanden ist
– muss sicherstellen, dass Benutzer erfährt, dass er ein bestimmtes Plugin benötigt
Je konkreter die Anforderung formuliert ist, desto leichter kann der Testfall formuliert werden. Statt allgemein zu sagen: Alle Grafiken müssen korrekt angezeigt werden, ist es besser die einzelnen Grafiken konkret zu benennen, die auf der jeweiligen Website angezeigt werden müssen.
Gehen Sie alle Objekte, die Sie im 1. Schritt analysiert haben, durch und beschreiben Sie die konkreten Anforderungen, die dieses Objekt erfüllen soll.
Schritt 3 – Definieren der Testfälle
Für jede Anforderung werden nun eine oder mehrere Testfälle definiert. Beachten Sie, dass Sie dabei nicht nur die heile Welt prüfen! Testen wird sehr häufig als destruktive Tätigkeit bezeichnet. Versuchen Sie durch Eingaben, die völlig sinnfrei sind, die Grenzen der Website auszuloten. Dabei werden Sie feststellen, dass es schon einiges an Kreativität bedarf, um sich Konstellationen auszudenken, die zu einem Fehler führen könnten. Doch es lohnt sich, denn die Vielfältigkeit der Benutzereingaben kennt in der Realität keine Grenzen …
Testen Sie immer Positiv- und Negativfälle, also Eingaben, die funktionieren müssten und solche, die nicht funktionieren dürften. Testen Sie verschiedene, auch völlig unsinnige Datenkonstellationen. Prüfen Sie Grenzwerte. Lautet die Anforderung für das Kontaktformular beispielsweise, dass ein Interessent mindestens seinen Name und seine eMail-Adresse angeben soll, damit die Verkaufsabteilung den möglichen Käufer kontakten kann, sollte getestet werden, wie sich das Kontaktformular verhält, wenn weder Name noch eMail-Adresse angegeben wurde, wie es sich verhält, wenn nur eine der beiden Werte nicht angeben wurde und ob es bei vollständiger Angabe korrekt funktioniert.
Steht in der Anforderung zusätzlich, dass eine korrekte eMail-Adresse angegeben sein muss, ist u.a. zu prüfen, ob die Adresse das obligatorische „@“-Zeichen enthält. Zum Fehler würde beispielsweise führen:
– kein @
– @ am Anfang
-@ gefolgt von „.“
– kein Zeichen mehr nach „ .“
– Zahlen bzw. Sonderzeichen nach „ .“
– Kein gültiges Web-Kürzel nach „.“, z.B. „xyz“
– korrekter Aufbau, jedoch „ .“ Statt @
– korrekter Aufbau jedoch „ ,“ statt „ .“
Wenn Sie schon häufiger getestet haben, werden Sie feststellen, dass man Ein- und Ausgabedaten in Klassen kategorisieren kann. Auf diese Weise erkennt man sehr schnell, dass man mit wenigen Eingaben alle möglichen Ausgaben abdecken kann. Weitere Informationen finden Sie z.B. im wikipedia unter Äquivalenzklassenanalyse.
Darüber hinaus sind die Testfälle zmindest teilweise mit unterschiedlichen Browsern durchzuführen. Der aktuelle Marktführer ist Firefox, gefolgt von IE in den Versionen 6, 7 und 8. Noch nicht so oft genutzt werden Safari, Opera, Google Chrome, AOL und T-Online. Finden Sie heraus, wer Ihre Website aufsucht und welche Browser genutzt werden. Genau diese müssen Sie prüfen.
Die Testfälle müssen mit unterschiedlichen Browser-Einstellungen getestet werden. Es könnte sein, dass im Browser des Nutzers Ihrer Website z.B. die Einstellung „Popup-Fenster blockieren“ aktiviert und „JavaScript aktivieren“ und „Grafiken laden“ deaktiviert sind. Wie geht Ihre Website damit um? Wird der Nutzer darauf hingewiesen, die Einstellungen zu ändern? Um sicherzustellen, dass die Website auch in den unterschiedlichsten Konstellationen korrekt funktioniert, müssen Sie die unterschiedlichen Einstellungen der jeweiligen Browser durchtesten.
Gehen Sie im 3. Schritt jede Anforderung durch und beschreiben Sie, wie sie getestet werden soll. Beschreiben Sie genau, welche Eingaben vorzunehmen sind und welches Ergebnis Sie erwarten. Es empfiehlt sich in einer neuen Tabelle die Testfälle zu beschreiben und sie dem jeweiligen Objekt zuzuordnen.
Schritt 4 – Testdurchführung planen
Sind die Testfälle beschrieben, kann mit der Planung der Testdurchführung begonnen werden. Bei den meisten Websites wird eine hohe Zahl an Testfällen entstanden sein und oft fragt man sich an dieser Stelle, wie diese Menge in einer akzeptablen Zeit abgearbeitet werden kann.
Durch Kategorisieren der Testfälle in hohe, mittlere und geringe Priorität, da nicht jeder Testfall gleich wichtig ist, kann man sich auf die wesentlichen Testfälle konzentrieren. Eine mögliche Kategorisierung könnte so aussehen, dass diejenigen Testfälle, die sich auf das wesentliche Ziel der Website beziehen, unbedingt zu testen sind, also hohe Priorität haben. Funktionalitäten, die den Kernzweck zwar unterstützen, aber nicht essenziell für den Geschäftszweck sind, haben mittlere Priorität und alle anderen geringe Priorität. Auf diese Weise lässt sich die Durchführungsreihenfolge, nämlich erst die wichtigsten Testfälle leicht festlegen.
Für jeden Testfall ist die Testumgebung einzuplanen, d.h. der Browser, die Browsereinstellungen und das genutzte Betriebssystem sind festzulegen und für die Testdurchführung zu installieren.
Die möglichen Verzweigungen in einer Website können sehr vielfältig und unübersichtlich sein. Sehr schnell verliert man den Überblick und es besteht die Gefahr, dass man dieselbe Page immer wieder oder einzelne Pages überhaupt nicht testet. Eine Möglichkeit ist, die Website als Baumstruktur zu skizzieren und die Abarbeitung der einzelnen Verzweigungen z.B. im Testprotokoll zu markieren.
Pro Page sollte immer nur ein Prüfpunkt betrachtet werden. Beim gleichzeitigen Testen mehrerer Prüfpunkte für eine Site geht oft die Konzentration verloren und es werden Testfälle vergessen. Sind mehrere Tester am Test beteiligt, ist unbedingt festzulegen, wer welchen Testfall zu welchem Zeitpunkt testet, um doppelte Arbeit zu vermeiden und um sicherzustellen, dass auch wirklich alle Testfälle abgearbeitet werden. Die Testprotokollierung und die Fehlerprotokollierung sind vor dem Test festzulegen, damit alle Beteiligten einheitliche Testergebnisse liefern, die zu einem Gesamttestbericht zusammengefasst werden können.
Für die Planung der Testfälle im 4. Schritt empfiehlt es sich, eine Planungstabelle zu erstellen, die auf die Testfälle des 3. Schritts verweist.
Schritt 5 – Test durchführen
Die beschriebenen Testfälle sind nun in der geplanten Reihenfolge und von den dafür vorgesehenen Testern durchzuführen. Aus dem Testprotokoll muss später nachvollziehbar sein,
– welcher Testfall durchgeführt wurde
– wer den Test durchgeführt hat
– in welcher Testumgebung der Test stattgefunden hat
– welches Ergebnis der Testfall erzielt hat
– ob der Vergleich zwischen erwartetem und tatsächlichem Ergebnis dazu führt, den Testfall als erfolgreich oder als nicht erfolgreich zu bewerten.
Die Planung der Testdurchführung sollte bereits im Schritt 4 erfolgt sein und kann und um die Daten der tatsächlichen Testdurchführung ergänzt werden. Ergibt die Bewertung der Testfalldurchführung, dass das Testergebnis nicht den Erwartungen entspricht, ist diese sogenannte Abweichung – denn wir wissen aktuell ja nicht, ob es sich tatsächlich um einen Fehler handelt – zu dokumentieren, damit sie dem Entwickler der Website demonstriert werden kann.
Der Entwickler benötigt ganz konkrete Angaben, um zu erkennen, welche Handlung zu der Abweichung führte. Es empfiehlt sich daher, für jede Abweichung folgende Informationen festzuhalten:
– Beschreibung des Testfalls, der zu der Abweichung führte
– Das erwartete Ergebnis für diesen Testfall und das tatsächliche Ergebnis
– Zusätzliche Erläuterung der festgestellten Abweichung, falls dies nicht offensichtlich ist
– Die Page der Website, auf der das Ergebnis zu sehen ist (als Screenshot oder Aufzeichnung der Eingaben)
– Beschreibung des Objekts, das nicht korrekt funktioniert
– Der verwendete Browser mit Angabe der Version
– Das verwendete Betriebssystem mit Angabe der Version
Sammeln Sie alle Abweichungen in einer Tabelle, um sie nach der Testdurchführung auswerten zu können.
Schritt 6 – Testergebnisse auswerten
Sind alle Testfälle abgearbeitet, werden die Testergebnisse in einem Testbericht zusammengefasst. Der Testbericht besteht aus den protokollierten durchgeführten Testfällen und den beim Test gefundenen Abweichungen.
Je nach Menge der Abweichungen sollte eine Kategorisierung in leichte, mittlere und schwere Abweichungen erfolgen, damit bei der eventuellen Fehlerkorrektur eine Priorisierung vorgenommen werden kann. Es sinnvoller, zunächst die schweren Fehler zu beseitigen, als mit den leichten zu beginnen.
Eine mögliche Kategorisierung könnte folgendermaßen aussehen:
– Leichte Fehler (damit kann man leben – macht aber keinen professionellen Eindruck)
– Mittlere Fehler (der Besucher der Website kann nur mit viel Mühe und über Umwege
sein Ziel, etwas bei Ihnen zu bestellen oder über Sie zu erfahren, erreichen)
– Schwere Fehler (der Besucher der Website hat keine Chance, etwas zu kaufen oder
nähere Informationen zu Ihrem Angebot einzuholen. Die Website ist unbrauchbar.)
Der Testbericht mit allen gefundenen Abweichungen wird an den Website-Entwickler oder die Firma, die die Website entwickelt hat, übermittelt. Bei einem größeren Testumfang wird i.d.R. nicht darauf gewartet, bis alle Testfälle durchgeführt sind, sondern gefundene Abweichungen unmittelbar berichtet. Die Priorisierung der Abarbeitung der Fehler sollte unbedingt schriftlich vereinbart werden, um spätere Missverständnisse zu vermeiden. Das Gleiche gilt natürlich auch für die Kostenübernahme für Korrekturen und die Terminvereinbarung für die Fertigstellung.
Trotz sorgfältiger Dokumentation der gefundenen Abweichungen kommt es immer wieder zu Rückfragen durch den Website-Entwickler, der sie bearbeiten muss. Planen Sie hierfür Zeit ein.
Schritt 7 – Fehlerkorrektur überwachen und korrigierte Fehler erneut testen
Die Schritte 4 bis 7 wiederholen sich solange, bis alle kritischen Fehler korrigiert sind: Hat der Website-Entwickler Korrekturen vorgenommen, müssen die Testfälle, die sich auf die Abweichungen beziehen, erneut durchgeführt werden. Die Tests müssen also erneut geplant, ausgeführt und ausgewertet werden, gefundene Fehler müssen wiederum dem Website-Entwickler mitgeteilt werden.
Bei diesen sogenannten Retests sollte außerdem stichprobenhaft geprüft werden, ob andere Testfälle, die bisher funktioniert haben, immer noch funktionieren. Je eher alle gefundenen Abweichungen geklärt oder korrigiert sind, desto eher können Sie Ihre Kunden und Interessenten mit einem qualitativ hochwertigen Internetauftritt informieren. Das Tracking der Fehlerbearbeitung durch regelmäßige Rückfrage beim Website-Entwickler sollte daher in Ihrem Interesse sein.
7 + 1 – Regelmäßige Kontrolle bzw. Kontinuierliche Verbesserung
Früher oder später sind alle gefundenen Abweichungen, die sich als tatsächliche Fehler herausstellten, korrigiert und Sie verfügen über eine Website, von der Sie wissen, dass sie funktional korrekt funktioniert. Doch leider gilt das nur, solange die Rahmenbedingungen sich nicht verändern.
Im Rahmen eines kontinuierlichen Verbesserungsprozesses sollten Sie regelmäßig kontrollieren, ob die Website noch korrekte Ergebnisse anzeigt. Führen Sie dazu einfach in regelmäßigen Abständen Ihre wichtigsten Testfälle, also einen sogenannten Regressionstest durch.
Nehmen Sie Änderungen oder Ergänzungen an Ihrer Website vor, müssen Sie – neben dem Test der neuen oder geänderten Funktionalitäten – ebenfalls durch Regressionstest prüfen, ob keine unerwünschten Seiteneffekte auf die bereits vorhandene Funktionalität auftreten.
Darüber hinaus können folgende Veränderungen im technischen Umfeld dazu führen, dass Ihre Website nicht mehr so reagiert, wie es ursprünglich geplant war:
– Releasewechsel der wichtigsten Browser
– Releasewechsel der wichtigsten Betriebssysteme
– Releasewechsel der eingesetzten Opensource CMS oder Shopsoftware
Erfahren Sie von einem solchen Releasewechsel, sollten Sie immer einen Regressionstest durchführen. Stellen Sie bei Ihrem Regressionstest Fehlverhalten fest, sammeln und bewerten Sie dieses, wie oben bereits dargestellt. Beurteilen Sie, ob Ihre Kunden mit diesen Fehlern leben können und falls dies nicht der Fall sein sollte, beauftragen Sie deren Korrektur bzw. korrigieren Sie selbst. Die vorgenommenen Änderungen testen Sie dann wieder in den o.g. Schritten durch Wiederverwenden der bereits beschriebenen Testfälle.
Schlussbetrachtung
Je umfangreicher das Testvorhaben, desto effizienter und detaillierter muss der Testprozess gestaltet werden. Die oben aufgeführten 7 + 1 Schritte können als Grobraster verstanden werden, das die wesentlichen Testschritte enthält und sich beliebig verfeinern lässt.
(Autor: Mario Cecconi)
Teilen Sie die Meldung „7 + 1 Schritte zur fehlerfreien Website“ mit Ihren Kontakten: