Ciclo de test driven development

Introducción a TDD (Test Driven Development)

Test Driven Development es una estrategia de desarrollo de software que utiliza ciclos muy cortos de desarrollo que permiten diseñar el software de manera incremental.
TDD es una metodología muy sencilla que recae en dos conceptos principales: pruebas unitarias y refactoring, en la cual se escriben las pruebas a lo largo del proceso de desarrollo. Los casos de prueba se escriben antes de que el código que, se supone, sirve para satisfacerlas.
TDD es una de las prácticas centrales de Programación Extrema (XP), formuladas por Kent Beck y Ron Jeffries, en base a su experiencia desarrollando un sistema de nóminas de sueldos para Chrysler.
Las ideas principales tras XP son hacer el proceso de desarrollo más sencillo y tener ciclos de desarrollo cortos y continuos que permitan retroalimentación constante acerca del estado del software.

Ciclo de TDD

Ciclo de Test Driven Development
  • Prueba que Falla (Rojo): Antes de escribir cualquier código nuevo para el sistema, se debe escribir primero una prueba que falle, que muestre la intención de lo que gustaría que el código hiciera. Aquí se está pensando críticamente acerca del diseño.
  • Código que haga pasar la prueba (Verde): Ahora hay que hacer lo que sea necesario para hacer que la prueba se pase. Si se puede hacer la implementación completa, agregue código nuevo. Si no, sólo haga lo suficiente para hacer que la prueba pase.
  • Refactor: Limpiar el código o corregir malas prácticas que se hayan cometido mientras se trataba de hacer pasar la prueba. En esta etapa se remueven códigos duplicados y se asegura que todo sea tan limpio y significativo como sea posible.

Beneficios TDD

Esta técnica representa para ti, programador la oportunidad de generar código de calidad, al estar de antemano probada la efectividad del mismo a través de las pruebas unitarias y la seguridad de avanzar dentro de un entorno seguro paso-a-paso.
Pero el beneficio que TDD aporta no es únicamente para el programador, así mismo tú, líder de proyecto, 0 ustedes, clientes del proyecto e interesados en el mismo, se ven beneficiados, ya que, la suite de pruebas unitarias aporta un check list al momento de hacer las revisiones y seguimiento del proyecto, además de brindar la capacidad de realizar cambios, aun en etapas tardías del proyecto, ya que esta actúa como una red de contención y medida de autodefensa contra bugs . Por otra parte, en el hipotético caso de la partida de un miembro del equipo de programadores, la suite de pruebas unitarias te servirá como documentación y red de seguridad para que el nuevo miembro que se integre al equipo.

Comments

comments

Leave a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *