Flaky Tests (Pruebas Intermitentes)
Pruebas que pasan o fallan sin cambios en el código bajo prueba. Erosionan la confianza en la suite y son la causa #1 de abandono de la automatización.
Definición
Un test es flaky cuando produce resultados distintos (pass/fail) sobre el mismo commit, sin intervención. Su peligro no es el falso fallo aislado, sino la pérdida de señal: cuando el equipo asume que los rojos “son flakiness”, deja de mirar los fallos reales.
Causas raíz frecuentes
- Esperas mal modeladas:
sleepfijos en lugar de waits sobre condiciones. - Dependencia de orden o estado compartido entre tests.
- Concurrencia y carreras (animaciones, requests asíncronas).
- Datos no idempotentes o entornos compartidos no aislados.
- Dependencias externas no virtualizadas (red, terceros).
Métrica clave
Flake rate = ejecuciones con resultado inconsistente / ejecuciones totales. Objetivo de suites sanas: < 1%.
Grafo de conocimiento
Complementa a