Saltar al contenido
SDETRole
SDETRole

Glosario · Fundamentos de testing

Shift-left testing

También llamado: shift left, shift-left, shift left testing, desplazamiento a la izquierda

Definición

Adelantar las pruebas y las actividades de calidad en el ciclo de entrega, para prevenir los defectos o detectarlos cuando son más baratos de corregir.

El shift-left testing significa hacer el trabajo de calidad antes: a la izquierda de una línea temporal que va de los requisitos a la release. En lugar de una fase de pruebas una vez terminado el desarrollo, testers y desarrolladores revisan los requisitos, acuerdan los criterios de aceptación, escriben tests automatizados junto con el código y los ejecutan en cada commit. Un defecto encontrado en una revisión de requisitos cuesta una conversación; el mismo defecto encontrado en producción cuesta un incidente.

Cómo se ve en la práctica

  • Refinamiento. Un tester pregunta “¿qué pasa si el cupón ha caducado?” antes de que exista código, y la respuesta se convierte en un criterio de aceptación.
  • Diseño. La testabilidad se discute desde el principio: test IDs estables, endpoints de API para sembrar datos, feature flags.
  • Desarrollo. Los tests unitarios y de API se escriben con la funcionalidad, no semanas después. El análisis estático y el linting se ejecutan en el editor y en los pull requests.
  • CI. Cada pull request ejecuta las suites rápidas y un fallo bloquea el merge.

Shift left frente a shift right

El shift-right testing es la idea complementaria: aprender de producción mediante monitorización, canary releases, feature flags, comprobaciones sintéticas y experimentos A/B. Algunos fallos, como los patrones de tráfico reales o las caídas de terceros, solo aparecen en producción. Los equipos maduros hacen ambas cosas. Desplazarse a la izquierda no es motivo para dejar de observar lo que ocurre tras la release.

Errores comunes

  • Cambiar el nombre sin cambiar nada. Si los testers siguen recibiendo un build terminado y una fecha límite, nada se ha desplazado. La prueba de fuego es si las conversaciones sobre calidad ocurren antes de escribir el código.
  • Hacer que los desarrolladores prueben todo en solitario. El shift-left reparte las pruebas en todo el equipo; no elimina la necesidad de habilidades de testing. Los testers suelen pasar a ejercer de coaches, diseñar pruebas y construir herramientas.
  • Desplazar solo la automatización. Ejecutar antes los tests de UI ayuda, pero las mayores ganancias suelen venir de aclarar los requisitos y bajar las comprobaciones al nivel unitario y de API.

Escribe para buscar en todo SDETRole.

Búsqueda de texto completo con Pagefind · se ejecuta en tu navegador Abrir la página de búsqueda →