| von Helen Petrisca

Test Management: Psychologie des Testens

Testen – aber bitte mit Gefühl

In den vorangegangenen Blogpost-Teilen wurden die Testverfahren wie Black- und White Box sowie andere bekannte Verfahren vorgestellt. In diesem Teil wird auf die Soft Skills im Rahmen des Testing eingegangen: Wie sollte ein Tester sein? Was sollte er mitbringen? Es werden auch Tipps zur produktiven Zusammenarbeit mit den Entwicklern vorgestellt.

In einer idealen Arbeitswelt wird der Tester nicht nur als Überbringer von schlechten Nachrichten empfunden. Dafür sind die Grundregeln guter Kommunikation das A und O sowie Zusammenarbeit das Zauberwort. Gefundene Fehler werden neutral und sachlich sowie ohne persönliche Wertung kommuniziert, denn Fehler sind menschlich, vor allem unter Zeitdruck. Wichtig dabei ist, dass alle das gleiche Verständnis vom Testobjekt und dem vermeintlichen Fehler haben, indem man sich das Problem bestätigen lässt und beide Parteien gut zuhören. Verfestigte Meinungen werden abgelegt, denn nur das ermöglicht ein Aufeinander-Zugehen und gegenseitiges Verständnis.

Die Persönlichkeit eines Testers

Als Tester ist ein hohes Maß an Neugierde gefragt. Damit kann der Tester mögliche Probleme in den Lösungen des Entwicklers frühzeitig erkennen. „Lass uns lieber nochmal nachschauen“ meint vielmehr einen professionellen Pessimismus als wenig Vertrauen. Mit einem kritischen Blick schaut sich der Tester die Details genau an und ist motiviert zu guter, positiver Kommunikation in den Beziehungen zu den Entwicklern. Dies setzt auch Kontaktfreude voraus.

Der Entwickler ist ein harter „Gegner“ für den Tester, denn dieser neigt dazu, Informationen nicht wahrzunehmen, die nicht mit seinen Lösungsvorschlägen kompatibel sind. Dieses Phänomen, bekannt als „confirmation bias“ (Bestätigungsfehler), kann auch auf den Tester zutreffen, wenn er von der Korrektheit seiner Testfälle zutiefst überzeugt ist. In diesem Fall sind wieder die guten Kommunikationsfähigkeiten gefragt.

Teststufen

Grundsätzlich kann die Entwicklung und der Test von derselben Person durchgeführt werden, insbesondere bei einfach gelagerten Systemen mit überschaubarem Umfang. Mit steigender Komplexität und Kritikalität ist jedoch eine personelle Trennung dieser beiden Rollen anzustreben. Auch wenn eine Testautomatisierung vorangetrieben werden sollte, braucht es den Tester, der die Testfälle entsprechend entwirft. Ein gewisser Grad an Unabhängigkeit steigert die Effektivität des Testens bei der Fehlersuche (Stichwort Betriebsblindheit). Unabhängigkeit ist allerdings kein Ersatz für Erfahrung (Vertrautheit) mit der Software, auch Entwickler können effizient viele Fehler in ihrem eigenen Code finden.[1]

Im folgenden Schaubild wird aufgezeigt, wie mit steigender Unabhängigkeit des Testers auch das Abstraktionslevel steigt.

Grad der Unabhängigkeit

Unabhängige Tester haben den Vorteil, dass sie eine gewisse Distanz zum Produkt mitbringen. Sie sind unvoreingenommen und damit weniger fehlerblind. Beim 4-Augen-Prinzip können Annahmen verifiziert werden, die während der Spezifikation gemacht wurden. So wird Fehlern rechtzeitig vorgebeugt. Nicht zu unterschätzen ist die fachliche Kompetenz, denn professionelle Textexperten verfügen über mehr Erfahrung und Know-How bzgl. der Testmethoden und -vorgehen.

Durch die konsequente Rollentrennung kommt auch eine höhere Test-Motivation auf. Unabhängige Tester eines Anbieters können auf korrekte und objektive Weise über das zu testende System berichten. Und das ohne politischen Druck von Seiten des Unternehmens, welches sie eingestellt hat. Es gibt aber auch ein paar Nachteile zu erwähnen. Vor allem die Distanz zum Team kann sich unvorteilhaft auswirken, was sich sehr gut in der agilen Entwicklung beobachten lässt. Auch Redundanzen zwischen Tests durch die Entwickler und denen der Tester werden dann wahrscheinlicher. Die Entwickler können auch das Verantwortungsgefühl für Qualität verlieren, wenn jemand anderes offiziell für das Testen zuständig ist. Als dritten Punkt können unabhängige Tester als Engpass gesehen werden oder es wird ihnen die Schuld für Verzögerungen gegeben.

Zusammenfassung und Schlussfolgerungen

Tester zu sein ist nicht so einfach. Es erfordert einiges Geschick sowie theoretische Kenntnisse, um Testing als Teil von Qualitätsmaßnahmen zu etablieren. Die ethischen Leitlinien zum Umgang mit der Öffentlichkeit, dem Kunden, Arbeitgeber und Produkt sowie ein professionelles und unabhängiges Urteilsvermögen runden die Rolle des Testers ab. Persönlich sollte sich der Tester lebenslang fortbilden (z.B. durch Zertifizierungen) und den Kollegen gegenüber immer fair und hilfsbereit verhalten. Im agilen wie im klassischen Umfeld sollte der Tester nicht als Single Player angesehen werden, sondern stets mit dem Entwickler ein Team bilden, um die Qualität des Produkts nicht aus dem Fokus zu verlieren.

Quellen

[1] Vgl. ISTQB Certified Tester Foundation Level Guide (Software Testing Academy)

Teile diesen Artikel mit anderen

Über den Autor

Helen ist Expertin im Bereich Testmanagement für Softwareentwicklung und hat Woodmark bis 2023 unterstützt. Mit ihrer großen Erfahrung in klassischen und agilen Projekten stärkt Helen ihre Aufmerksamkeit für Details.

Zur Übersicht Blogbeiträge