Aus der Praxis: Exploratives Testen

16.05.2018
By: Alex Schladebeck

Exploratives Testen ist eines der Dinge, die ich am liebsten tue und anderen beibringe. Gleichzeitig ist es aber auch unglaublich schwierig zu erklären was wir tun, während wir es tun. Deshalb habe ich es genossen Testopsies mit Huib Schoots zu machen. Und genau deshalb habe ich mich auch gefreut einen kommentierten Workshop über exploratives Testen live auf den diesjährigen Opens external link in new windowEuropean Testing Days durchzuführen. Obwohl ich darin geübt bin zu erklären was ich tue, ist es immer noch eine Herausforderung für mich. Doch es ist wichtig besser darin zu werden es zu erklären, um es auch anderen besser beibringen zu können.

Erst kürzlich hatte ich einen „aha-Moment“ in dem ich verstand, wie exploratives Testen für nicht-Eingeweihte aussieht und wie wichtige unsere Erklärungen zu den Modellen und Methoden sind.

Es fing alles damit an, dass ich ein Problem hatte: Ich brauchte Zugang zum Quelltext von etwas, was in einer kompilierten Datei gerendert wurde. Ich bin immerhin so weit gekommen, dass ich ein Tool gefunden habe, was die Datei dekompiliert, aber dann stieß ich gegen eine Wand. Was dabei herauskam war für mich völlig unverständlich. Ich wusste nicht einmal, wo und wie ich anfangen sollte nach einer Lösung zu suchen. Deshalb bat ich einen freundlichen Entwickler um Hilfe – wie sich herausstellte war es der gleiche Entwickler, der mir in der Vergangenheit sagte, dass er „versteht, dass exploratives Testen wichtig ist, es aber so aussieht, als würde man nur herumklicken“. 

Er setzte sich an meinen Computer und öffnete diverse Dateien. Nach einigen Suchvorgängen nach Wörtern, die in dem Text enthalten waren, fanden wir schließlich eine Datei, die sie beinhalteten. Als er den dekompilierten Code untersuchte sagte er, dass es aussieht, als ob er syntaktisch strukturiert wäre und schmiss IDE mit Unterstützung für e.g.XML an. Er erklärte mir, dass wir die Formatierung und den Outline View nutzen können, um uns einen besseren Überblick zu verschaffen. Er fügte den Quellcode ein, drückte die Tastenkombination, um ihn zu formatieren und plötzlich konnte auch ich die Struktur sehen, obwohl es für mich nach wie vor nach ziemlich viel Müll aussah. So viele Tags! Während er erklärte, was er gerade tat, suchte er wieder nach unserem String und schloss alle Tags ohne relevante Informationen. Nach etwa 10 Minuten konnte ich anhand seiner Ergebnisse eine mögliche Vorgehensweise feststellen:

Die Datei ins IDE kopieren

Sie mit Hilfe einer Tastenkombination formatieren

Outline view nutzen, um den einen Tag zu finden, der mich interessiert

Und schon hatte ich den Text, den ich brauchte!

Als wir dem Ziel näher kamen dachte ich laut: „so sieht also exploratives Testen für Entwickler aus“. Für mich als Beobachter sah es aus wie Magie. Ich hätte diese Schritte, die mich Stück für Stück meine Ziel näher brachten, nicht alleine geschafft. Und ich denke auch nicht, dass er von vornerein gewusst hat, welche Schritte er letzten Endes ausführen musste. Hätte er nicht währenddessen erklärt, was er gerade tut, hätte ich den explorativen Prozess nicht nachvollziehen können. Es war, als würde uns beiden im gleichen Moment ein Licht aufgehen. Er antwortete: „Oh! Das ist es also, was du meinst, wenn du von einer explorativen Vorgehensweise sprichst! Cool!“

Einerseits ist mein Problem gelöst, andererseits habe ich gelernt, dass das Reden über den Prozess dazu führt, dass ich den Prozess besser nachvollziehen kann. Dies gilt auch, wenn er für unterschiedliche Dinge angewendet wird. Außerdem hat ein Entwickler, der keine Ahnung vom explorativen Testen hatte, jetzt eine bessere Vorstellung davon, was es ist und wie man vorgeht. Und schlussendlich hat mich diese Erfahrung noch mehr dazu motiviert meine Tests zu kommentieren und zu erläutern. Das ist insbesondere dann wichtig, wenn ich mit Menschen zusammenarbeite, die etwas dazu lernen möchten. 


Category: Agile
INDIVIDUELLE SOFTWARE

KONTAKT | IMPRESSUM | DATENSCHUTZ | AGB