SlideShare una empresa de Scribd logo
Las claves del
Desarrollo Dirigido por
Pruebas (o TDD)

javierj@us.es /
@IWT2_Javier
¿Quién soy yo?
Índice
¿Por qué TDD?
• 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.
¿Qué es TDD?
¿Qué es TDD?
¿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.
TDD no es probar

Desarrollador TDD

Tester

Escribo una prueba con un observador

Vale

Escribo una prueba con dos observadores

Es lo mismo !!!!
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.
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.
Prueba son código de primera
Prueba son código de primera
Babysteps
Empieza por el ejemplo más sencillo
Empieza por el ejemplo más sencillo
Librería de fracciones
Prepárate para el cambio
Prepárate para el cambio
Usa siempre lápiz y papel
Buenas prácticas en TDD
Diario de diseño.
De abajo a arriba
De abajo a arriba

Do the double
TDD desde las trincheras
TDD en las trincheras

Every unit test you write is not production code
solving someone's problem.
Trincheras. Bases de Datos
Trincheras. Bases de Datos

Código de
negocio

Dobles de
prueba

Código de
acceso a la
BBDD

BBDD

Análisis de SQL

BBDD en
memoria
Trincheras. Desarrollo para Android
Trincheras. Videojuegos.

NO
Conclusiones

Pruébalo y elige
Conclusiones
TDD requiere disciplina

• Falsa sensación de
velocidad.
• Falsa sensación de
seguridad.
• No tener claro qué probar
• Set-up complejo.
• Módulos “Dios”
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.
Extra

31
Agradecimientos

Onikami
Enlaces
• Blog: http://iwt2-javierj.tumblr.com/
• Libro:
http://www.iwt2.org/web/opencms/IWT2/comunid
ad/LibroTDD/?locale=es
• GameUS: http://www.gameus.es/
• IWT2 DojoUS:
http://www.iwt2.org/web/opencms/IWT2/comunid
ad/dojous/?locale=es
• Twitter: @IWT2_Javier/ @GameUsSev /
@TDDPractico

Fin
33

Más contenido relacionado

PPTX
Cómo aplicar TDD. Almería 13/05/2014
PPTX
Codemotion 2013 - Desarrollo de videojuegos dirigido por pruebas
PPTX
TDD Course (Spanish)
PPTX
GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos
PDF
[ES] webcat 2014-03 Demystifying Development Techniques
PDF
TDD 101 - Introducción al Desarrollo Dirigido por Pruebas
PPTX
TDD y Python
PPTX
Mitos del testing exploratorio
Cómo aplicar TDD. Almería 13/05/2014
Codemotion 2013 - Desarrollo de videojuegos dirigido por pruebas
TDD Course (Spanish)
GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos
[ES] webcat 2014-03 Demystifying Development Techniques
TDD 101 - Introducción al Desarrollo Dirigido por Pruebas
TDD y Python
Mitos del testing exploratorio

La actualidad más candente (20)

PDF
Testing, tipos y otros flamewars
PDF
Enrique Sánchez. Cómo ser un agile tester (y no morir intentándolo)
PDF
ATDD - Desarrollo Dirigido por Test de Aceptación
PDF
BDD y tests automatizados
PDF
BDD para la mejora de la calidad software
PPTX
Desarrollo Dirigido por Comportamiento (con Cucumber y Groovy)
PDF
Introducción a TDD
PPTX
BDD - Desarrollo dirigido por comportamiento
PPTX
PDF
Más allá del testing
PPTX
TDD y Python
PDF
Td dvs bdd
ODP
Tdd desde las_trincheras
PPTX
ODP
Introducción a Behaviour Driven Development
PPTX
Behavior Driven Development (BDD)
PPT
Tecnicas ninja
PDF
Don't Feed The Zombies!
PDF
Aprender a programar cuando sabes programar
Testing, tipos y otros flamewars
Enrique Sánchez. Cómo ser un agile tester (y no morir intentándolo)
ATDD - Desarrollo Dirigido por Test de Aceptación
BDD y tests automatizados
BDD para la mejora de la calidad software
Desarrollo Dirigido por Comportamiento (con Cucumber y Groovy)
Introducción a TDD
BDD - Desarrollo dirigido por comportamiento
Más allá del testing
TDD y Python
Td dvs bdd
Tdd desde las_trincheras
Introducción a Behaviour Driven Development
Behavior Driven Development (BDD)
Tecnicas ninja
Don't Feed The Zombies!
Aprender a programar cuando sabes programar
Publicidad

Similar a Las Claves del Desarrollo Dirigido por Pruebas (o TDD) (20)

ODP
Cómo hacer Test Driven Development
PPTX
Conferencia Agile Spain 2.013 - Programando Juegos Casuales con Desarrollo Di...
PDF
"Demystifying development techniques" por @eturino
PDF
Introducción a tdd
PDF
BDD & Cucumber
PPTX
Artalde Tdd intro
PPT
Como hacer tdd y no morir en el intento
PDF
Kata tdd
PDF
Kata tdd
PPT
Joseluisseijoreig samuelsánchezmuñoz
PDF
Creando rascacielos con tdd
PPTX
Artesania de Software y TDD
PDF
Apuntes #XPweek
PDF
Clean code 9
PDF
Betabeers Barcelona - Buenas prácticas
PDF
Artesanía de software y desarrollo dirigido por pruebas (tdd)
PPTX
Tdd desde las trincheras
ODP
TDD Code Retreat
PDF
¿Te Sientes Orgulloso Del CóDigo Que Escribes?
PDF
Si no testeo no me lo creo
Cómo hacer Test Driven Development
Conferencia Agile Spain 2.013 - Programando Juegos Casuales con Desarrollo Di...
"Demystifying development techniques" por @eturino
Introducción a tdd
BDD & Cucumber
Artalde Tdd intro
Como hacer tdd y no morir en el intento
Kata tdd
Kata tdd
Joseluisseijoreig samuelsánchezmuñoz
Creando rascacielos con tdd
Artesania de Software y TDD
Apuntes #XPweek
Clean code 9
Betabeers Barcelona - Buenas prácticas
Artesanía de software y desarrollo dirigido por pruebas (tdd)
Tdd desde las trincheras
TDD Code Retreat
¿Te Sientes Orgulloso Del CóDigo Que Escribes?
Si no testeo no me lo creo
Publicidad

Más de Javier_J (12)

PPTX
Videojuegos en Javascript con TDD y Jasmine
PPTX
Introducción a Pruebas en Android
PPTX
GameUs - Herramientas de Desarrollo de Videojuegos
PPTX
Herramientas para el Desarrollo de Videojuegos
PPTX
Kata Tenis Completa Paso a Paso. Python Sevilla 30/11/2012
PPTX
Kata Tenis. Enunciados y soluciones alternativas. Python Sevilla 30/11/2012
PPTX
IWT2 Dojo US. Presentación, próximas actividades y agenda. 9 noviembre 2012
PPTX
AdV - Programación para no Programadores
PPTX
IWT2 DojoUs. 05 octubre 2012. Ejercicio: Sokoban
PPTX
IWT2 DojoUs. 05 octubre 2012. Ejercicio: Sokoban
PPTX
IWT2 Dojo US. Introducción a TDD. 5 octubre 2012
PPTX
Introducción a IWT2 Dojo US. 5 noviembre 2.012
Videojuegos en Javascript con TDD y Jasmine
Introducción a Pruebas en Android
GameUs - Herramientas de Desarrollo de Videojuegos
Herramientas para el Desarrollo de Videojuegos
Kata Tenis Completa Paso a Paso. Python Sevilla 30/11/2012
Kata Tenis. Enunciados y soluciones alternativas. Python Sevilla 30/11/2012
IWT2 Dojo US. Presentación, próximas actividades y agenda. 9 noviembre 2012
AdV - Programación para no Programadores
IWT2 DojoUs. 05 octubre 2012. Ejercicio: Sokoban
IWT2 DojoUs. 05 octubre 2012. Ejercicio: Sokoban
IWT2 Dojo US. Introducción a TDD. 5 octubre 2012
Introducción a IWT2 Dojo US. 5 noviembre 2.012

Último (20)

PPTX
Power Point Nicolás Carrasco (disertación Roblox).pptx
PPTX
Sesion 1 de microsoft power point - Clase 1
PDF
taller de informática - LEY DE OHM
PDF
SAP Transportation Management para LSP, TM140 Col18
PPTX
REDES INFORMATICAS REDES INFORMATICAS.pptx
PPTX
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
PPTX
Presentación PASANTIAS AuditorioOO..pptx
PPT
Que son las redes de computadores y sus partes
PDF
clase auditoria informatica 2025.........
PDF
Estrategia de apoyo tecnología grado 9-3
PDF
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
PDF
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
PPTX
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
PDF
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
PPTX
Propuesta BKP servidores con Acronis1.pptx
PDF
Plantilla para Diseño de Narrativas Transmedia.pdf
PDF
Estrategia de apoyo tecnología miguel angel solis
PDF
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
PDF
Maste clas de estructura metálica y arquitectura
PDF
CyberOps Associate - Cisco Networking Academy
Power Point Nicolás Carrasco (disertación Roblox).pptx
Sesion 1 de microsoft power point - Clase 1
taller de informática - LEY DE OHM
SAP Transportation Management para LSP, TM140 Col18
REDES INFORMATICAS REDES INFORMATICAS.pptx
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
Presentación PASANTIAS AuditorioOO..pptx
Que son las redes de computadores y sus partes
clase auditoria informatica 2025.........
Estrategia de apoyo tecnología grado 9-3
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
Propuesta BKP servidores con Acronis1.pptx
Plantilla para Diseño de Narrativas Transmedia.pdf
Estrategia de apoyo tecnología miguel angel solis
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
Maste clas de estructura metálica y arquitectura
CyberOps Associate - Cisco Networking Academy

Las Claves del Desarrollo Dirigido por Pruebas (o TDD)