Qué es esta página

Una suite de pruebas es un detector de defectos. Como todo detector, puede equivocarse en dos direcciones, y las dos hacen el mismo daño de fondo por caminos opuestos: el equipo deja de creerle a la señal.

Esta página nombra las dos, explica por qué ocurren, y presenta el único instrumento que detecta la más peligrosa de las dos.

Es contenido pre-agentic en su mayoría. Lo que cambió con la IA no es el fenómeno: es que producir una suite que miente se volvió muchísimo más barato.


Las dos direcciones del error

El test es un detector de defectos. Positivo significa "detecté un defecto".

Falso positivo Falso negativo
Qué dice el test Rojo, hay un problema Verde, no hay problema
Qué pasa en realidad No hay defecto Sí hay defecto
Nombre común Flakiness, test intermitente El verde falso
Qué aprende el equipo A ignorar el rojo A confiar en un verde que no vale
Cuándo se paga Ahora, en atención desperdiciada Después, como bug o incidente

Advertencia de vocabulario. "Falso negativo" es un término que la gente invierte todo el tiempo en conversación, porque en el habla suelta "positivo" se entiende como "pasó". Con un equipo mixto conviene definirlo la primera vez que aparece y no darlo por sabido.


Falso positivo: el rojo que no informa nada

Un falso positivo es el test fallando por una razón que no tiene nada que ver con el código que dice estar probando.

Dos ejemplos

Espera fija. Un test de login hace clic en Entrar, espera 2 segundos, y verifica que aparezca el nombre del usuario. Un martes cualquiera el servidor está cargado y el nombre aparece a los 2,3 segundos. El test falla. El login funciona. Lo que falló fue el supuesto del test sobre cuánto se demora el mundo.

Orden no garantizado. Un test verifica que la lista de productos venga en el orden A, B, C. La consulta no tiene un ORDER BY, así que el motor devuelve las filas en el orden que le conviene. El test falla la mitad de las veces. Los tres productos están, todos correctos.

Los datos, que son peores de lo que se cree

Google publicó que el 84% de las transiciones de verde a rojo que observan involucran un test intermitente, no un bug. La mayoría de las alarmas rojas son ruido.

Y la flakiness escala con el tamaño del test, no con la herramienta:

Factor Correlación con flakiness
Tamaño del binario r² = 0,82
Uso de RAM r² = 0,76
Elección de herramienta Explica solo 4 a 5% de la variación

Y por tamaño de test: small 0,5%, medium 1,6%, large 14%.