![Page 2: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)](https://reader034.vdocuments.co/reader034/viewer/2022052508/559707cc1a28aba72f8b463b/html5/thumbnails/2.jpg)
¿Quién soy yo?
![Page 3: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)](https://reader034.vdocuments.co/reader034/viewer/2022052508/559707cc1a28aba72f8b463b/html5/thumbnails/3.jpg)
Índice
![Page 4: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)](https://reader034.vdocuments.co/reader034/viewer/2022052508/559707cc1a28aba72f8b463b/html5/thumbnails/4.jpg)
• Sin pruebas
• No veía fácilmente el diseño
• Fallaba por sorpresa sin saber por qué
• Cambiaba por cambiar.
• Apechugar con las malas decisiones.
• No avanzaba.
• Presionado por fecha límite.
• Me sentía mal.
• Un cuadro típico de necesito TDD.
¿Por qué TDD?
![Page 5: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)](https://reader034.vdocuments.co/reader034/viewer/2022052508/559707cc1a28aba72f8b463b/html5/thumbnails/5.jpg)
¿Qué es TDD?
![Page 6: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)](https://reader034.vdocuments.co/reader034/viewer/2022052508/559707cc1a28aba72f8b463b/html5/thumbnails/6.jpg)
¿Qué es TDD?
![Page 7: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)](https://reader034.vdocuments.co/reader034/viewer/2022052508/559707cc1a28aba72f8b463b/html5/thumbnails/7.jpg)
¿Qué es TDD?
1. You are not allowed to write any production code unless it is to make a failing unit test pass.
2. You are not allowed to write any more of a unit test than is sufficient to fail; and compilation failures are failures.
3. You are not allowed to write any more production code than is sufficient to pass the one failing unit test.
![Page 8: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)](https://reader034.vdocuments.co/reader034/viewer/2022052508/559707cc1a28aba72f8b463b/html5/thumbnails/8.jpg)
TDD no es probar
Desarrollador TDD Tester
Escribo una prueba con un observador Vale
Escribo una prueba con dos observadores Es lo mismo !!!!
![Page 9: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)](https://reader034.vdocuments.co/reader034/viewer/2022052508/559707cc1a28aba72f8b463b/html5/thumbnails/9.jpg)
Puntos clave de TDD
• Pruebas sencillas
• ¿Por dónde empezamos?
• Babysteps
• De abajo a arriba.
• Usa papel y lápiz.
• Prepara tu código para el cambio.
• Pruebas son código de primera.
![Page 10: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)](https://reader034.vdocuments.co/reader034/viewer/2022052508/559707cc1a28aba72f8b463b/html5/thumbnails/10.jpg)
Pruebas Sencillas
Don't let yourself get attached to anything you are not willing to walk out on in 30 seconds flat if you
feel the heat around the corner.
![Page 11: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)](https://reader034.vdocuments.co/reader034/viewer/2022052508/559707cc1a28aba72f8b463b/html5/thumbnails/11.jpg)
Prueba son código de primera
![Page 12: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)](https://reader034.vdocuments.co/reader034/viewer/2022052508/559707cc1a28aba72f8b463b/html5/thumbnails/12.jpg)
Prueba son código de primera
![Page 13: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)](https://reader034.vdocuments.co/reader034/viewer/2022052508/559707cc1a28aba72f8b463b/html5/thumbnails/13.jpg)
Babysteps
![Page 14: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)](https://reader034.vdocuments.co/reader034/viewer/2022052508/559707cc1a28aba72f8b463b/html5/thumbnails/14.jpg)
Empieza por el ejemplo más sencillo
![Page 15: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)](https://reader034.vdocuments.co/reader034/viewer/2022052508/559707cc1a28aba72f8b463b/html5/thumbnails/15.jpg)
Empieza por el ejemplo más sencillo
Librería de fracciones
![Page 16: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)](https://reader034.vdocuments.co/reader034/viewer/2022052508/559707cc1a28aba72f8b463b/html5/thumbnails/16.jpg)
Prepárate para el cambio
![Page 17: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)](https://reader034.vdocuments.co/reader034/viewer/2022052508/559707cc1a28aba72f8b463b/html5/thumbnails/17.jpg)
Prepárate para el cambio
![Page 18: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)](https://reader034.vdocuments.co/reader034/viewer/2022052508/559707cc1a28aba72f8b463b/html5/thumbnails/18.jpg)
Usa siempre lápiz y papel
![Page 19: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)](https://reader034.vdocuments.co/reader034/viewer/2022052508/559707cc1a28aba72f8b463b/html5/thumbnails/19.jpg)
Buenas prácticas en TDD
Diario de diseño.
![Page 20: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)](https://reader034.vdocuments.co/reader034/viewer/2022052508/559707cc1a28aba72f8b463b/html5/thumbnails/20.jpg)
De abajo a arriba
![Page 21: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)](https://reader034.vdocuments.co/reader034/viewer/2022052508/559707cc1a28aba72f8b463b/html5/thumbnails/21.jpg)
De abajo a arriba
Do the double
![Page 22: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)](https://reader034.vdocuments.co/reader034/viewer/2022052508/559707cc1a28aba72f8b463b/html5/thumbnails/22.jpg)
TDD desde las trincheras
![Page 23: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)](https://reader034.vdocuments.co/reader034/viewer/2022052508/559707cc1a28aba72f8b463b/html5/thumbnails/23.jpg)
TDD en las trincheras
Every unit test you write is not production code solving someone's problem.
![Page 24: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)](https://reader034.vdocuments.co/reader034/viewer/2022052508/559707cc1a28aba72f8b463b/html5/thumbnails/24.jpg)
Trincheras. Bases de Datos
![Page 25: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)](https://reader034.vdocuments.co/reader034/viewer/2022052508/559707cc1a28aba72f8b463b/html5/thumbnails/25.jpg)
Trincheras. Bases de Datos
Código de negocio
Código de acceso a la
BBDDBBDD
Dobles de prueba Análisis de SQL
BBDD en memoria
![Page 26: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)](https://reader034.vdocuments.co/reader034/viewer/2022052508/559707cc1a28aba72f8b463b/html5/thumbnails/26.jpg)
Trincheras. Desarrollo para Android
![Page 27: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)](https://reader034.vdocuments.co/reader034/viewer/2022052508/559707cc1a28aba72f8b463b/html5/thumbnails/27.jpg)
Trincheras. Videojuegos.
NO
![Page 28: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)](https://reader034.vdocuments.co/reader034/viewer/2022052508/559707cc1a28aba72f8b463b/html5/thumbnails/28.jpg)
Conclusiones
Pruébalo y elige
![Page 29: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)](https://reader034.vdocuments.co/reader034/viewer/2022052508/559707cc1a28aba72f8b463b/html5/thumbnails/29.jpg)
Conclusiones
• Falsa sensación de velocidad.
• Falsa sensación de seguridad.
• No tener claro qué probar
• Set-up complejo.
• Módulos “Dios”
TDD requiere disciplina
![Page 30: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)](https://reader034.vdocuments.co/reader034/viewer/2022052508/559707cc1a28aba72f8b463b/html5/thumbnails/30.jpg)
Extra
10.000 líneas de código C#... Comprobado…. 124 assemblies .NET generados…. Comprobado…. 52 scripts de construcción… comprobado
Ahora que mis pruebas unitarias están escritas puedo empezar a construir mis componentes.
![Page 31: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)](https://reader034.vdocuments.co/reader034/viewer/2022052508/559707cc1a28aba72f8b463b/html5/thumbnails/31.jpg)
31
Extra
![Page 32: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)](https://reader034.vdocuments.co/reader034/viewer/2022052508/559707cc1a28aba72f8b463b/html5/thumbnails/32.jpg)
Onikami
Agradecimientos
![Page 33: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)](https://reader034.vdocuments.co/reader034/viewer/2022052508/559707cc1a28aba72f8b463b/html5/thumbnails/33.jpg)
33
Enlaces
• Blog: http://iwt2-javierj.tumblr.com/
• Libro: http://www.iwt2.org/web/opencms/IWT2/comunidad/LibroTDD/?locale=es
• GameUS: http://www.gameus.es/
• IWT2 DojoUS: http://www.iwt2.org/web/opencms/IWT2/comunidad/dojous/?locale=es
• Twitter: @IWT2_Javier/ @GameUsSev / @TDDPractico
Fin