Ich schreibe Tests zum Leben. Naja, teilweise zum Leben. Und das schmutzige Geheimnis des Testberufs ist, dass die meisten von uns mehr Zeit damit verbringen, alte Tests zu warten, als neue zu schreiben. Ein Button wird umbenannt, ein Selektor ändert sich, eine Seite wird neu gestaltet – und plötzlich schlagen 40 Tests fehl, nicht wegen tatsächlicher Bugs. Nur weil sich die Benutzeroberfläche verändert hat.
Als KI-Testtools „selbstheilende Tests“ versprachen, war ich skeptisch, aber verzweifelt hoffnungsvoll. Wie ein erschöpfter Feuerwehrmann, der von einem selbstlöschenden Gebäude hört.
Es stellte sich heraus, dass einige tatsächlich liefern.
Wo KI-Tests tatsächlich funktionieren
Testgenerierung mit Copilot ist die nützlichste KI-Testfunktion, die ich bisher erlebt habe. Schreibe eine Funktion, wechsle zur Testdatei, und Copilot schlägt Testfälle vor – einschließlich Randfälle, an die ich nicht gedacht hätte.
Letzte Woche schlug es einen Test für negative Zahlen als Eingabe bei einer Funktion vor, die ich nicht in Betracht gezogen hatte. Die Funktion stürzte bei negativen Zahlen ab. Copilot fand einen echten Bug, indem es einen Test schrieb, den ich nicht geschrieben hätte. Das ist… ziemlich großartig.
Der Haken: Copilot generiert Tests, die bestehen, aber „bestehen“ und „das Richtige testen“ sind zwei verschiedene Dinge. Es neigt dazu, die Implementierung anstelle des Verhaltens zu testen – wenn die Implementierung also falsch, aber konsistent ist, wird Copilot Tests schreiben, die das falsche Verhalten validieren. Du musst die generierten Tests immer noch lesen und dich fragen: „Überprüft dieser Test, was mir tatsächlich wichtig ist?“
Visuelles Testen mit Applitools hat ein Problem gelöst, das mich vor Frontend-Änderungen fürchtete. Visuelles Regressionstesting bedeutete früher den Vergleich von Pixel zu Pixel, was ständig aufgrund von Antialiasing-Unterschieden, Updates der Rendering-Engine und dynamischen Inhalten wie Zeitstempeln oder Anzeigen fehlschlug.
Applitools nutzt KI, um Screenshots so zu vergleichen, wie es ein Mensch tun würde – irrelevante Unterschiede ignorierend, während bedeutende erfasst werden. Ändert sich ein Datum? Ignoriert. Bewegt sich ein Button um 50 Pixel? Markiert. Eine Änderung der Textfarbe? Markiert. Dynamischer Anzeigeninhalt? Ignoriert.
Wir gingen von über 30 falsch-positiven visuellen Fehlern pro Veröffentlichung auf etwa 2 herunter. Mein QA-Team hörte auf, sich vor visuellen Testüberprüfungen zu fürchten.
Selbstheilende Tests mit Testim sind das Nächste, was man als Magie bezeichnen könnte. Die KI verfolgt mehrere Attribute jedes UI-Elements – seinen Text, seine Position, die CSS-Klasse, umgebende Elemente und mehr. Wenn sich ein Attribut ändert (wie eine umbenannte CSS-Klasse), verwendet die KI die anderen Attribute, um das Element dennoch zu finden.
Vor Testim: Eine CSS-Refaktorisierung brach 120 Tests. Nach Testim: Die gleiche Art von Refaktorisierung brach 3 Tests (die, bei denen das Element tatsächlich entfernt wurde, nicht nur umbenannt). Das ist eine 97,5 %ige Reduzierung von Fehlalarmen. Die eingesparten Stunden für die Testwartung sind erheblich.
Die Werkzeuge, die mich enttäuschten
Vollständig autonome Testagenten – die, die versprechen „zeig sie einfach deiner App und sie testen alles“ – sind noch nicht soweit. Ich habe zwei verschiedene autonome Testtools ausprobiert. Sie fanden einige grundlegende Funktionalitätsprobleme, übersahen aber Randfälle, schrieben brüchige Tests und erzeugten falsch-positive Ergebnisse, deren Untersuchung länger dauerte als die Lösung der gefundenen Probleme.
Die Technologie wird eines Tages ankommen. Heute ist sie es nur nicht.
Von KI generierte Integrationstests sind mittelmäßig. Unit-Tests (die einzelne Funktionen testen) eignen sich gut für die KI-Generierung, da der Umfang klein und die Erwartungen klar sind. Integrationstests erfordern das Verständnis, wie Komponenten interagieren, was das erwartete Systemverhalten ist und wo die interessanten Fehlermodi auftreten. Die KI hat hierfür noch nicht genügend Kontext.
Mein aktueller Test-Stack
Unit-Tests: Copilot generiert erste Entwürfe, ich überprüfe und passe an. Die Abdeckung stieg von 45 % auf 78 %, ohne zusätzliche Testzeit einzuführen. Die Qualität der einzelnen Tests ist nicht immer perfekt, aber die Menge gleicht das aus.
E2E-Tests: Testim für die wichtigsten Benutzerreisen. Selbstheilung hält die Wartung gering. Wir haben über 200 E2E-Tests, die in CI durchgeführt werden und tatsächlich grün bleiben.
Visuelle Tests: Applitools für wichtige Seiten und Komponenten. Fängt CSS-Rückschritte ein, die funktionale Tests völlig übersehen.
Manuelles Testen: Immer noch unersetzlich für exploratives Testen, UX-Bewertung und die „fühlt sich das richtig an?“ Fragen, die keine KI bisher beantworten kann.
Was ich Teams sage, die anfangen
Beginne mit Copilot für Unit-Tests. Es ist die geringste Anstrengung, die höchste Rendite bei KI-Testinvestitionen. Du schreibst bereits Code in einer IDE – die Tests kommen praktisch umsonst dazu.
Füge dann Applitools hinzu, wenn du eine visuell-intensive Anwendung hast. Die Einrichtung dauert einen Tag, und die Reduzierung der falsch visuellen Fehler ist sofort.
Ziehe Testim oder ähnliche in Betracht, wenn die Wartung von E2E-Tests die Zeit deines Teams frisst. Der Wert ist proportional zur Größe deiner Testsuite – wenn du 20 E2E-Tests hast, ist die manuelle Wartung machbar. Wenn du 200+ hast, ist die Selbstheilung ein Lebensretter.
Kaufe noch keine autonomen Testtools. Gib ihnen noch ein Jahr.
Die unangenehme Wahrheit
KI-Testtools machen das Testen schneller und weniger schmerzhaft. Sie machen das Testen jedoch nicht durchdacht. Der schwierigste Teil des Testens – zu entscheiden, was getestet werden soll, die Risiken zu verstehen, die Testfälle, die tatsächlich zählen, zu priorisieren – bleibt ganz menschliche Arbeit.
Ein Test-Suite mit 95 % Codeabdeckung durch KI-generierte Tests kann immer noch den Bug übersehen, der die Produktion zum Absturz bringt, weil die Codeabdeckung misst, was ausgeführt wurde, nicht was verifiziert wurde. Die KI schrieb Tests, die Rückgabewerte überprüften, aber keine Nebeneffekte testeten. Sie überprüfte den glücklichen Pfad, übersprang jedoch die Fehlerbehandlung.
Nutze KI für die mühsame Arbeit. Nutze dein Gehirn für die wichtige Arbeit. Das ist die Kombination, die tatsächlich funktioniert.
🕒 Published: