Gidsen
Hoe om te gaan met zwakke CI-taken
Tests mislukken willekeurig en mensen proberen het opnieuw totdat ze slagen.
6 min leestijd
Tests mislukken willekeurig en mensen proberen het opnieuw totdat ze slagen.
Symptomen
- Dezelfde test mislukt bij ongewijzigde code
- Herhalingen zijn routine
- Echte mislukkingen worden ook opnieuw geprobeerd
Waarom het gebeurt
Vlokken komen meestal voort uit een gedeelde toestand, aannames over timing of afhankelijkheid van de testvolgorde – en bij opnieuw proberen worden ze alle drie verborgen.
Hoe het te repareren
- Volg het faalpercentage per test om de ergste overtreders te identificeren
- Plaats slechte tests in een niet-blokkerende taak in plaats van blindelings opnieuw te proberen
- Los de hoofdoorzaak op: gedeelde armaturen, echte klokken, ongezaaide willekeur, poortbotsingen
- Voer nooit algemene tests uit; het zet echte bugs om in periodieke bugs
Je volgende build kan twee keer zo snel zijn, voor de halve prijs
Begin gratis. Weggaan is dezelfde ene regel, en die diff publiceren we ook.
Gerelateerd
Hoe hardloperstatistieken te verzamelenU kunt niet bepalen of een taak CPU-gebonden, geheugengebonden of schijfgebonden is.Hoe u de percentielen van de bouwduur kunt bijhoudenDe gemiddelde bouwtijd ziet er goed uit, maar ontwikkelaars klagen nog steeds.CI-traceringen exporteren met OpenTelemetryCI-timinggegevens bevinden zich in een afzonderlijk hulpmiddel, los van de rest van uw waarneembaarheid.Hoe u CI-gegevens programmatisch kunt opvragenJe hebt CI-gegevens nodig in een dashboard of een wekelijks rapport.