Wie Erfahrungen aus dem Journalismus helfen können, unsere Softwaretests zu verbessern.
Man kann nicht nicht kommunizieren, und selbst der introvertierteste Programmierer oder Tester muss dies ständig tun. Aber manchmal vergessen wir unseren wichtigsten Kommunikationspartner.
Bei Softwaretests ist das unser zu testendes System - und wir sollten anfangen, uns entsprechend zu verhalten.
Testen ist Kommunikation
Sehen wir uns an, ob das stimmt, und beginnen wir mit der Definition von Kommunikation aus dem Oxford Languages Wörterbuch:
"Kommunikation ist die Weitergabe oder der Austausch von Informationen durch Sprechen, Schreiben oder ein anderes Medium." - Hört sich gut an, aber sehen wir uns das Ganze einmal genauer an.
Das folgende Bild zeigt das Wesentliche einer Kommunikation, wobei einige der "persönlichen" Probleme wie falsche Annahmen, Missverständnisse, Fehlkommunikation, ungesunde Beziehungen und andere Spannungen weggelassen werden, da diese oft das Ergebnis von Emotionen zwischen den Kommunikatoren sind. (Die ein System bisher nicht zeigt. Daher kann ich diese vorerst ausklammern.).
Wenn ich also eine Information von einem Freund brauche, zum Beispiel wo wir uns auf ein Bier treffen, frage ich ihn oder sie einfach, am besten in einer Sprache, die er oder sie versteht.
"¿Dónde nos encontramos para tomar una cerveza?", no es una buena pregunta si mi amigo no habla español."
Ich, als Absender, würde mit meinem Freund in einer Form sprechen, die er oder sie versteht, und höchstwahrscheinlich werde ich eine Antwort, oder wissenschaftlich ausgedrückt, ein Feedback erhalten. Falls mein Freund meine Frage verstanden und richtig geantwortet hat, sind wir jetzt auf ein Bier verabredet.
Softwaretests sehen für mich ähnlich aus wie das Modell in unserem Bild.
Wir, als Tester, wollen einige Informationen von unserem zu testenden System. Das kann die aktuelle Qualitätsstufe sein, ein Fehler oder, falls unsere Testbasis nicht vollständig oder in gutem Zustand ist, einfach, wie es funktioniert. Um diese Informationen zu erhalten, müssen wir dem zu testenden System Fragen stellen, die es versteht und die unseren oder den Informationsbedarf anderer Beteiligter erfüllen. Normalerweise sind diese "Fragen" unser Testfall. Unabhängig davon, ob sie vorformuliert sind oder spontan wie in einer explorativen Testsitzung entworfen wurden.
Das zu testende System gibt uns dann hoffentlich ein Feedback in Form von erwartetem oder unerwartetem Verhalten, das wir analysieren und interpretieren müssen, da unser System nicht so aufmerksam ist wie wir Tester und nicht immer unsere Sprache spricht.
Wir haben also eine rudimentäre Kommunikation mit diesem System. (Auch wenn sich das in Zukunft mit Blick auf KI oder Roboter ändern könnte).
Aber es ist eine besondere Art der Unterhaltung. Es ist ein mehr oder weniger formelles Treffen von jemandem, dem Tester, der sich für den anderen, das System, interessiert und viele interessante Fragen stellt, um die gewünschten Informationen zu sammeln - es ist ein Interview mit dem System.
Wenn Testen Kommunikation ist - dann ist es ein Interview
Wenn Testen also vergleichbar ist mit einem Interview - können wir als Tester dann von den Erfahrungen professioneller Journalisten profitieren, die häufig Interviews führen?
Ich dachte, das wäre interessant, und habe recherchiert, welche Tipps sich Journalisten gegenseitig geben, um Interviews erfolgreich zu führen und interessante Informationen zu erhalten.
Dabei bin ich auf einige Ratschläge gestoßen, die sich auch auf das Testen anwenden lassen und uns vielleicht dabei helfen, bewährte Praktiken, die wir bereits anwenden, zu vervollkommnen oder eine neue Perspektive auf unsere Disziplin zu gewinnen.
Bereite Dich sorgfältig vor und mache Dich mit so viel Hintergrundwissen wie möglich vertraut.
Zunächst ist, wie bei fast allen Aufgaben, die Vorbereitung das A und O.
Kenne Dein Thema
Auch ohne eine spezielle Testaufgabe solltest du dich mit deinem System, der Domäne und deinem Kontext im Allgemeinen vertraut machen, so wie ein Journalist seinen Interviewpartner und dessen Vorgeschichte im Vorfeld überprüft. Lies, recherchiere und halte die Augen immer offen. Es ist ganz einfach zu wissen, für welche Tasks und Prozesse die erwarteten Nutzer*innen das System verwenden werden - das ist die Grundlage für deine Testfälle. Aber zusätzlich solltest du herausfinden, wie ähnliche Systeme diese Tasks umgesetzt haben, um Verbesserungsmöglichkeiten oder Unterschiede zu erkennen oder dir vorzustellen, was schief gehen kann. |
Während dieser Ratschlag noch zu den normalen Aufgaben unseres Testens gehört, ist der folgende nicht so offensichtlich. Sei immer auf dem Laufenden, was im Projekt vor sich geht, denn die jüngsten Ereignisse, Vorfälle oder der allgemeine Fortschritt können dir Ansatzpunkte und Hinweise für erfahrungsbasierte Testtechniken geben. Da diese Techniken in hohem Maße von der Erfahrung, den Fähigkeiten und der Intuition eines Testers/einer Testerin abhängen, können ein ungetrübter und wacher Blick auf das Projekt und einige zusätzliche Recherchen zumindest einen Ausgleich schaffen.
Bereite deine Ziele im Voraus vor
Beim nächsten Aspekt geht es um Fokus und Richtung - das gilt für ein erfolgreiches Vorstellungsgespräch genauso wie für eine erfolgreiche Prüfung. Wenn du keine Ahnung hast, was du herausfinden willst, wirst du es nie finden. Bevor du mit dem Testen beginnst, solltest du deine Ziele für die Testsitzung vorbereiten. Das hilft dir dabei, dich zu konzentrieren und deine Tests zum Erfolg zu führen. |
Schreibe deine Fragen (oder Testfälle) auf
Der letzte Vorbereitungsschritt besteht darin, die Fragen vorzubereiten, die du deinem Gesprächspartner stellen willst - deine Testfälle. Dabei kann es sich um eine formale Vorbereitung mit Vorbedingungen, Testschritten, erwarteten Ergebnissen und Nachbedingungen handeln, die du in deinem Testmanagement-Tool ablegst, oder um eine Sammlung von Testideen und -bedingungen, die du in Form einer Checkliste oder einer Charta für explorative Tests erstellst.
|
Jede Minute, die du im Vorfeld in die Vorbereitung steckst, ist eine Minute mehr für die Testdurchführung und -beobachtung. Und es verstärkt deinen bereits erwähnten Fokus in der Testsitzung.
Stelle Fragen, die für die Quelle relevant sind und die die Quelle zum Reden bringen.
Arbeite an Deinem Flow.
Dies ist eine der schwierigsten und wichtigsten Fähigkeiten für einen Journalisten, der ein Interview führt - ein Gleichgewicht zwischen einem Gespräch (das dazu beiträgt, dass sich dein Gesprächspartner wohlfühlt und offen ist) und der Erledigung seiner Aufgabe zu finden. Während dein Gesprächspartner deine Fragen beantwortet, überlegst du dir, was du als Nächstes fragen wirst und warum. Das klingt für uns ein bisschen merkwürdig. Unserem System das Gefühl zu geben, sich wohl zu fühlen, ist vielleicht etwas, das für uns als SYSTEM-Interviewer nicht gilt. Ich wollte es erst überspringen, kam aber zu dem Schluss, dass diese Fähigkeit auch für uns als Tester*innen sehr wichtig ist. |
Ich glaube, dass es wichtig und herausfordernd ist, ein gewisses Gleichgewicht in unsere Testarbeit zu bringen, z. B. müssen wir die Testintensität je nach unseren Ergebnissen anpassen.
Manchmal testen wir oberflächlich und breit, um einen Überblick über das System und seine Qualität zu bekommen. Dann konzentrieren wir uns auf einen Bereich mit hohem Risiko. Mal testen wir nur auf Abdeckung, indem wir die bestandenen Testfälle aus unserer Testsuite abhaken, und ein anderes Mal graben wir tief, um die Ursache für ein bestimmtes Symptom zu finden oder einen interessanten Fehler zu analysieren.
Deshalb ist es für Tester*innen wie für Journalist*innen eine gute Idee, den Ablauf zu optimieren. Journalisten fangen zum Beispiel mit Fragen an, die ihren Kommunikationspartner entspannen, um Vertrauen aufzubauen, und heben sich die schwierigeren Fragen für später auf, wenn eine Verbindung hergestellt ist. Wir als Tester*innen sollten ähnlich vorgehen und unsere Tests spielerisch an die jeweilige Situation anpassen
Vermeide Zwanghaftigkeit
Tester*innen führen wie Journalist*innen ihre Interviews nicht um ihrer selbst willen, sondern um interessante Informationen über ihr Beobachtungsziel zu sammeln und die Ergebnisse als interessante Informationen an eine andere Gruppe von interessierten Empfängern und Beteiligten weiterzugeben. Deshalb müssen sie sie so genau wie möglich aufzeichnen. |
Aber wir sollten nicht davon besessen sein, jedes Detail aufzuzeichnen, denn dann könnten wir einige interessante Kostbarkeiten verpassen, die unser Interviewpartner bzw. das zu testende System uns bietet.
Denke daran, dass die interessantesten Fehler oft die geringsten beobachtbaren Symptome haben.
Sei ein bisschen nervig. / Sei ein bisschen hinterlistig.
Und um diese zu finden, sollten wir jeden Trick anwenden, den wir uns vorstellen können. Journalisten versuchen in diesem Fall, ein wenig nervig oder hinterlistig zu sein. Sie bestehen auf Antworten, die ihr Interviewpartner nicht geben will. Wir als Tester haben andere Möglichkeiten. Mit längeren Pausen arbeiten als erwartet. Das Unerwartete, aber Mögliche tun (und wenn etwas möglich ist, wird es ein Nutzer tun). Oder Zeitprobleme erzwingen, oder, oder, oder. Die Liste ist schier endlos und ihr alle kennt eine spezielle Behandlung, um euer System zu interessanten Reaktionen zu veranlassen. Sei also wie ein Journalist, der mehr herausfinden will - nervig und ein bisschen hinterlistig. |
Stell offene Fragen und lass sie (ein bisschen) abdriften
Ein*e Interviewer*in erhält die interessantesten Antworten, wenn er/sie offene Fragen stellt. Die Antworten auf diese Fragen schweifen normalerweise etwas vom Thema ab und geben Informationen preis, die vielleicht überraschend, aber zumindest interessanter sind als Ja oder Nein. Bei Prüfungen ist das ziemlich genau dasselbe. Natürlich kannst du "bestanden" oder "nicht bestanden" ankreuzen, wenn du die erwarteten und tatsächlichen Ergebnisse beobachtest, und das gibt Aufschluss über den Zustand des Systems.
|
Aber die interessanteren Informationen ergeben sich oft aus Testideen wie:
- Was sind die wertvollsten Funktionen und wie kann man sie erreichen?
- Was ist der schnellste Weg, um die Aufgabe zu erledigen?
- Wie kann ich das System herausfordern?
- Oder einfach: Wo sind die Fehler versteckt?
Höre und beobachte aufmerksam.
Achte auf die Antworten, die du bekommst
Für Journalisten ist es wichtig, auf die Antworten zu achten, die er/sie bekommt. Und diese Antworten sind in der menschlichen Kommunikation mehr als nur Worte. Denk an die Mimik, einen veränderten Tonfall oder andere nonverbale Kommunikation. Tester/innen haben zwar keinen Menschen als Gesprächspartner, aber ein zu prüfendes System gibt uns ähnliche Hinweise. Ein kurzes Flackern auf dem Bildschirm, eine Farbveränderung oder ein Fehler bringt das System in einen unvorhersehbaren Zustand.
|
Nutze solche Anzeichen und gehe tiefer - Bugs sind Kakerlaken, wenn du einen siehst, gibt es normalerweise mehr davon.
Achte auf den kleinen Ausbruch
Wir alle kennen die Aufregung, wenn wir das Gefühl haben, dass wir unser Ziel fast erreicht haben - das ist es, was ich als kleinen Ausbruch bezeichne. Und das ist die Zeit, in der gute Interviewer zu ihrer Höchstform auflaufen und zum Kern des Gesprächs vordringen. Das ist auch ein guter Rat für uns Tester. Sobald du den kleinen Ausbruch spürst, konzentriere dich und verstärke deine Testintensität - es wird sich auszahlen! |
Retrospektive und Verbesserung
Jeder, der stolz auf sein Handwerk ist, sucht nach Wegen, um sich in dieser Disziplin zu verbessern. Zu diesem Zweck beobachten sich Journalisten wie Ratten im Labor - sie nehmen ihre Interviews auf und transkribieren sie im Ganzen, um den Ablauf zu analysieren und Techniken zu erkennen, die ihr Gegenüber dazu bringen, sich zu öffnen. Wir als Tester*innen können das Gleiche tun. Analysieren wir unsere Testfälle und Chartas und machen wir uns zusätzliche Notizen, um Wege zur Verbesserung zu finden und mehr Informationen aus unseren Systemen zu erhalten. Um der beste Tester zu sein, der du sein kannst, studiere dich selbst und lass dich von deinen Fehlern und Erfolgen zu besseren Tests und interessanteren Ergebnissen führen. |
Die vier Prinzipien von Interviews
Das System, das du testest, ist einer deiner wichtigsten Kommunikationspartner und du führst normalerweise ein Interview mit ihm - also nutze auch Techniken aus dem Journalismus, um das Beste aus deinen Tests herauszuholen. Zum Schluss möchte ich Stephen D. Isaacs, einen bekannten Journalisten und Professor an der Columbia University, mit seinen vier Prinzipien für Interviews zitieren:
|
Dem aufmerksamen Leser (oder Prüfer) ist vielleicht aufgefallen, dass ich für das zuletzt genannte Prinzip keinen Inhalt hatte. Das liegt daran, dass wir bei den aktuellen Systemen, die wir testen, kein Einfühlungsvermögen brauchen.
Das wird sich aber spätestens in dem Moment ändern, in dem wir diesen sympathischen Typen hier testen müssen - und was würdest du ihn als erstes fragen?