Ir al contenido
Todos los artículos

Tech

Pruebas de regresión: cómo automatizarlas sin perder un sprint

Por dónde empezar cuando una base de código casi no tiene pruebas: primero los flujos críticos, pruebas rápidas en CI y un método que no frena al equipo.

Una regresión es una funcionalidad que funcionaba y deja de hacerlo tras un cambio. Las pruebas de regresión sirven para detectarla antes que sus clientes. El problema de muchos equipos jóvenes: la base de código ha crecido más rápido que las pruebas, y ponerse al día parece exigir un sprint entero que nadie tiene.

Este es un método para avanzar con entregas pequeñas.

1. Empiece por los flujos que más le costarían

Enumere los cinco flujos cuyo fallo le saldría más caro: registro, inicio de sesión, la acción principal del producto, la exportación de datos y las notificaciones. Una prueba end-to-end por flujo ya protege lo esencial.

2. Fije el comportamiento actual antes de cambiarlo

En código antiguo, escriba primero pruebas de caracterización: describen lo que el código hace hoy, no lo que debería hacer. Después puede modificar el código y saber al instante si algún comportamiento ha cambiado.

3. Mantenga rápida la batería de pruebas

Una batería de pruebas lenta acaba desactivada. Procure que tarde unos pocos minutos en integración continua:

  • pruebas unitarias para la lógica de negocio;
  • algunas pruebas de integración para la base de datos y las llamadas a la API;
  • pocas pruebas end-to-end, reservadas a los flujos críticos.

4. Ejecútela en cada pull request

Una prueba que no se ejecuta automáticamente no protege nada. Conecte la batería a la CI y bloquee la fusión cuando falle.

5. Corrija de inmediato las pruebas inestables

Una prueba que falla al azar (flaky) enseña al equipo a ignorar los fallos. Póngala en cuarentena, corrija la causa (esperas, orden de ejecución, datos compartidos) y vuelva a incluirla en la batería.

¿Qué papel tiene la IA?

La IA es útil para redactar un primer borrador de pruebas a partir del código existente y de los tickets: casos límite, datos de prueba, pruebas de caracterización. No sustituye a la revisión: una prueba errónea que pasa es peor que no tener ninguna. La regla es la misma que para el código escrito por personas: cada prueba llega como pull request y su equipo la revisa antes de fusionarla.

Puntos clave

  • Cinco flujos críticos cubiertos valen más que una cifra de cobertura alta sin valor real.
  • Pruebas rápidas, ejecutadas en cada pull request.
  • Tolerancia cero con las pruebas inestables.

Entregamos pruebas y migraciones como pull requests, que su equipo revisa y fusiona: ver lo que hacemos para equipos tech.