Seit Anbeginn unserer Profession stellen sich Softwareentwickler die Frage: Kann ich nicht eine Software bauen, die meine Software vollautomatisch abtestet und auf Fehler untersucht? Diese Vorstellung mag verlockend sein, aber bereits 1937 hat Alan Turing mit dem Halteproblem diesen Hoffnungen klare Grenzen gesetzt.
Doch mit dem Aufkommen leistungsfähiger Large Language Models (LLMs) stellt sich die Frage erneut: Werden in Zukunft Menschen oder Künstliche Intelligenzen (KI) die Verantwortung für das Testen übernehmen? Unsere Antwort darauf lautet: Wieso nicht beide?
In diesem Artikel beleuchten wir, warum die Kombination aus Mensch und Maschine im Testprozess die beste Lösung für die Herausforderungen der modernen Softwareentwicklung bietet.
Das Orakel-Problem
Bevor wir näher auf die Rolle des Menschen eingehen, lohnt es sich, das sogenannte Orakel-Problem zu verstehen. Dieses beschreibt die grundlegende Schwierigkeit bei der Automatisierung von Tests: Es ist oft unklar, was genau das „richtige“ Verhalten eines Systems sein soll. Ein Testorakel ist ein Mechanismus, der bestimmt, ob die Ausgabe eines Programms korrekt ist oder nicht. Maschinen können eine Vielzahl von Tests durchführen, doch sie stoßen an ihre Grenzen, wenn es um die Interpretation geht: Was genau ist „korrektes Verhalten“?
Human in the Center: Das menschliche Orakel
Menschen sind in den allermeisten Fällen die Konsumenten der Software, die getestet werden soll. Sie haben darüber hinaus eine emotionale Intelligenz und können intuitiv feststellen, ob z.B. eine Oberfläche gut für sie funktioniert oder nicht. Diese subjektive Bewertung ist von großer Bedeutung, um sicherzustellen, dass die Software nicht nur funktional, sondern auch benutzerfreundlich und intuitiv ist. Diese Eigenschaft fehlt LLMs komplett, da sie keinen eigenen Körper haben, mit dem Sie das Endprodukt erfahren können. Gerade im Bereich der Barrierefreiheit gibt es verschiedenste Grade von Einschränkungen, die die subjektive Erfahrung eines Produkts beeinflussen.
Ein menschlicher Tester kann deshalb als ideales Testorakel fungieren. Er ist in der Lage, komplexe Zusammenhänge zu erfassen, zwischen den Zeilen zu lesen und Probleme zu erkennen, die ein automatisierter Testprozess möglicherweise übersieht. Insbesondere bei der Bewertung der User-Experience und bei der Überprüfung von weicheren Kriterien wie Benutzerfreundlichkeit, Design und Gesamtanmutung ist die menschliche Einschätzung unverzichtbar. Auf der anderen Seite werden menschliche Tester durch ihre physische Gestalt auch eingeschränkt. Sie können insbesondere bei repetitiven Aufgaben müde werden und übersehen so unter Umständen Fehler, die eigentlich offensichtlich sind. Außerdem sind sie schlichtweg langsamer bei der Bedienung von Software als Maschinen, insbesondere dann, wenn eine große Datenmenge zu prüfen ist.
Machine in the Loop: Die Rolle der Maschinen
Während der Mensch bei der Bewertung von Testergebnissen eine zentrale Rolle spielt, gibt es zahlreiche Aufgaben, bei denen Maschinen klar im Vorteil sind. Traditionelle, automatisierte Testansätze sind extrem deterministisch. Einmal programmiert, führt die Maschine die Tests immer wieder auf dieselbe Weise aus – ohne Müdigkeit, ohne betriebsblind zu werden und ohne emotionale Einflüsse. Insbesondere beim Sammeln von Daten und der Analyse großer Datenmengen übertreffen Maschinen ihre menschlichen Kollegen bei Weitem.
Doch diese Stärken haben auch ihre Grenzen: Automatisierte Tests erkennen oft nur das, wofür sie programmiert wurden. Ihre Fähigkeit, „über den Tellerrand hinauszusehen“, ist beschränkt, und sie können, wie bereits beschrieben, keine Kontextinformationen oder intuitive Nutzererfahrungen berücksichtigen.

Augmented Testing: Die ideale Symbiose
Betrachtet man nun Stärken und Schwächen beider Varianten, kommt man zu dem Schluss, dass sich die Schwächen des einen durch die Stärken des anderen hervorragend kompensieren lassen. Hier kommt nun das Konzept des Augmented Testings ins Spiel. Es beschreibt einen Ansatz, bei dem Maschinen und Menschen Hand in Hand arbeiten, um das bestmögliche Testergebnis zu erzielen. Die Maschine sammelt effizient Daten und führt große Analysen durch, der Mensch interpretiert diese Ergebnisse und übernimmt die Rolle des Testorakels.
Dabei ist es entscheidend, dass der Mensch in jedem Schritt des Prozesses aktiv eingebunden bleibt. Anstatt der Maschine die alleinige Kontrolle zu überlassen, assistiert sie dem menschlichen Tester hauptsächlich. So sorgt sie für Effizienz, ohne die Qualität der Tests durch falsche Positive oder falsche Negative zu gefährden.
So entsteht eine hohe Testeffizienz, ohne dass Abstriche bei der Qualität gemacht werden müssen.
Fazit: Mensch und Maschine im Einklang
Die Diskussion, ob Maschinen in Zukunft das Testen vollständig übernehmen werden, ist nicht neu. Doch anstatt diese Frage in Schwarz-Weiß zu beantworten, müssen wir die Vorteile beider Ansätze erkennen und kombinieren. Mensch und Maschine sollten nicht als Konkurrenten, sondern als Partner betrachtet werden. Während Maschinen durch ihre Schnelligkeit und Präzision glänzen, bleibt der Mensch als Testorakel unverzichtbar, um sicherzustellen, dass Software nicht nur funktioniert, sondern auch den Bedürfnissen ihrer Benutzer entspricht.
Die Zukunft des Testens liegt in einer Synergie zwischen Mensch und Maschine – und in der Erkenntnis, dass der Mensch auch in der Ära der Künstlichen Intelligenz unersetzlich bleibt.
Über Frederic Unterdörfer:
Seine Begeisterung für Software Testing wurde während seines Studiums an der Universität des Saarlandes geweckt und hat ihn seither nicht mehr losgelassen. Er ist derzeit als Produktmanager für die Plattform webmate bei der Testfabrik AG tätig.