QAMap – lokales CLI, das Commits und Diffs liest und QA-Szenarien für PRs vorschlägt
(github.com/IvoryCanvas)Hallo, ich entwickle QAMap, ein lokales CLI, das den Änderungskontext eines PRs liest und die nötige QA entwirft.
Der Engpass, den ich in Produktteams erlebt habe, lag weniger im Schreiben von Testcode, sondern darin, bei jedem PR erneut zu beurteilen: „Was muss diese Änderung beweisen?“ Anfangs analysierte ich Diffs und die Projektstruktur und empfahl Entwürfe für E2E mit Playwright und Maestro. In der Praxis blieb das aber bei Dingen, die Entwickler ohnehin schon wussten, und bei einfachen Tests des Erfolgsbildschirms stehen.
Deshalb habe ich das Ziel geändert. Statt jede Domäne perfekt verstehen zu wollen, ordnet QAMap anhand von Commits und Diffs die Änderungsabsicht und den Funktionsablauf ein und schlägt QA vor, die mit hoher Wahrscheinlichkeit bei Normalfällen, Fehlerfällen, Grenzfällen oder Zustandsübergängen fehlt. Bei Einschätzungen, die schwer sicher zu treffen sind, werden auch Begründung und Konfidenz angezeigt.
Langfristig soll daraus ein lokales QA-Tool werden, das beim Erstellen eines PRs die betroffenen Funktionen findet, die nötigen E2E sowie Mocks und Fixtures zusammenstellt, sie sicher ausführt und anschließend auch die Nachweise der Verifikation hinterlässt. Derzeit ist QAMap bei v0.4.0; ich prüfe nach und nach Fälle, in denen es in echten Repositories falschliegt, und aktualisiere es, um diesem Ziel näherzukommen.
Es ist noch in einer frühen Phase und kann daher Dinge falsch interpretieren oder wichtige Szenarien übersehen. Was ich im Moment am meisten brauche, sind echte Fehlfälle. Wenn QAMap falsche Schlüsse zieht oder nicht nutzbare Tests vorschlägt, sagt mir bitte gern Bescheid.
1 Kommentare
Die Richtung, lokal auf Basis von Diffs sogar Grenzfälle und Zustandsübergänge vorzuschlagen, finde ich gut. Wenn pro Szenario besser sichtbar wäre, aus welchem Diff-Hunk oder welcher Datei die Begründung stammt, ließen sich False Positives beim Review vermutlich leichter herausfiltern.