Hoe een bug te reproduceren die maar één keer per week faalt
Intermitterende bugs zijn niet echt willekeurig. Ze hebben triggers — je hebt ze alleen nog niet gevonden. Hier is het systematische proces.
Intermitterend betekent niet willekeurig
De eerste mentale verschuiving is accepteren dat ze niet willekeurig zijn. De bug vuurt elke keer dat een specifieke combinatie van voorwaarden samenkomt.
Stap 1: Vang de volledige toestand bij falen
De volgende keer dat de bug vuurt, vang elk relevant stuk toestand.
Stap 2: Sommeer hypothesen voor het testen
Lijst elke plausibele oorzaak. Race condition. Verouderde cache. Specifieke invoervorm. Geheugendruk.
Stap 3: Ontwerp een falsificeerbare test voor elk
Elke hypothese heeft een test nodig die hem fout zou bewijzen.
Stap 4: Comprimeer de tijd tussen pogingen
Bouw een harnas dat de verdachte werklast zo snel mogelijk afvuurt.
Stap 5: Verifieer dat de reproductie causaal is
Als X verwijderen de bug stopt en terugzetten hem terugbrengt, is X causaal.
Waar AI-debughulp past
Hypothese-opsomming is het meest vatbaar voor verankering. De symptomen door Reloadium Edge Case Debugger laten lopen brengt hypothesecategorieën aan het licht die het team niet zou hebben overwogen.