Cómo reproducir un bug que solo falla una vez por semana
Los bugs intermitentes no son realmente aleatorios. Tienen disparadores — solo no los has encontrado todavía. Aquí está el proceso sistemático.
Intermitente no significa aleatorio
El primer cambio mental es aceptar que no son aleatorios. El bug se dispara cada vez que una combinación específica de condiciones se alinea.
Paso 1: Capturar el estado completo en el fallo
La próxima vez que el bug se dispare, captura cada pieza de estado relevante.
Paso 2: Enumerar hipótesis antes de probar
Lista cada causa plausible. Race condition. Caché obsoleta. Forma de entrada específica. Presión de memoria.
Paso 3: Diseñar un test falsificable para cada una
Cada hipótesis necesita un test que la pruebe falsa.
Paso 4: Comprimir el tiempo entre intentos
Monta un arnés que dispare la carga sospechada lo más rápido posible.
Paso 5: Verificar que la reproducción es causal
Si quitar X hace que el bug pare y volverlo a poner lo hace volver, X es causal.
Dónde encaja la asistencia de IA
La enumeración de hipótesis es la más propensa al anclaje. Pasar los síntomas por Reloadium Edge Case Debugger hace emerger categorías de hipótesis que el equipo no habría considerado.