Designing Digital Future

«Seite reagiert nicht» - Warum die Corona Impfterminvergabe zur Geduldsprobe wurde

Corona-Impfungen sind derzeit ein wichtiges Thema. Über eine Online-Plattform sollte eine schnelle und effiziente Vergabe der Impftermine erfolgen. Als die Plattform lanciert wurde, war die Überraschung der Besucher gross: Es war schwieriger einen Impftermin zu bekommen als ein Ticket für ein Rolling-Stones-Konzert zu ergattern. Dies berichtet auch die Limmattaler Zeitung. Woran lag das? Ich habe mir die Seite angeschaut und gebe Tipps, worauf man bei der Entwicklung und insbesondere beim Testen solcher Plattformen oder Websites achten sollte.

Erster Hauptaspekt: Usability / User Experience

Folgendem Problem begegnen wir sehr häufig: der Usability oder der User Experience werden zu wenig Beachtung geschenkt. Die User Experience beschreibt die Erfahrung eines Benutzers mit einem System oder Produkt. Also wie leicht oder schwer fällt es ihm, bestimmte Ziele effektiv, effizient und zufriedenstellend im entsprechenden Nutzungskontext zu erreichen. Usability ist salopp gesagt einfach das, was den Umgang mit etwas leicht und angenehm macht. Bezogen auf die Impfterminvergabe heisst das: Wie gut gelingt es, einen Impftermin über die Online-Plattform zu bekommen und wie zufrieden ist der Benutzer mit dem Prozess? Sind wir konfrontiert mit schlechter Usability, leidet das Kundenerlebnis. Eine unzureichende Usability führt dazu, dass die App, das Programm oder die Website nicht mehr genutzt werden.

In unserem Beispiel möchte der User nach einer erfolgreichen Anmeldung, einen Impftermin buchen. Das gelang leider nicht, weil die Fehlermeldung: «Seite reagiert nicht» erschien. Die User Experience leidet und der Kunde ist frustriert, wenn nicht sogar verärgert. Deshalb empfehlen wir, jede Seite vor einem Go-Live umfassenden Usability Tests zu unterziehen. Hierbei bittet man künftige Nutzer, bestimmte Aufgaben auf der Seite zu erfüllen, z.B. den Anmeldeprozess durchzuspielen und Feedback zu geben. Lesen Sie in unserem Leitfaden, wie wir beim Webshop für die Apotheke Schaffhauserplatz solche Usability Tests durchgeführt haben.

 

Zweiter Hauptaspekt: Funktionales Testing

Ein weiteres Problem ist, dass aufgrund von Zeit- und Budgetknappheit funktionale Tests häufig in einer zu kurzen Testphase ausgeführt werden und folglich einige Konstellationen ungetestet bleiben. Beim funktionalen Testing wird geprüft, ob das System die Anforderungen, die durch die Business Fachvertreter an die Lösung gestellt werden, erfüllt sind. Im Beispiel des Impftermins gehen wir davon aus, dass eine funktionale Anforderung war, dass nach der Auswahl des Termins eine Mail an den Kunden verschickt wird, um den Termin zu bestätigen. Diese Anforderung wurde scheinbar nicht eingängig getestet. Als ein Bekannter für seine Mutter einen Termin abmachen wollte, wurde auch ihm die Meldung «Seite reagiert nicht» angezeigt. Obwohl er trotz vieler Versuche gar nicht bis zur Seite der Terminauswahl kam, erhielt er eine E-Mail mit einer Terminbestätigung. Wohlgemerkt ohne, dass er auch nur bis zur Terminauswahl vorgedrungen wäre. Das scheinbar lückenhafte funktionale Testen der Anforderungen hat hier erneut zu einer schlechten User Experience geführt. Der Kunde ist verwirrt. Deshalb empfehlen wir, für alle funktionalen Anforderungen ein Test Skript zu schreiben. Dieses enthält die erwarteten Resultate für die unterschiedlichen Use Cases. Vor allem die wichtigsten Anforderungen sollten strukturiert funktional getestet werden. Zum Beispiel: Benutzer erhält nach erfolgreicher Terminauswahl eine Terminbestätigung per E-Mail in der Sprache, die er auf der Website ausgewählt hat.

 

Dritter Hauptaspekt: Nicht-Funktionales Testing

Ein weiterer nicht zu vernachlässigender Punkt, um Softwarequalität sicherzustellen, sind die nicht-funktionalen Anforderungen.

Beim Testen von nicht-funktionalen Anforderungen stehen nicht die eigentlichen Funktionen des Systems im Vordergrund, sondern ihre Funktionsweise. Also die Frage: «Wie arbeitet die Software?». Dies ist ein sehr breites Feld. Zu den bekanntesten Vertretern gehören unter anderem Sicherheitstests wie «Ist mein Produkt sicher gegenüber Hacker-Angriffen?». Last- und Stresstests gehören ebenfalls dazu: «Wie reagiert das System, wenn sich hunderte oder gar tausende Benutzer gleichzeitig anmelden?». Hierzu bedarf es einer groben Schätzung über die Grösse der Zielgruppe, im Beispiel sind es über 75-Jährige. Diese Zahlen sind bekannt, aber melden sich wirklich nur über 75-Jährige an? Die Vermutung liegt nahe, dass tausende Benutzer jüngeren Alters versuchen würden, einen Termin zu ergattern. Die Folge: Die Seite stürzt aufgrund von Überlastung ab oder «reagiert nicht». Lasttests simulieren diesen Andrang auf eine Webseite. Im Resultat sieht man wie das System auf diese Belastung reagiert. Auch Stresstests geben hilfreiche Aufschlüsse über die Grenzen des Systems. Dabei wird die Anzahl der simulierten Benutzer auf der Plattform so lange erhöht, bis das System in die Knie geht und mit einem «Seite reagiert nicht» seinen Dienst quittiert. Zur Veranschaulichung gehen wir von etwa 80.000 Personen aus, die sich potenziell für einen Termin anmelden würden. Man sollte die Kapazitätsgrenze etwa 20-30% höher ansetzen, um einen Peak abzufangen und dementsprechend sind Tests sinnvoll, bei der etwa 100.000 virtuelle User versuchen einen Termin zu reservieren. 

 

Es musste schnell gehen: Keine Zeit für Testing

Für die Lancierung der Webseite für die ersten Impftermine blieb vermutlich schlichtweg nicht genügend Zeit zum Testen. Es musste schnell gehen, schliesslich befinden wir uns mitten in einer Pandemie und die Impfungen für gefährdete Personen mussten schnell vergeben werden. Da es bei Webprojekten - egal welcher Art - gegen  Ende immer hektisch wird, ist man oft verleitet, das Software Testing etwas knapper zu halten, um Zeit zu sparen.

Wie kann man aber sicherstellen, dass genug Zeit fürs Testing bleibt? Das ist einfacher als man denkt: Man sollte mit dem Testing schon am Anfang des Projektes starten und Testing Ressourcen in allen Projekt-Phasen involvieren. Außerdem können nicht-funktionale Tests auch parallel zu den anderen Testaktivitäten stattfinden. Somit stellt man sicher, dass die 3 Hauptaspekte des Testings: User Experience Research sowie Funktionales und nicht-Funktionales Testing korrekt berücksichtigt werden und garantiert, dass das Produkt / der Service von den Kunden genutzt und geliebt wird.

 

Weiterführende Quellen: Limmattaler Zeitung