YP AI-logo
Software Engineering

Hoe houden AI werknemers instabiele tests uit uw CI?

Een AI werknemer voor instabiele tests die dagelijks volgens schema uw CI geschiedenis leest, elke test scoort op hoe vaak de uitkomst verandert bij ongewijzigde code, een quarantaine PR opent voor de ergste overtreders met het bewijs erbij, en een tracking issue aanmaakt. Hij voegt zijn eigen PR nooit samen en verwijdert nooit een test.

YP×GitHubSlack
Wanneer
Dagelijks volgens schema
Systemen
GitHubCISlack
Modus
Alleen quarantaine PR en tracking issue: voegt nooit samen, verwijdert nooit
Probleem

Instabiliteit verbergt zich in het volle zicht. Een test faalt, de job draait opnieuw, hij slaagt, en CI wordt groen, zodat de fout nooit een signaal wordt dat iemand bijhoudt. Verspreid over een paar honderd tests gedurende een paar maanden vreet een handvol stilletjes elke week een herhaling op, en echt kapotte tests krijgen hetzelfde "draai het gewoon opnieuw" schouderophalen als de instabiele. Niemand plant tijd in om de echte instabiele tests te repareren, omdat niemand een gerangschikte lijst heeft van welke tests het team daadwerkelijk herhalingen kosten. De gebruikelijke reacties lossen het niet op. Gefaalde jobs opnieuw draaien tot ze groen zijn, verbergt het probleem in plaats van het te meten. Een kanaal waar iemand af en toe vraagt "is deze weer instabiel?" hangt af van een persoon die het opmerkt en onthoudt. Een instabiele test zomaar verwijderen gooit de echte dekking weg die hij had, en dit alles met de hand doen betekent eerst weken CI logs doorspitten om te vinden welke tests werkelijk de ergste overtreders zijn.

Wat het doet

Dagelijks volgens schema hervat de AI werknemer voor instabiele tests vanuit een instabiliteitsregister, haalt de CI geschiedenis uit GitHub op sinds de laatste controle, werkt de nondeterminismescore van elke test bij, en zodra een test de quarantainedrempel overschrijdt, opent hij een PR die de test overslaat met een reden en een link naar het bewijs, plus een doorlopend tracking issue met alle tests die momenteel in quarantaine staan. Hij plaatst de wijzigingen van de dag in Slack. Hij verwijdert nooit een test en voegt zijn eigen PR nooit samen.

Hoe het werkt

Zie precies hoe het werk wordt gedaan.

Draait dagelijks, met zijn instabiliteitsregister

Een run start eenmaal per dag tegen dezelfde instabiliteitshistorie, geen verse start elke keer. Doordat de historie per test van de ene run naar de volgende bewaard blijft, weerspiegelt de score van een test weken aan runs, niet alleen die van vandaag, zodat de rangschikking elke keer tegen het volledige register wordt beoordeeld.

Draagt uw quarantainedraaiboek mee

Hoe instabiliteit wordt gescoord, welke skipsyntaxis elk testframework gebruikt, en wat een quarantaine PR en tracking issue moeten bevatten, reizen met hem mee als skill. Stel de drempel bij of leg de oorzaak van een instabiele test vast, en de volgende run neemt het over.

Verbindt met wat triage nodig heeft, met rechten die u instelt

Hij leest de CI geschiedenis uit GitHub over een voortschrijdend venster, opent een quarantaine PR op de ergste overtreders, maakt één doorlopend tracking issue aan, en plaatst de samenvatting van de dag in Slack. Inloggegevens blijven in het geheugen, worden nooit naar schijf geschreven en worden nooit aan het model getoond.

Overslaan en markeren, nooit verwijderen

Zijn enige wijziging aan een testbestand is een skip of quarantainemarkering met een reden en een link naar het bewijs van de run. Hij verwijdert nooit een test, de assertions of het bestand ervan.

Opent de PR en stopt

Hij opent een PR en een tracking issue en stopt; hij voegt zijn eigen PR nooit samen en pusht nooit naar de standaardbranch. Tegen de tijd dat een persoon kijkt, zijn de ergste overtreders al gerangschikt met het bewijs erbij. Een aangewezen persoon beoordeelt de quarantaine, voegt die samen indien terecht, en verwijdert de skip zodra de test daadwerkelijk is gerepareerd.

Waarborgen

Draait in uw eigen omgeving

Elke run is geïsoleerd binnen uw eigen infrastructuur en bereikt alleen GitHub, de CI geschiedenis en het Slack kanaal. Uw data verlaat uw omgeving nooit.

Rechten die u instelt

De inloggegevens voor GitHub en CI blijven in het geheugen, worden tijdens de run geïnjecteerd, worden nooit naar schijf geschreven en worden nooit aan het model of de logs getoond.

Overslaan, nooit verwijderen

Zijn enige wijziging aan een testbestand is een skip of quarantainemarkering met een reden. Hij verwijdert nooit een test, de assertions of het bestand ervan.

Opent, voegt nooit samen

Hij opent een PR en een issue en stopt. Hij voegt nooit samen en pusht nooit naar de standaardbranch; een aangewezen persoon beheert de samenvoeging en het uiteindelijke opheffen van de quarantaine.

De regels zijn van u

De scoreregels, drempels, skills en rechten zijn van u, met versiebeheer en aangepast op uw voorwaarden, niet in het dashboard van een leverancier.

Het resultaat

De tests die elke week stilletjes een herhaling opvraten, verschijnen nu gerangschikt, met een PR en een tracking issue bij de ergste ervan. CI wordt rustiger zonder dekking te verliezen die niemand wilde laten vallen, en de samenvoeging blijft precies waar die hoort: bij een persoon.

Elke dag

Testinstabiliteit opnieuw gescoord tegen de laatste CI geschiedenis

Gerangschikt, niet gegokt

Quarantainedoelen gekozen op basis van CI bewijs, niet op onderbuikgevoel

Menselijke samenvoeging

De AI werknemer stelt de quarantaine voor; een persoon beslist

Weet u niet waar u moet beginnen?

Onze gratis AI-audit laat zien waar AI kansen biedt voor uw bedrijf, welke risico's daarbij komen kijken, en zet meteen uw eerste AI werknemer aan het werk.

Klaar om uw bedrijf te transformeren?

Klaar om uw eigen AI werknemers in actie te zien?