Zum Inhalt springen

Suchen...

Schmerzen und Hypes beim Testen von Software

Tester verlieren das Wertargument nicht, weil ihre Arbeit falsch ist, sondern weil sie Fehlerzustände anstelle von Geschäftsergebnissen anpreisen.

9 Min. Lesezeit
Cover für Schmerzen und Hypes beim Testen von Software

Der Wert des Testens von Software bezieht sich auf die Fähigkeit, die Qualität der Arbeit in geschäftlichen Begriffen zu kommunizieren und nicht in technischen Metriken. Tester, die ihre Arbeit an Umsatzzielen und Nutzerzufriedenheit ausrichten, werden von Unternehmen eher akzeptiert als solche, die Zahlen zur Codeüberdeckung nennen. Fachwissen, Promptheit und ein Verständnis der Systemarchitektur sind die Fähigkeiten, die am wichtigsten sind, wenn KI-generierter Code zum Standard wird.

Das Wichtigste in Kürze

  • Das Kernproblem des Testens ist nicht die Disruption der KI, sondern die jahrzehntelange Fehlerwirkung, den Wert des Testens in geschäftlichen Begriffen zu kommunizieren, z. B. in Bezug auf die Auswirkungen auf den Umsatz und die Nutzerzufriedenheit, und nicht in Form von technischen Metriken wie der Überdeckung des Codes.
  • Prompt-Reviews sind eine neue Shift-Left-Praxis: Da kleine Änderungen im Wortlaut zu deutlich unterschiedlichen KI-Ergebnissen führen, wird das Review der Prompts, die zur Codegenerierung verwendet werden, zu einem eigenständigen Quality Gate.
  • Fachwissen wird immer wertvoller als tiefgreifende technische Kenntnisse, da Tester zunehmend die von der KI generierten Ergebnisse beurteilen müssen, anstatt selbst Code zu schreiben oder zu pflegen.
  • Nicht-funktionale Anforderungen wie Auslastung, Leistung und Zugänglichkeit werden regelmäßig übersehen, und wenn die Architektur nicht frühzeitig berücksichtigt wird, wird es teuer, sie nach der Auslieferung des Produkts zu beheben.
  • Tester in Zeiten des Abschwungs zu entlassen, ist eine kurzfristige Einsparung, die langfristig zu einem Mangel an Menschen führt, die Systemarchitekturen verstehen und überprüfen können, vor allem, wenn die Zahl der KI-generierten Codebasen wächst.

Der schwierigste Teil des Testens ist, seinen Wert zu verkaufen

Tester sind gut darin, Probleme zu kommunizieren. Sie sind schlecht darin, zu vermitteln, was ihre Arbeit für ein Unternehmen wert ist. Diese Kluft, und nicht eine einzelne Technologie, hat das Testen von Software fast zwei Jahrzehnte lang überschattet.

Das Muster wiederholt sich mit jedem Hype-Zyklus. In den Jahren 2010 und 2011 machten Frameworks wie Selenium die Automatisierung zu einem Trendthema, und das Versprechen war dasselbe wie heute: Alles automatisieren, die Tester loswerden. KI kommt jetzt mit dem gleichen Versprechen. Die Technologie ändert sich, das Missverständnis aber nicht.

Die Kosten tauchen in den sozialen Medien auf. Qualifizierte Menschen tragen “open to work”-Abzeichen, und jedes Mal kommt die Frage: Warum sucht jemand, der so gut ist, einen Job? Ein Teil der Antwort liegt darin, dass die Branche nie gelernt hat, für ihr eigenes Handwerk so zu werben, wie es den Entscheidungsträgern wichtig ist.

Warum Manager in Zeiten des Abschwungs zuerst an der Qualität sparen

Wenn die Wirtschaft ins Stocken gerät, ist es leicht, an der Qualität der Arbeit zu sparen. Die Entwickler schreiben den Code, die Designer entwerfen die Benutzeroberfläche und das Produkt wird trotzdem ausgeliefert. Das Testen ist aus dieser Sicht optional, also kommt es zuerst.

Das Testen den Entwicklern aufzudrängen, kann auf kurze Sicht gut funktionieren. Dieselben Unternehmen legen oft noch einen drauf: den Code schreiben, testen, die Pipelines warten, das Produkt in Produktion bringen. Das Ersetzen von Testern und Nachwuchsentwicklern durch ein beliebiges KI-Tool kann die Geschwindigkeit eine Zeit lang hochhalten.

Auf lange Sicht wird das nicht funktionieren. Daniel Knott geht davon aus, dass in fünf bis zehn Jahren eine große Nachfrage nach Leuten besteht, die Systemarchitekturen verstehen. Die Entwicklung einer App, eines Webprodukts, fast alles, was veröffentlicht werden kann, dauert heute nur noch Minuten. Wenn es so schnell geht, ohne dass jemand versteht, was da entsteht, gibt es Ärger.

Geschwindigkeit ohne Architektur ist eine Schuld, die du später bezahlst

Generierter Code ohne echte Architektur ist der Ort, an dem nichtfunktionale Probleme entstehen. Leistungs- und IT-Sicherheitsprobleme liegen selten an der Oberfläche. Sie stecken in der Architektur, in einem schlechten Design oder in einer Lücke in der Struktur.

Die Architektur ist das Teuerste, was man ändern kann, wenn ein Produkt erst einmal auf dem Markt ist. Deshalb waren nicht-funktionale Tests schon vor der KI wichtig, und sie sind es noch mehr, wenn der Code schneller fertig ist, als man darüber nachdenken kann.

Nicht-funktionale Anforderungen geraten immer mehr aus dem Blickfeld. Auf die Frage, wann sie das letzte Mal über sie nachgedacht haben, mussten einige Produktmanager fragen, was der Begriff überhaupt bedeutet. Die Zugänglichkeit ist ein wenig in den Vordergrund gerückt, zum Teil aufgrund von Vorschriften. Last- und Performanztests werden weit weniger beachtet. Zumindest bei IT-Sicherheitstests werden oft externe Experten hinzugezogen, aber das Thema als Ganzes gerät leicht in Vergessenheit.

Sprich in der Sprache, die der Zuhörer bereits spricht

Es gibt kein Patentrezept, um den Wert des Testens zu vermitteln. Der richtige Schritt hängt davon ab, wer vor dir sitzt und woher er kommt.

Finde zuerst ihren Hintergrund heraus. Jemand, der aus der Wirtschaft oder dem Marketing kommt, reagiert auf den geschäftlichen Nutzen. Verbinde das Testen mit dem Ergebnis, für das diese Person verantwortlich ist. Wenn ein Feature umsatzrelevant ist, dann begründe das: Der KPI ist eine Million Umsatz im nächsten Monat, und wenn du die ganzheitliche Überdeckung in bestimmten Bereichen auslässt, ist dieses Ziel unwahrscheinlich.

Jemand aus dem technischen Bereich braucht einen anderen Eintrag. Öffne die Karte der Systemarchitektur, zeige auf, was bereits automatisiert ist und wo die Schwachstellen liegen, und verkaufe dann die Aktivitäten anhand dieses Bildes. Mehr API-Tests, Vertragstests, die nicht-funktionale Arbeit, was auch immer in den Werkzeugkasten dieser Person passt.

Geschäfts- und nutzerorientierte Zahlen kommen an. Umsatz und Benutzerzufriedenheit sorgen dafür, dass das Testen akzeptiert wird. Wenn du mit “wir haben 20 Prozent Codeüberdeckung und brauchen 80” ankommst, ist das nicht der Fall. Für die meisten Manager ist das nur eine Zahl, und “Codeüberdeckung” klingt zu kompliziert, um danach zu handeln.

Die eigentliche Schwierigkeit liegt in der Kluft zwischen der täglichen Arbeit des Testens und einem hochrangigen KPI wie der Nutzerzufriedenheit. Es gibt keine eindeutige Formel, um sie zu schließen. Was das Unternehmen verkauft, was die Konkurrenz ihren Produkten hinzufügt, was die Kunden in ihrem Feedback fordern: Diese Datenpunkte müssen miteinander verbunden werden, bevor der nächste Schritt offensichtlich ist.

Domänenwissen kann wichtiger sein als tiefgreifende technische Kenntnisse

Jahrelang lautete der Ratschlag an einen geschäftsorientierten Tester: Werde technisch, lerne eine Programmiersprache, studiere Architekturmuster und sauberen Code. Dieses Wissen ist immer noch hilfreich. Es ist aber nicht mehr entscheidend dafür, ob die Rolle überlebt.

KI wird in den nächsten Jahren oder Jahrzehnten nicht verschwinden. Da KI-Programmierer/innen und -Tools Funktionen auf Abruf generieren, verlagert sich die Arbeit darauf, die Ergebnisse eines Modells zu beurteilen, anstatt jede Zeile des Test-Codes von Hand zu schreiben. Um diese Leistung gut beurteilen zu können, muss man das Geschäftsfeld genau kennen.

Du brauchst immer noch die Grundlagen des Testens von Software, und du brauchst immer noch die Grundlagen, wie ein System funktioniert. Was eine Anfrage ist, was eine Antwort ist, wie die Client-Server-Kommunikation funktioniert und wie ein moderner Tech-Stack aussieht. Dieses Basiswissen liefert neue Ideen für das Testen und ermöglicht es dir, die richtigen Fragen zu stellen, z. B. welche Teile einer Funktion generiert wurden und welche noch von einem menschlichen Entwickler stammen.

Der Blick über den Tellerrand des eigenen Unternehmens hinaus wird dadurch nicht weniger, sondern mehr wert. Wenn die KI den Code erstellt und er fertig zu sein scheint, verdient ein Tester an den Rändern und in den Fällen, die außerhalb des offensichtlichen Pfades liegen, sein Geld.

Prompt Reviews könnten das nächste Shift-Left-Verfahren sein

Das Review der Prompts, die den Code erzeugen, ist ein viel zu wenig genutzter Ansatzpunkt für Qualität. Der Prompt ist der Ort, an dem Fehlerzustände auftreten können, bevor eine einzige Zeile geschrieben wurde.

Der Kontext entscheidet über alles, wenn du eine KI aufforderst. Ändere einen kleinen Teil eines Satzes und die Ausgabe kann völlig anders ausfallen. Ein Entwickler, der ein Modell auffordert, trifft Entscheidungen, die den resultierenden Code formen, und zurzeit inspiziert fast niemand diesen Schritt.

Das ist für mich eine neue Art des Shift-Left-Testens, also ein Review des Promptens, das in das System einfließt.

  • Daniel Knott

Solange die Leute ihre eigenen Prompts schreiben, kann sich das Review von Prompts zu einer echten Praxis entwickeln. Es ist eine Qualitätskontrolle, die so weit wie möglich nach vorne verlagert wird.

Gute Test-Tools verdienen sich ihren Platz, indem sie benutzbar sind

Ein Test-Tool ist eine Erweiterung deiner Arbeit, also muss es einfach zu installieren und benutzerfreundlich sein. Alles, was tagelang konfiguriert werden muss, Abhängigkeitsüberprüfungen erfordert und Gigabytes an Bibliotheken benötigt, bevor es läuft, verlangsamt das Testen, das es eigentlich beschleunigen sollte. Die Anbieter sollten das als Anforderung betrachten, nicht als Nettigkeit.

Die KI-Funktionen, die es wert sind, vorhanden zu sein, gibt es bereits in den gängigen Produkten. Ein paar Kategorien stechen aus dem Marketing heraus:

FähigkeitenWas das Tool kann
TestfallerstellungEin Plugin liest Anforderungen und Entwürfe im Ticketing-System und leitet daraus Testfälle ab
Nutzungsbasierte TestvorschlägeEine versteckte Bibliothek verfolgt, was Nutzer/innen anklicken, bildet die reale User Journey ab und zeigt die Testfälle auf, die sich zu automatisieren lohnen
Prompt-driven AutomationEine Prompt-Schnittstelle verwandelt eine schriftliche Anweisung in eine laufende Testautomatisierung oder Konfiguration

Nichts von alledem ersetzt das Urteilsvermögen des Testers. Du wählst immer noch das Tool aus, das zu deinem Tech-Stack und deiner Situation passt. Was für das eine Team das Richtige ist, ist für ein anderes Team das Falsche, weshalb die Hausaufgaben nicht übersprungen werden dürfen.

Probiere die Tools selbst aus, anstatt den Anpreisungen zu vertrauen

Teste die Tools aus erster Hand, anstatt den Whitepapers zu glauben. Die Anbieter werden ihr Produkt immer im besten Licht darstellen, so wie du es an ihrer Stelle auch tun würdest, also sagt dir das Marketing, was es geben könnte, nicht, was bei dir funktioniert.

Installiere Testversionen, führe sie aus und schaue, was sich bewährt und was scheitert. Wenn du das regelmäßig tust, bekommst du ein Gefühl dafür, wohin sich die Branche entwickelt und was in deiner aktuellen Situation wirklich wichtig ist. Es gibt keine Universalauswahl mehr. Vor Jahren griff jeder zu Selenium und auf dem Handy zu Appium, und damit war die Diskussion zu Ende. Heute ist das richtige Tool auf dich zugeschnitten.

Auch die Art und Weise, wie die Anbieter die Tester erreichen, ändert sich. Suchmaschinen verlieren an Boden, da die Menschen auf Chat-Oberflächen umsteigen. Daher setzen die Anbieter verstärkt auf soziale Medien und Konferenzen, auf denen sie ihre Produkte dem richtigen Publikum vorführen können. Ein Labor für Testautomatisierung auf einer Konferenz mit Arbeitsplätzen zum Ausprobieren von Tools abseits des Messestandes übertrifft die übliche Hürde eines Verkäufers, der dich in dem Moment erwischt, in dem du dich zum Lesen zurückhältst.

Vernachlässige nicht die Fähigkeiten, die du bereits erworben hast

Die grundlegenden Fertigkeiten des Testens, die du in den letzten zehn, fünfzehn, zwanzig Jahren gelernt hast, sind immer noch gültig und helfen dir auch bei der KI. Ignoriere alle, die behaupten, dass das Testen nicht mehr gebraucht wird oder dass dein Wissen irrelevant ist.

Das Einzige, was du jetzt tun solltest, ist, dich ernsthaft mit KI zu beschäftigen. Lerne Prompting, lerne, wie große Sprachmodelle intern funktionieren, einschließlich der Vektordatenbanken und der zugrunde liegenden Prinzipien. Das hat zwar nur wenig mit dem Testen zu tun, aber es schärft die Art und Weise, wie du testest.

Das Tempo ist der Grund, warum du heute damit anfangen solltest. Einige Unternehmen haben mehr als fünfzehn Jahre gebraucht, um die mobile Revolution um 2010 aufzuholen, und einige liefern immer noch eine schlechte oder gar keine App aus. KI entwickelt sich um eine Größenordnung schneller als das. Es ist keine sichere Position, die Entwicklung auszusitzen.

Diese Seite teilen