Das klang nach einer simplen Aufgabe. Fast schon zu simpel, was mich nervös machte. Was könnte ich hier groß testen? Ich hatte doch noch keine Ahnung! Das dachte ich zumindest, aber als ich dann tatsächlich mit dem Testen anfing, kamen die Ideen ganz von selbst.
Werde jetzt in 6-12 Monaten Software-Tester!
Ich besann mich auf meine (zugegebenermaßen recht kurze) Vergangenheit als Biologin und zog den Testbericht wie ein wissenschaftliches Protokoll auf: Ausgangsparameter, durchgeführte Aktionen, Ergebnisse, Zusammenfassung. Alles schön übersichtlich in Tabellen- und Listenform festgehalten.
Beim Testen selbst dachte ich an meine eigenen Erfahrungen als Internetnutzer und spielte alle möglichen Situationen durch, die bei mir in der Vergangenheit zu Anmeldeproblemen auf Webseiten geführt hatten. Akzeptierte die Testseite Umlaute oder Sonderzeichen im Namen? Machte sie einen Unterschied zwischen Groß- und Kleinschreibung im Passwort? Blieb mein Konto auch dann eingeloggt, wenn ich die Seite neu lud? Was passierte, wenn ich ein falsches Passwort eingab?
Als mir die Ideen ausgingen, kamen mir die üblichen Probleme aus meinem Beruf als Online-Redakteurin in den Sinn. Oft genug passiert es, dass auf einer unserer Webseiten Fehler auftreten, also probierte ich unsere üblichen Lösungen in meinem Test aus: Ich nutzte die Seite nicht nur auf meinem Laptop, sondern auch auf meinem Smartphone. Ich leerte den Seitencache und beobachtete, was passierte. Ich startete den Browser komplett neu und versuchte, mich auch über einen anderen Browser einzuloggen.
Zu meiner Überraschung führten die beiden letzteren Tests tatsächlich zu Anmeldeproblemen: Es war, als wären meine registrierten Konten plötzlich wieder verschwunden!
Nach meinen persönlichen Erfahrungen als Internetnutzer sollte das nicht sein. War ich hier, ohne groß Ahnung vom Software-Testing zu haben, bereits über einen Fehler gestolpert? Vielleicht wusste ich doch bereits mehr von der Materie, als ich dachte. Zumindest habe ich durch Intuition und Nachdenken bereits einige brauchbare Ergebnisse zutage gefördert und das ist ein schöner Motivationsschub. Mal schauen, wie weit ich komme, wenn ich die Methoden der Profis gelernt habe!
Pair Testing – Zwei Tester sind besser als einer
Die zweite User-Story in diesem Sprint war zweigeteilt: Zuerst mussten wir ein Video ansehen, in dem uns Heuristiken und ihre Bedeutung fürs Software-Testing erklärt wurden. Wie sich herausstellte, hatte ich in meiner First Testing Session bereits intuitiv Heuristiken angewendet – wenn ich zu dem Zeitpunkt auch keinen Namen dafür hatte.
Nun aber war ich schlauer und mit meinem neu erworbenen Wissen ging es an den zweiten Teil der User Story: „Testet die Webseite erneut, diesmal unter gezielter Anwendung von Heuristiken” – und zwar mit einem Partner! Diesen fand ich in meiner Mitschülerin Zhanna und per Videokonferenz fanden wir uns zur Pair Session zusammen.
Zuerst trugen wir unsere jeweiligen Ergebnisse aus der ersten Test-Session vor. In vielen Punkten war Zhanna die Sache genauso angegangen wie ich: Auch sie hatte allerlei Varianten von Benutzernamen und Passwörtern ausprobiert, um zu sehen, ob die Seite dem Nutzer hier irgendeine Beschränkung auferlegt.
Wir entschieden uns, uns nicht mit den Heuristiken aufzuhalten, die wir beide ausprobiert hatten, immerhin kannten wir beide die Ergebnisse bereits. Stattdessen konzentrierten wir uns auf jene Heuristiken, die nur eine – oder keine – von uns getestet hatten.
Ich erzählte Zhanna von meinen Anmeldeproblemen nach dem Browser-Neustart und beim Wechseln des Browsers. Wir beschlossen, diese beiden Tests zu wiederholen – diesmal durch zwei Nutzer auf zwei Geräten, was das Ganze merklich beschleunigte. Wir konnten mehr Browser durchprobieren und die Anzahl der Versuche erhöhen, wodurch wir eine bessere Datenlage erhielten.
Nach Abschluss dieser beiden Tests bot sich der dritte praktisch von selbst an: Wir erprobten die Heuristik „verschiedene Browser-Instanzen” (das Nutzen derselben Seiten im selben Browser, aber durch unterschiedliche Nutzer). Das war etwas, das weder Zhanna noch ich vorher getestet hatten, und wir waren gespannt auf das Ergebnis. Wir einigten uns auf den Browser Chrome, Zhanna registrierte auf ihrem Gerät ein Konto und ich versuchte, mich mit besagtem Konto auf meinem Gerät anzumelden. Der Versuch schlug fehl und daran änderte sich auch nichts, als wir die Rollen tauschten. Ein interessantes Ergebnis.
Für unsere beiden letzten Tests wählten wir Heuristiken, die nur Zhanna zuvor erprobt hatte, ich aber nicht: die Registrierung eines komplett leeren Benutzernamens (was absurderweise funktionierte, auch wenn die Anmeldung anschließend fehlschlug) und das Austesten der erlaubten Zeichenlänge. Die Toleranz für den Benutzernamen war schnell ermittelt: Die Webseite ließ hier maximal 16 Zeichen zu. Wie stand es aber mit dem Passwort? Mit einem String Generator erstellte ich Passwörter mit 50, 500 und sogar 5000 Zeichen. Die Webseite zeigte sich davon gänzlich unbeeindruckt und akzeptierte jedes Passwort ohne Probleme. Wenn es hier tatsächlich eine Beschränkung bezüglich der Länge gibt, haben wir sie an diesem Tag nicht gefunden.
Testing Session mit Coach – Diesmal mit Anleitung
Der erste Sprint endete für mich so, wie er angefangen hatte – und doch komplett anders. Ein weiteres Mal ging es darum, die Registrierungs- und Anmeldefunktion unserer Webseite zu testen. Diesmal jedoch erfolgte das Ganze in Form eines Workshops unter der Anleitung von Jakob. In anderthalb Stunden erklärte er uns Schritt für Schritt, wie man an einen solchen Test herangehen kann, und dies erwies sich für mich als echter Augenöffner!
Jakob stellte uns so viele Aspekte vor, auf die ich bei meinem eigenen Test nie gekommen wäre. Vor allem die Vorgehensweise der Validierung kam mir nie in den Sinn, was mir im Nachhinein selbst unverständlich ist. Ich hatte strikt die Aufgabe befolgt „Teste diese Funktion”, ohne zu hinterfragen, ob diese Anweisung überhaupt sinnvoll ist. Auch hatte ich mich nur darauf beschränkt zu testen, ob die Anwendung funktioniert, nie aber, ob sie in ihrer Funktionsweise generell Sinn ergibt. Ich hatte hier offensichtlich einen Tunnelblick gehabt, ohne es zu wissen.
Dank Jakobs Erklärungen wurde schnell ersichtlich, wie viele Schwächen und Sicherheitslücken die Webseite aufwies. So gab es zum Beispiel keine Lösungsmöglichkeit, wenn ein Nutzer sein Passwort vergisst, was bei einer Webseite mit Benutzerregistrierung eigentlich eine Selbstverständlichkeit sein sollte. Auch ließ sich direkt im Frontend der HTML-Code bearbeiten, sodass Jakob mal eben die Zeichenbeschränkung beim Benutzernamen aushebeln konnte. Obendrein verwendete das Script der Webseite im Eingabefeld einen falschen Tag, wodurch die Anmeldedaten, einschließlich des Passwortes, für jedermann sichtbar in der URL auftauchten. Sicherheit sieht anders aus.
Ich war fasziniert, was alles möglich war, und habe in diesem Workshop eine Menge gelernt – nicht nur von Jakob, sondern auch von den anderen Teilnehmern, die ihre Erfahrungen aus den vorherigen Tests teilten. Ich bin sehr gespannt auf die kommenden User Storys und freue mich darauf, mein neu erworbenes Wissen in der Praxis anzuwenden!
Dieser erste Sprint war für mich eine rundum positive Erfahrung: Ich hatte Erfolgserlebnisse, hatte aber auch die Gelegenheit, Fehler zu machen und aus ihnen zu lernen. Der Austausch mit den Trainern und meinen Teammitgliedern war ebenso lehrreich wie die vielen praktischen Übungen, und ich bin überrascht, wie viel ich in gerade einmal zwei Wochen gelernt habe. Ich freue mich darauf zu sehen, wie weit mich der nächste Sprint bringen wird.