Introducción

Desarrollo guiado por pruebas de software, o Test-driven development (TDD), Esta práctica de ingeniería de software se basa en escribir primero las pruebas (tests). Al escribir las pruebas primero estas van a fallar ya que todavía la funcionalidad no ha sido implementada. Una vez la primera ejecución es fallida el código fuente se implementa y se re factoriza hasta que el código pasa el test satisfactoriamente.

Ventajas y Desventajas

La principal característica de esta práctica es que asegura que el programador solo escribe el código necesario además de proporcionar seguridad al programador que la funcionalidad actúa como está previsto. Este método no solo tiene ventajas sino que también tiene algunas desventajas como podría ser la necesidad del software de poder realizar pruebas automatizadas sobre él además de la necesidad de tener muy claro la funcionalidad la cual se va a implementar.

Ciclo de desarrollo conducido por pruebas

El proceso de diseño de software, usando TDD, sería el siguiente:

  1. El cliente junto al equipo técnico definen la funcionalidad y los criterios de aceptación
  2. El Programador escribe la prueba para comprobar la funcionalidad que va a ser introducida
  3. Esta prueba se ejecuta, la funcionalidad al no estar desarrollada todavía esta ejecución va a fallar.
  4. El programador implementa la funcionalidad
  5. El test se vuelve a ejecutar, si este falla el programador cambia el código hasta que el código pase la prueba de lo contrario la funcionalidad se podría dar como completada.
  6. El último paso es el de re factorizar para intentar optimizar el código lo más posible.