Saltar al contenido
Underc0de /foro

Tu suite E2E tiene tests que a veces pasan y a veces fallan sin cambios en el código. ¿Cómo lo abordás?

$ interview --rol qa

Evalúa cómo el candidato diagnostica y mitiga tests flaky: causas típicas, esperas, aislamiento de datos, cuarentena y métricas, sin esconder el problema con reintentos.

Respuesta

Primero confirmo y mido: corro el test muchas veces (en local y en CI) y reviso el historial para calcular su tasa de fallo. Junto evidencia: trazas, screenshots, video, logs del backend y el orden de ejecución.

Causas típicas y cómo las ataco

  • Esperas fijas o condiciones de carrera: reemplazo los sleep por esperas sobre condiciones observables.
  • Dependencia entre tests o datos compartidos: cada test crea sus propios datos (por API o seed) con identificadores únicos y los limpia al final. Corro la suite en orden aleatorio para detectar acoplamientos.
  • Selectores frágiles: uso data-testid o roles accesibles en vez de XPath largos.
  • Entorno inestable: servicios externos lentos. Uso mocks o stubs donde no aportan valor E2E y reviso recursos del runner.
  • Tiempo y zona horaria: fijo el reloj o la zona horaria en los tests que dependen de fechas.

Ejemplo con Playwright:
Código: javascript
// Mal: espera fija
await page.waitForTimeout(3000);
// Bien: espera a una condición real
await expect(page.getByRole('status')).toHaveText('Pedido confirmado');

Gestión: si no se puede arreglar enseguida, pongo el test en cuarentena (etiquetado y fuera del gate de merge, pero ejecutándose igual), con un ticket y un responsable. Los reintentos automáticos sirven como paliativo temporal, pero solo si se registran: un test que pasa al segundo intento sigue siendo flaky. También reviso si el flaky esconde un bug real de concurrencia en la aplicación.

Errores comunes

Proponer solo subir los timeouts o activar reintentos y dar el tema por cerrado. Tampoco hay que borrar el test sin analizarlo ni asumir que siempre es culpa del test y nunca un bug real de la app.

Redactado con el asistente Underc0de IA. Actualizado el 09/11/2026. ¿Ves un error? Contanos en el foro.

Grupo de WhatsApp