irrumpo estruendosamente y por primera vez en la lista para daros las
gracias por las estupendas aportaciones que hacéis todos y que hacen
que los que sabemos poco, vayamos cogiendo el hilo del asunto del
desarrollo ágil.
Yo personalmente estoy empezando en este mundo (en concreto en el
ámbito web) empleando RoR. Desde la comunidad que hay detrás se
promueve exhaustivamente el TDD y yo, como curiosa y hambrienta de
aprender que soy, me he lanzado (algunas directrices recibidas
mediante) a practicarlo en el desarrollo de mi propio proyecto de fin
de carrera. Me encuentro con dificultades, por supuesto, pero la
satisfacción de *creer* que hago las cosas mejor, la sensación de
avance que te produce y lo claramente que te obliga a pensar en la
funcionalidad de tu aplicación, hacen que le esté cogiendo el gusto a
ritmo de vértigo. ¡Y no hago más que testear modelos por el momento!
Ahora que estoy empezando, empiezo a creer firmemente que el TDD es el
camino. Sin embargo me gustaría compartir con vosotros las reflexiones
[1] al respecto de un amigo que sabe bastante del asunto, en concreto
trabajando con RoR. Esto a su vez me da qué pensar: ¿cómo distinguir
cuándo realmente la balanza se inclina a favor del TDD? Me gustaría
leer vuestras experiencias personales al respecto, si es que en algún
momento os habéis visto en semejante brete.
Gracias de antemano por toda vuestra sabiduría depositada aquí para el
disfrute del personal :D
Mari.
[1] http://porras.lacoctelera.net/post/2009/04/30/el-emperador-esta-pelotas
--
http://www.valakirkasasylum.blogspot.com
http://valakirka.lacoctelera.net
http://twitter.com/valakirka
"To err is human. To really screw up requires root password."
Thank you for the message. My earlier book with Erich Gamma, Contributing to Eclipse, talks about how to develop plug-ins test-first. Unfortunately it uses an old version of Eclipse, so the examples no longer work. The philosophy is still valid. I use it on JUnit Max, but because the tests are expensive to write and to run I don't have very many tests at that level.
I don't use a continuous integration environment, except insofar as JUnit Max is CI. Other than that I use the standard PDE tools. I structure my project as two plugins, one with the JUnit tests and the model code and the other with the PDE tests. That way Max doesn't try to run the PDE tests (in future I would like it to run them).
As far as designing Eclipse apps for testability, I twist the design so as much processing happens without Eclipse as possible. At times I have even gone so far as to have my own versions of things like input events, but that didn't payoff.
I wish you success in your development efforts.
The second defect posed a dilemma. I could see how to fix the problem, but I estimated it would take me several hours to learn what was necessary to write an automated test. My solution: fix it and ship it. No test.
Si lo dice el Kent Beck ........
Todos a hackear!!!
Pero vamos a ver!! TDD vs Pruebas Unitarias
Que no es lo mismo!! ni vale pa lo mismo!!
TDD es una tecnica para hacer emerger el diseño, no una tecnica de
Quality Assurance... que como resultado del TDD tienes una bateria de
test? Pues maravilloso no?? pero no es el objetivo.
Yo personalmente nunca puedo hacer codigo si no es TDD , simplemente
ya no se!! Forma parte de mi proceso de pensamiento que tiene como
resultado el codigo.
TDD merece la pena tires el codigo o no. No hay que tener demasiados
escrupulos en cuanto a testearlo todo por que tu objetivo es
evolucionar el diseño.
Yo intento alternar sesiones de avance del diseño donde relajo la
escrupulosidad del test sacrificandolo a que me conduzca mas rapido ,
con sesiones donde voy completando test, validando la solucion..(Es
fascinante como un diseño emergente que sale bien absorve todos los
test que vas completando con un minimo codigo)
Mi consejo: Usa TDD para todo, pero no lo pruebes todo.
Xavier Gost
--
Un saludo
Juan Quijano