sábado, 14 de junio de 2008

Como hacer TDD

Hace un par de semanas cuando estaba revisando como iban los trabajos prácticos de POO, vi una confusión sobre lo que significa hacer TDD. Muchos grupos habían escritos varios test pero no habían corrido dichos tests. O sea, seguían trabajando de manera clásica C o Java, donde se escribe todo primero y luego se prueba, en vez de trabajar de manera dinámica, a la Smalltalk, donde se escribe y prueba constantemente.
Es interesante ver que cambiar este hábito es uno de los puntos más costosos e interesantes de este curso. Que los alumnos entiendan que la computadora está para "usarla" y no simplemente para escribir texto es muy difícil de lograrlo y es de esas cosas que hasta que no lo hacen no lo entienden.
En fin, hago este comentario para que todos aquellos que hacen TDD, no se olviden que los pasos son:
1) Escribir UN test
2) Hacer que el test funcione
3) Hacer que todos los test corran
4) Hay que mejorar el diseño?
a) Si hay que mejorarlo, hacerlo, refactorizar, etc. Ir a 3.
b) Si el diseño es aceptable, ir a 1

En estos pasos creo que está claro que luego de escribir UN test hay que hacerlo funcionar, no vale escribir varios test y luego hacerlos funcionar a todos juntos.
De vuelta, es importante darse cuenta que haciendo lo último, estamos manteniendo muchas ideas, soluciones, problemas, etc. en nuestra cabeza en vez de descargarlas a la computadora, y recuerden que los seres humanos cuanto más cosas tenemos en la cabeza más nos equivocamos y olvidamos

No hay comentarios.: