Todos los artículos All articles

Necesitas aprender a hacer pruebas unitarias, y te explico por qué

Las pruebas unitarias no son un lujo: son una obligación si quieres desarrollar más rápido, con más confianza y sin vivir apagando incendios antes de cada deadline.

Las pruebas unitarias no son solo una buena práctica en las metodologías ágiles, sino que son incluso una obligación si quieres desarrollar a una mayor velocidad y con una mayor confianza.

Como explica bien Wikipedia, una prueba unitaria es una forma de comprobar el correcto funcionamiento de una unidad de código. El objetivo es aislar cada parte del programa y mostrar que cada parte es correcta.

Por ejemplo, imagina que desarrollas una aplicación para el control de una pizzería 🍕 (sí, a mí igual me encanta la pizza). En este sistema, tendrías que asegurarte de que es posible comprar una pizza, introducir cada ingrediente, o hasta pagar.

Al hacer pruebas unitarias, no serás tú el que se tiene que asegurar de que esto funcione bien, sino que otro código escrito por ti mismo podrá probar esta aplicación para garantizar que todo funciona, sin importar que tú cambies la funcionalidad por algún motivo.

Tener una prueba unitaria te proporciona muchos beneficios: te permite tener una rápida retroalimentación sobre tu código, una red de seguridad si algo se rompe, y te ayuda a evitar la deuda técnica. Una buena forma de entender cómo funciona una prueba unitaria es la siguiente: “Debería pasar X cuando sucede Y”.

¿Por qué debería invertir tiempo en aprender a hacer pruebas unitarias?

Gestionas mejor los riesgos

La detección de errores antes de enviar tu código a producción es un desafío diario para nosotros como desarrolladores. Las pruebas unitarias ayudan a que el código no rompa el funcionamiento de nuestro sistema, a la vez que nos ayuda controlar las situaciones más inesperadas en la ejecución de nuestro código.

Además, ¿en serio puedes dormir tranquilo sabiendo que esa línea de código podría hacer que el programa deje de funcionar?

Mejoras el trabajo en equipo

Tener buenas pruebas unitarias significa evitar ciertas situaciones, como la existencia de errores que se tendrán que solucionar rápidamente, bajo la presión de los clientes.

Los problemas que se pueden presentar complican la vida de los equipos de desarrollo y pueden tener un impacto directo en la motivación de nosotros como desarrolladores.

Te aseguras de cumplir con los tiempos de entrega

Como desarrollador autónomo te puedo asegurar que uno de mis grandes dolores de cabeza siempre han sido los deadlines, esas malditas fechas límite en que el cliente espera que todo funcione como debería. El sistema debe estar funcionando sin importar cómo, y por alguna razón, es en las últimas semanas de desarrollo cuando todos los errores del sistema empiezan a aparecer.

Las pruebas unitarias te ayudan a reducir un gran número de problemas que se pueden llegar a presentar, porque nunca sabes si un cambio en una implementación hace que el código no funcione correctamente en ciertas circunstancias.