Test Driven Development
(Desarrollo Guiado por Pruebas)
Involucra dos normas: Test First
Development (Escribir las Pruebas
Primero) y Refactoring (Refactorización).
Como propósito principal es el
lograr un código limpio que
funcione.
El sistema que se programa
tiene que ser lo suficientemente
flexible como para permitir que
sea probado automáticamente.
Ciclo de desarrollo de pruebas: Elegir un requisito,
Escribir una prueba, Verificar que la prueba falla,
Escribir la implemetnación, Ejecutar las pruebas
Automatizadas, Eliminación de duplicación,
Actualización de la lista de requisitos.
Evitar Código Innecesario,
("You Ain't Gonna Need It"
(YAGNI)).
Hace que el programador
confíe en el código escrito.
Requiere que el programador
primero haga fallar los casos de
prueba.
En raras ocasiones tienen la
necesidad de utilizar el
depurador o debugger.
Proporciona un gran valor
añadido en la creación de
software.
Su poder radica en la
capacidad de avanzar en pequeños
pasos cuando se necesita.
Resulta complejo para
dominios como: GUI's, Objetos
Distribuidos y Bases de Datos.