Sólo hay que hacer una busqueda en google para encontrar cientos de artículos sobre “Test-Driven Development“. Si nunca has oido hablar de este concepto, el TDD (Test-Driven Development) se define a la técnica por la cual las pruebas se han de escribir siempre antes de que se escriba una sola línea de código.

No debemos olvidar por tanto que este tipo de pruebas son llevadas a cabo por el equipo de desarrollo y no por el equipo de testing. Esta técnica no sustiturá las pruebas funcionales, de rendimiento, o de automatización…sino que complementará a las pruebas realizadas por el departamento de testing. El objetivo principal es obtener código limpio que funcione.


En que consiste el TDD:
1) Primero escribimos las pruebas y las ejecutamos. Por lo tanto todas nuestras pruebas fallarán porque aún no se ha comenzado a codificar.
2) Comenzamos a codificar para pasar esas pruebas que hemos diseñado.
3) Cuando hayamos terminado la implementación todas las pruebas habrán pasado satisfactoriamente.
4) Comienza el “refactoring” del código, con el fin de mejorarlo.

Estos sería a grandes rasgos los pasos principales del TDD. ¿Cuales son sus beneficios?:

  • El código estará siempre asociado a algún prueba (test case).
  • Las pruebas siempre estarán junto al código.
  • Las prueban nos servirán para comentar el código.
  • Nos permite mejorar el codigo mediante el “refactoring”.
  • El código habrá sido probado antes de llegar a los equipos de testing. Lo cual garantiza estabilidad.


Referencias:
- StickyMinds.com, Jeff Patton