Del 5% al 96% de cobertura de pruebas en un día — Gracias a AI CoPilot

Cuando comencé este proyecto y aún era una base de código pequeña, sabía que las pruebas unitarias serían importantes, pero como muchos desarrolladores, lo dejé de lado después de construir la primera suite de pruebas a favor de construir la funcionalidad principal.

16 May 2025

5

min de lectura

Innovación IA

Adrian Sweeney

Cuando comencé este proyecto y aún era una base de código pequeña, sabía que las pruebas unitarias serían importantes, pero como muchos desarrolladores, las dejé de lado después de construir el primer conjunto de pruebas para favorecer la construcción de la funcionalidad principal. Mi objetivo principal al principio era hacer funcionar la lógica del middleware — la pieza central de la aplicación — y dar vida al Producto Mínimo Viable (MVP). Eso significaba omitir una buena parte de la cobertura de pruebas en nombre del progreso.

Una vez que el MVP funcionaba, volví mi atención a las pruebas. Mirando el proyecto, estimé al menos una semana o dos escribiendo pruebas, dependiendo de la complejidad de cada componente. Algunas serían sencillas. Otras — especialmente donde estuvieran involucrados casos límite o lógica de ramificación intrincada — serían mucho más consumidoras de tiempo.

En ese punto, recurrí a la IA. Había estado usando un "CoPilot" para ayudar a escribir código, y pensé que también podría ayudar con las pruebas.

Pasos en falso tempranos con IA

Al principio, le pedí a la IA que "escribiera pruebas unitarias" sin contexto real o restricciones. ¿El resultado? Un desastre. Las pruebas no funcionaban, hacían suposiciones incorrectas sobre el código, y todo el esfuerzo se convirtió en un bucle de código de pruebas roto y reescrituras frustrantes. La IA generó mucho código — pero no del tipo que pudiera usar sin refactorización seria.

Dando dirección a la IA

El avance llegó cuando cambié mi enfoque. En lugar de tratar a la IA como un mago, comencé a usarla más como un desarrollador junior. Le daba un archivo a la vez, explicaba la intención del código, y le decía que se enfocara en escribir pruebas precisas y funcionales solo para ese archivo.

Eso cambió todo.

De repente, las pruebas eran más fáciles de implementar para la IA. Estaban correctamente delimitadas, alineadas con la lógica real, y no requerían horas de depuración. Mi IA trabajó archivo por archivo, escribiendo y ejecutando pruebas.

Los resultados

En menos de un día, la cobertura de pruebas saltó del 5% a más del 96%.

  • Declaraciones: 96,72%
  • Ramas: 95,67%
  • Funciones: 92,1%
  • Líneas: 96,87%

Pruebas que habrían tomado días escribir se completaron en horas, y la tranquilidad que viene con una cobertura de pruebas casi completa? Invaluable.

Pasé de una Suite de Pruebas y 5 pruebas a:

  • 20 Suites de Pruebas
  • 136 Pruebas aprobadas

Lo que aprendí

  • La IA no es mágica — pero es un asistente increíble. Dale contexto, guíala, y obtendrás excelentes resultados.
  • El enfoque importa. Pedirle a la IA que "pruebe todo" lleva al caos. Pedirle que pruebe este archivo, esta función, este caso — eso funciona.
  • Espera depurar — pero mucho menos que escribir desde cero. La IA a veces comete errores, pero el proceso general es mucho más rápido que ir en solitario.

Ya sea que estés iniciando un nuevo proyecto o tratando de rellenar pruebas en uno más antiguo, la IA puede ser un gran ahorrador de tiempo — si la usas bien.

¿Estás usando IA para escribir pruebas en tus proyectos? ¿Cuál ha sido tu experiencia?

PrimeCRM

Volver al Centro de Conocimiento