Test-Driven Development

test-driven_development

Hace algún tiempo, os hablaba de la importancia de usar Unit Testing en nuestros desarrollos para tender localizados los posibles errores en cada una de nuestras funciones y, de ese modo, hacer un cambio en cualquier función no nos será crítico, ya que el test nos informará si la función está devolviendo los resultados esperados para cada cualquier.

Pero ¿y si al desarrollar el test me he dejado algún punto por comprobar? A menudo, tener una covertura del 100% resulta complicado debido al error humano, pero una vez detectado un error, debemos solventarlo y modificar el test para que no vuelva a darse ese error, y yendo un poco más allá, ¿por qué no pensar en los posibles errores que puede tener la función que desarrollemos antes de programarla? y ya que los hemos pensado, ¿por qué no realizar el test aunque todavía no hayamos desarrollado la función en questión? Pues precisamente, esa es la idea del Test-Driven Development (TDD a partir de ahora).

En resumen, podemos decir que el TDD es una práctica a la hora de programar que implica el desarrollo del test unitario antes de haber picado una sola línea del código de la función a testear… Pero, ¿qué ventajas tiene? ¿cuál es el workflow de esta práctica? Continue reading

PHPUnit – Tests Unitarios en PHP

PHPUnit LogoEl otro día os hablaba de la importancia de usar test unitarios. Hoy os dejo un pequeño documento sobre PHPUnit, un framework para PHP que nos permite crear y ejecutar juegos de tests unitarios de manera sencilla, además de analizar por nosotros los resultados de los mismos.

Aunque inicialmente PHP empezó como complemento dinámico para pequeñas páginas web, actualmente PHP se utiliza para desarrollar aplicaciones web complejas, por lo que es importante poder realizar las pruebas pertinentes a nuestro código. Continue reading

Unit Test: La importancia de usar tests unitarios

Bug Un test unitario (Unit Test) es un trozo de código desarrollado con el único objetivo de verificar que una rutina o función de nuestro código está funcionando según esperamos.

En definitiva, lo que Unit Test pretende es tener trozos de código que se encargarán de testear por separado y de forma independiente cada uno de los métodos de las distintas clases que compongan el programa desarrollado, para que cuando se haga alguna modificación en el código, posibles errores derivados de esa modifiación puedan ser identificados y corregidos de manera rápida y eficaz.

La idea general que se destila de los tests unitarios es que si todas las partes de un código funcionan por separado, lo más probable es que el global que componen también funcione. Obviamente, siempre será necesario realizar un testeo general (o pruebas de integración) de la aplicación para comprobar que el todo que hemos compuesto funciona correctamente.
Continue reading