Sie haben das Ding gebaut. Sie haben sich durchgeklickt. Der Button hat funktioniert, der Datensatz wurde gespeichert, das Dashboard hat sich aktualisiert. Sie fühlen sich gut dabei.
Aber Sie haben diesen Code nicht geschrieben, und wenn Sie ehrlich sind, haben Sie ihn wahrscheinlich auch nicht gelesen. Was Sie also wirklich wissen, ist: Es hat einmal funktioniert, für Sie, bei der einen Sache, die Sie ausprobiert haben. Alles andere darüber, ob es “funktioniert”, ist Vertrauen.
Der Happy Path ist der einzige Pfad, den die meisten Leute testen
So sieht das Testen einer vibe-codierten App normalerweise aus: Sie laden eine Datei hoch und sie wird verarbeitet. Sie senden ein Formular ab und der Datensatz erscheint. Sie klicken auf einen Button und der Workflow läuft. Das war’s. Das ist der Test.
Das ist keine Faulheit. Es ist die natürliche Grenze manuellen Testens durch jemanden, der die zugrunde liegende Logik nicht geschrieben hat. Sie können nur testen, was Sie sich als schiefgehend vorstellen können, und wenn Sie den Code nicht lesen können, testen Sie die Demo, nicht das System. Der Happy Path ist genau der Pfad, auf den die KI definitiv optimiert hat, weil er das Szenario aus dem Prompt ist, das die App überhaupt erst hervorgebracht hat.
Das Problem ist, dass echte Nutzung nicht auf dem Happy Path bleibt. Echte Nutzer klicken doppelt. Sie öffnen zwei Tabs. Sie drücken zurück und senden erneut ab. Nichts davon zeigt sich, wenn Sie, der Builder, sich einmal, sorgfältig, in der erwarteten Reihenfolge durch Ihre eigene App klicken.
Concurrency ist die Stelle, an der es wirklich kaputtgeht
Das klarste Beispiel ist Concurrency, und sie ist tatsächlich schwer von Hand zu testen, selbst wenn Sie genau wissen, wonach Sie suchen müssen.
Stellen Sie sich eine kreditbasierte Funktion vor: Ein Nutzer startet einen Prozess, das kostet Credits, und eine Guthabenprüfung sollte ihn blockieren, sobald die Credits aufgebraucht sind. Stellen Sie sich nun vor, derselbe Nutzer öffnet fünf Tabs und startet fünf Prozesse innerhalb derselben Sekunde, bevor die erste Abrechnungsprüfung überhaupt fertig gelaufen ist. Wenn die Logik “prüfen, dann abziehen” nicht für diese Überlappung ausgelegt ist, können alle fünf Prozesse die Guthabenprüfung bestehen, bevor auch nur einer einen Abzug registriert. Das Ergebnis: ein Nutzer, der Prozesse ausführt, die er sich nicht leisten kann, ein Kreditguthaben, das ins Negative rutscht, und ein Kontostand, der jetzt auf eine Weise falsch ist, die niemand geplant hat.
Das werden Sie nicht durch einmaliges Klicken finden. Sie müssten daran denken, fünf Tabs zu öffnen, die Klicks so zu timen, dass sie in denselben Sekundenbruchteil fallen, und wissen, dass “Guthaben prüfen” und “Guthaben abziehen” zwei getrennte Schritte sind, die sich gegenseitig überholen können. Das ist kein Testversäumnis. Es ist eine Bugkategorie, die manuelles, einzelnes Klicken strukturell nicht finden kann, weil der Bug nur existiert, wenn mehrere Dinge gleichzeitig passieren, und eine einzelne Person, die allein testet, diese Bedingung nicht leicht absichtlich herstellen kann, geschweige denn wiederholen.
Genau das ist die Art von Randfall, die Forschung zu KI-generierten Apps als den Fehlermodus benennt, den niemand einplant: Die KI baut Pfade für das eine Erfolgsszenario, nach dem sie gefragt wurde, nicht für gleichzeitige Änderungen, doppelte Klicks oder Timing-Lücken zwischen Schritten. Und weil die daraus resultierende Datenkorruption keinen Fehler auswirft, liegt sie einfach still da, bis Wochen später ein Bericht oder ein Guthaben falsch aussieht.
Warum fast niemand die Tests schreibt, die das erkennen würden
Die ehrliche Lösung für diese Bugkategorie ist automatisiertes Testen: Unit-Tests, Integrationstests, etwas, das fünf gleichzeitige Anfragen simulieren und das Ergebnis mechanisch überprüfen kann, statt sich auf die Vorstellungskraft und Geduld eines Menschen zu verlassen. Automatisierte Tests werden nicht müde, vergessen keinen Randfall und können nach jeder Änderung erneut ausgeführt werden, um sicherzustellen, dass etwas, das Sie am Montag repariert haben, am Dienstag nicht kaputtgegangen ist.
In der Praxis haben Vibe Coder das fast nie. Eine Testsuite zu schreiben ist eine eigenständige technische Fähigkeit, wohl eine schwierigere als das Schreiben der App selbst, da es erfordert, über Fehlermodi nachzudenken statt nur darüber, ob die Funktion läuft. Ein KI-Agent kann Tests schreiben, wenn Sie ihn darum bitten, aber jemand muss immer noch wissen, dass er danach fragen muss, verstehen, was die Tests tatsächlich prüfen, und sie aktuell halten, während sich die App unter ihnen verändert. Für einen nicht-technischen Builder, der am Dienstagnachmittag ein Kundenportal ausliefert, ist das eine Brücke zu weit, und selbst technische Builder, die schnell vibe-coden, halten selten an, um Testabdeckung für Code zu schreiben, den sie beim nächsten Prompt ohnehin ersetzen werden.
Der realistische Zustand des Testens bei den meisten vibe-codierten Apps ist also: ein einmaliger Happy-Path-Durchklick, ausgeführt von der Person, die am wenigsten dafür ausgerüstet ist zu erraten, was schiefgehen könnte. Das ist die Vertrauenslücke. Sie überprüfen nicht, dass die App funktioniert. Sie hoffen es, basierend auf der einen Sache, die Sie ausprobiert haben.
Was “visuelle Gewissheit” wirklich bedeutet
Es gibt eine echte Alternative zum Hoffen, und sie lautet nicht “lernen Sie, Testsuiten zu schreiben”. Es geht darum, die riskanten Teile auf einem Fundament zu bauen, auf dem die Logik von Anfang an nicht versteckt ist.
Visuelle Gewissheit bedeutet, dass Sie ein Einstellungspanel öffnen und genau sehen können, welche Nutzergruppe einen Datensatz einsehen darf, genau welchen Filter ein Block auf eine Datenquelle anwendet, und genau, was ein Workflow Schritt für Schritt in welcher Reihenfolge tut, ohne eine Zeile generierten Codes zu lesen. Sie testen nicht ein Verhalten, um die dahinterliegende Regel zu erschließen. Sie lesen die Regel direkt.
Das ist am wichtigsten für die Kategorien, in denen die Vertrauenslücke am teuersten ist: Abrechnungslogik, Berechtigungen und alles mit gleichzeitigen Nutzern. Eine Plattform wie Softr löst das, indem sie Berechtigungen, Datenbeschränkungen und Workflow-Schritte als visuelle, überprüfbare Konfiguration hält, statt als KI-generierten Code, den Sie Zeile für Zeile prüfen müssten, um ihm zu vertrauen. Wenn Sie wissen wollen, ob ein Kunde die Datensätze eines anderen Kunden sehen kann, öffnen Sie die Datenbeschränkungsregel und lesen sie. Sie müssen nicht fünf gleichzeitige Logins simulieren und hoffen, dass die KI die Race-Condition korrekt gehandhabt hat, weil die bereits getestete Infrastruktur der Plattform selbst die Regel durchsetzt, nicht eine maßgeschneiderte Prüfung, die die KI für Ihren spezifischen Prompt geschrieben hat.
Das heißt nicht, dass jede individuelle Funktion in einem Einstellungspanel verschwindet. Für wirklich individuelle UI ist ein Vibe-Coding-Block, der auf eine Komponente begrenzt ist und über die bestehende Berechtigungs- und Datenschicht der Plattform angebunden wird, ein ganz anderes Risiko als eine komplette App voller generierter Geschäftslogik, weil der Schadensradius von “die KI hat diesen einen Teil falsch gemacht” ein Block ist, nicht das Abrechnungssystem.
- Panel öffnen, Regel lesen
- Berechtigungen und Datenbeschränkungen sichtbar
- Workflow-Schritte in der richtigen Reihenfolge
- Plattform-Infrastruktur erzwingt dies
- Verhalten testen, versteckte Regel ableiten
- Code Zeile für Zeile prüfen, um ihm zu vertrauen
- Fünf Logins simulieren, um Race Conditions zu finden
- Maßgeschneiderte Prüfung für einen prompt geschrieben
Die Wahl, vor der Sie eigentlich stehen
Wenn Ihre App ein Wochenendprojekt oder ein Prototyp ist, für den niemand bezahlt, liefern Sie sie aus, klicken Sie einmal den Happy Path durch und machen Sie weiter. Der Einsatz entspricht genau dem Einsatz des manuellen Tests, den Sie durchgeführt haben.
Wenn es ein Kundenportal, ein Buchungssystem, oder irgendetwas mit Credits, Guthaben oder Rollen ist, lautet die ehrliche Frage nicht “habe ich das getestet?”. Sie lautet “kann ich die Teile tatsächlich überprüfen, die schaden würden, wenn sie falsch sind, oder vertraue ich nur dem Wort einer KI?”. Wenn die Antwort Vertrauen ist, ist das dieselbe Weggabelung, über die wir schon bei dem Day-Two-Problem geschrieben haben, und beide Wege sind legitim, je nachdem, wer Sie sind.
Wenn Sie Code lesen können, oder bereit sind, es zu lernen, schließen Sie die Lücke mit echten Werkzeugen statt mit einem anderen Builder. Cursor arbeitet innerhalb einer echten Codebasis, in der Sie um Concurrency-Tests bitten und dann lesen können, was dabei herauskommt, und Replit gibt Ihnen eine Cloud-Umgebung, in der eine Testsuite laufen zu lassen ein normaler Teil des Ablaufs ist statt ein nachträglicher Gedanke. Die Lücke ist in beiden Fällen nicht die Fähigkeit der KI, sondern ob Sie wissen, dass Sie nach dem Test fragen müssen, und beurteilen können, ob er etwas taugt.
Wenn Sie es nicht können, und Sie die Art von App bauen, bei der eine falsche Berechtigung oder ein negatives Guthaben ein echtes Problem ist, verlagern Sie die riskanten Teile auf ein Fundament, bei dem Sie die Regel lesen statt sie zu erraten. Schauen Sie sich unser Ranking für Kundenportale an, wenn das die App ist, die Sie tatsächlich bauen, denn dort kostet eine falsche Vermutung am meisten.