Test-Driven Development(TDD)twitter: @trukuxzo
Test-Driven Development(TDD)• Una metodología en la que primero se hace un test y luego el  código necesario para que el t...
TDD = Test-First Development + Refactoring                                             (Re)Escribir un                    ...
El lema del TDD “Rojo, Verde, Refactor"         Crear una prueba y hacer que falle    Escribir el mínimo código para hacer...
Características• Una ventaja de esta forma de programación es el evitar escribir  código innecesario ("You Aint Gonna Need...
Ventajas•   Cuando se utiliza el TDD en un proyecto virgen se encuentra que en raras    ocasiones se tiene la necesidad de...
LimitacionesResulta complejo en los siguientes dominios:  – Interfaces Gráfica de usuario (GUIs), aunque hay    soluciones...
ConclusiónTest-Driven Development(TDD) es una técnicaavanzada que utiliza las pruebas unitarias paraimpulsar el diseño de ...
Fin
Próxima SlideShare
Cargando en…5
×

TDD (Test-Driven Development)

733 visualizaciones

Publicado el

Test-Driven Development

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
733
En SlideShare
0
De insertados
0
Número de insertados
56
Acciones
Compartido
0
Descargas
14
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

TDD (Test-Driven Development)

  1. 1. Test-Driven Development(TDD)twitter: @trukuxzo
  2. 2. Test-Driven Development(TDD)• Una metodología en la que primero se hace un test y luego el código necesario para que el test pase.• Para escribir las pruebas generalmente se utilizan las pruebas unitarias.• En primer lugar 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.• La idea es que los requisitos sean traducidos a pruebas, de este modo, cuando las pruebas pasen se garantizará que los requisitos se hayan implementado correctamente.
  3. 3. TDD = Test-First Development + Refactoring (Re)Escribir un testTDD involucra otras dosprácticas: [Pasa] Verificar si el• Test-First Development(TFD) test falla y [Falla]• Refactoring. Realizar los cambios [Pasa, continúa [Falla] Ejecutar los desarrollo] tests [Pasa, finaliza desarrollo]
  4. 4. El lema del TDD “Rojo, Verde, Refactor" Crear una prueba y hacer que falle Escribir el mínimo código para hacer pasar la prueba. Cambiar el código para eliminar la duplicación y para mejorar el diseño al tiempo que se garantice que todas las pruebas anteriores pasen el test.
  5. 5. Características• Una ventaja de esta forma de programación es el evitar escribir código innecesario ("You Aint Gonna Need It" (YAGNI)).• Se intenta escribir el mínimo código posible, y si el código pasa una prueba aunque sepamos que es incorrecto nos da una idea de que tenemos que modificar nuestra lista de requerimientos agregando uno nuevo.• La generación de pruebas para cada funcionalidad hace que el programador confíe en el código escrito.• Otra característica del TDD es que requiere que el programador primero haga fallar los casos de prueba. La idea es asegurarse de que los casos de prueba realmente funcionen y puedan recoger un error.
  6. 6. Ventajas• Cuando se utiliza el TDD en un proyecto virgen se encuentra que en raras ocasiones se tiene la necesidad de utilizar el depurador o debugger.• El desarrollo con TDD puede proporcionar un gran valor añadido en la creación de software, produciendo aplicaciones de más calidad y en menos tiempo.• El poder del TDD radica en la capacidad de avanzar en pequeños pasos cuando se necesita.• Inicialmente no se consideran los casos excepcionales y el manejo de errores. Estos, se implementan después de que se haya alcanzado la funcionalidad principal.• Otra ventaja es que, cuando es utilizada correctamente, se asegura de que todo el código escrito está cubierto por una prueba.
  7. 7. LimitacionesResulta complejo en los siguientes dominios: – Interfaces Gráfica de usuario (GUIs), aunque hay soluciones parciales propuestas. – Objetos distribuidos, aunque los objetos simulados (MockObjects) pueden ayudar. – Bases de datos. Hacer pruebas de código que trabaja con base de datos es complejo porque requiere poner en la base de datos unos datos conocidos antes de hacer las pruebas y verificar que el contenido de la base de datos es el esperado después de la prueba.
  8. 8. ConclusiónTest-Driven Development(TDD) es una técnicaavanzada que utiliza las pruebas unitarias paraimpulsar el diseño de software.El propósito del Test-Driven Development(TDD) eslograr un código limpio que funcione.
  9. 9. Fin

×