Diferencia entre revisiones de «Test Driven Development»

De Dos Ideas.
Saltar a: navegación, buscar
(Ver también)
Línea 24: Línea 24:
  
 
===Ver también===
 
===Ver también===
* [[Testing de Aplicaciones]]
+
* [[Testing De Aplicaciones]]
* [[Metodologias de Desarrollo]]
+
* [[Metodologias De Desarrollo]]
  
 
===Más información===
 
===Más información===

Revisión del 00:08 24 jul 2008

Desarrollo guiado por pruebas, o Test Driven development (TDD) es una práctica de programación que involucra otras dos prácticas: Escribir las pruebas primero (Test First Development) y Refactorización (Refactoring). Para escribir las pruebas generalmente se utiliza la Prueba Unitaria (unit test en inglés).

Primeramente se escribe una prueba y se verifica que las pruebas fallen, luego se implementa el código que haga que la prueba pase satisfactoriamente y seguidamente se refactoriza el código escrito. El propósito del desarrollo guiado por pruebas es lograr un código limpio que funcione (Del inglés: Clean code that works). La idea es que los requerimientos sean traducidos a pruebas, de este modo, cuando las pruebas pasen se garantizará que los requerimientos se hayan implementado correctamente.

Las 3 reglas de TDD

La práctica de TDD puede resumirse en 3 simples reglas:

  1. No se puede escribir código productivo, a menos que sea para hacer pasar un test fallido.
  2. No se puede escribir más que lo necesario para que falle un test unitario; los errores de compilación se consideran fallos.
  3. No se puede escribir más código productivo del estrictamente necesario para hacer pasar un test.


Ciclo de TDD

  1. Escribir la prueba. Para escribir la prueba, el desarrollador debe entender claramente las especificaciones y los requisitos. El diseño del documento deberá cubrir todos los escenarios de prueba y condición de excepciones.
  2. Escribir el código haciendo que pase la prueba. Este paso fuerza al programador a tomar la perspectiva de un cliente considerando el código a través de sus interfaces. Ésta es la parte conducida por el diseño, del TDD. Como parte de la calibración de la prueba, el código debe fallar la prueba significativamente las primeras veces.
  3. Ejecutar las pruebas automatizadas. Si pasan, el programador puede garantizar que el código resuelve los casos de prueba escritos. Si hay fallos, el código no resolvió los casos de prueba.
  4. Refactorización y limpieza en el código. Después se vuelven a efectuar los casos de prueba y se observan los resultados.
  5. Repetición: Después se repetirá el ciclo y se comenzará a agregar las funcionalidades adicionales o a arreglar cualquier error.

Este ciclo se suele abreviar como __rojo-verde-refactor__ (haciendo referencia a fallar un test, hacerlo pasar, y hacer un refactor).


Ver también

Más información