SlideShare a Scribd company logo
1 of 56
Download to read offline
Demystifying
Development Techniques
@eturino
Eduardo Turiño
¡muerte a los puristas!
el “otro título”
las metodologías son
sólo herramientas
menos errores

más velocidad 

más constancia
mejorar en cada paso
lo que más moleste
• nivel de Proyecto (Scrum, Kanban…)
• nivel de Desarrollo!
• nivel de Productividad (GTD, Pomodoro…)
el camino
1. tradicional
2. tests automáticos
3. Test-First
1 643 52
4. TDD
5. BDD
6. completando BDD
objetivos
del desarrollo de software
1. hace lo que tiene que hacer y no otra cosa!
2. funciona sin fallos!
3. no rompe lo que ya funcionaba!
4. fácil de adaptar a nuevas funcionalidades
tradicional
¿cómo se hace normalmente?
643 51 2
tradicional
• planificación y estudio de requisitos
• desarrollo: diseño e implementación
• pruebas: QA (Quality Assurance)
pruebas (QA)
• “hace lo que tiene que hacer y no otra cosa”:
Pruebas de Aceptación
• “funciona sin fallos”:

Pruebas de Exploración
• “no rompe lo que ya funcionaba”:

Pruebas de Regresión
lo que más molesta
del enfoque tradicional
demasiadas pruebas
(no se hacen)
tests automáticos
automatizando las pruebas manuales
1 643 52
tipos de tests
de Aceptación: 

comprueba funcionalidad
de Regresión: 

nos alerta si hemos roto algo anterior
Unitarios: 

componente (aislado) funciona bien
cuidado
sustituyen a pruebas manuales:
probar comportamiento
lo que más molesta
de los tests automáticos
• poca motivación para hacerlos
• “¿y cómo pruebo yo esto?”
Test-First
probando lo que aún no hemos desarrollado
1 64 532
primero el test
!
después el código de producción
ventajas
de Test-First
• mayor motivación
• sensación de seguridad: menos fallos tontos
• código más sencillo y fácil de probar
lo que se echa en falta
de Test-First
no nos sirve de guía
TDD
Test Driven Development
1 652 43
los tests como 

guía del desarrollo
TDD
• el objetivo es el código de producción, 

los tests son una herramienta para ese objetivo
• que los tests sirvan como pruebas es
secundario
• se basa en repetición de un ciclo básico
ciclo básico
de TDD
1. escribir un nuevo test y verificar que falla
2. implementar lo mínimo para que:
A. cambie el mensaje del error
B. pase el test
3. repetir el punto 2 hasta que pase el test
4. refactorizar, sin cambiar comportamiento
Red - Green - Refactor
Green
Red Refactor
Red - Green - Refactor
Green
Red Refactor
⇧ funcionalidad ⇧ diseño
seguimos
bases de TDD
• tests concisos
• se prueba nuestro código público
• antes de iniciar algo nuevo, dejar en verde
• Diseño Emergente: al escribir test y refactorizar
temas a mejorar
de TDD
frágil y tedioso 

muchos test unitarios
BDD
Behaviour Driven Development
!
o TDD “bien hecho”
1 62 53 4
comportamiento,
comunicación,
y tests de aceptación
BDD a grandes rasgos
• usar lenguaje de dominio, no técnico
• escribir tests de aceptación con los clientes
(expertos de dominio)
• ciclo de desarrollo usando un doble anillo RGR
doble anillo
de BDD
1. se empieza con un ciclo RGR de un test de aceptación
(Anillo Exterior)
2. se va desarrollando hasta que el mensaje de error ya
no nos es útil para seguir (outside in)
3. se baja a hacer un test unitario y se continúa con ese
ciclo RGR (Anillo Interior)
4. anillo Interior refactorizado: se sube al Anillo Exterior
5. repetir 2-4 hasta que el Anillo Exterior esté completado
doble anillo
Rf
R
Rf
R G
G
Aceptación
Unitario
qué se consigue
con BDD
• mejor comunicación con clientes y stakeholders
• menos frágil: tests de aceptación y 

sólo los unitarios necesarios
• más natural y rápido
limitaciones
de BDD
• sólo probamos el caso feliz
• cuando el test es muy difícil de programar
• cuando se tiene muy claro
• cuando los tests unitarios se rompen
• cuando no se tiene ni idea de por dónde tirar
¿y ahora?
completamos con
otras técnicas
solucionando
“probar sólo el caso feliz”
1 2 3 4 5 6
tests unitarios extra
• tras un ciclo RGR y antes del siguiente
• ¿cómo debería comportarse el sistema ante esta
situación?
• es diseño
• ok si el test empieza en Verde lugar de Rojo.
solucionando
“test difícil de programar”
1 2 3 4 5 6
solucionando
“test muy difícil”
sustituye por 

prueba manual
solucionando
“cuando es muy fácil”
1 2 3 4 5 6
solucionando
“cuando es muy fácil”
pasos largos
solucionando
“tests se rompen”
1 2 3 4 65
solucionando
“tests se rompen”
arreglarlos o tirarlos
solucionando
“cuando es muy difícil”
1 2 3 4 65
solucionando
“cuando es muy difícil”
REPLs y Spikes
REPL
• Read Eval Print Loop
• consola de javascript, irb/pry…
• ir ejecutando lo que se programa en el momento
• muy bueno para pruebas, bugfixing, 

y para “¿cómo se usaba esto?”
• REPL Driven Development
Spike
experimento rápido para:
A. disminuir riesgo técnico
B. pruebas de concepto
Spike
cuando se termina:
• si es muy horrible:

se tira
• si se puede refactorizar y “no está tan mal”:

se usa y se le añade un test de regresión
concluyendo…
mi proceso al principio
• diseño y desarrollo tradicional
• pruebas al final (bastante escasas), 

apoyado por un buen equipo de QA
mi proceso ahora
• por defecto: 

BDD con Outside-In
• “¿cómo era esto?” y “¿cómo se usaba tal?”:

REPLs!
• “ni idea” o “peligroso”:

Spikes!
• “trillado”: 

Pasos largos!
• “test difícil”:

Prueba manual
¿qué he ganado?
• muchos menos errores
• más constante
• más seguro
• más rápido
buscando 

las mejores herramientas
para cada ocasión
el objetivo es el software
!
complementar tu metodología 

con otras técnicas

está bien

More Related Content

What's hot

TDD y Python
TDD y PythonTDD y Python
TDD y PythonJavier_J
 
Las Claves del Desarrollo Dirigido por Pruebas (o TDD)
Las Claves del Desarrollo Dirigido por Pruebas (o TDD)Las Claves del Desarrollo Dirigido por Pruebas (o TDD)
Las Claves del Desarrollo Dirigido por Pruebas (o TDD)Javier_J
 
Análisis estático de código en Java
Análisis estático de código en JavaAnálisis estático de código en Java
Análisis estático de código en JavaCésar Hernández
 
Agile Testing - Software Testing Club
Agile Testing - Software Testing ClubAgile Testing - Software Testing Club
Agile Testing - Software Testing ClubAngel Nuñez
 
Td dvs bdd
Td dvs bddTd dvs bdd
Td dvs bddlsajrf
 
TDD (Test-Driven Development)
TDD (Test-Driven Development)TDD (Test-Driven Development)
TDD (Test-Driven Development)Senior Dev
 
BDD - Desarrollo dirigido por comportamiento
BDD - Desarrollo dirigido por comportamientoBDD - Desarrollo dirigido por comportamiento
BDD - Desarrollo dirigido por comportamientoAgustin Ramos
 
Testlodge Tutorial v1.0
Testlodge Tutorial v1.0Testlodge Tutorial v1.0
Testlodge Tutorial v1.0TestingBaires
 
Dev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producciónDev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producciónKleer Agile Coaching & Training
 
Como escribir buenos tests al hacer TDD
Como escribir buenos tests al hacer TDDComo escribir buenos tests al hacer TDD
Como escribir buenos tests al hacer TDDHernan Wilkinson
 
Introducción a Behaviour Driven Development
Introducción a Behaviour Driven DevelopmentIntroducción a Behaviour Driven Development
Introducción a Behaviour Driven DevelopmentRicardo Markiewicz
 

What's hot (20)

TDD y Python
TDD y PythonTDD y Python
TDD y Python
 
Las Claves del Desarrollo Dirigido por Pruebas (o TDD)
Las Claves del Desarrollo Dirigido por Pruebas (o TDD)Las Claves del Desarrollo Dirigido por Pruebas (o TDD)
Las Claves del Desarrollo Dirigido por Pruebas (o TDD)
 
TDD talk
TDD talkTDD talk
TDD talk
 
TDD
TDDTDD
TDD
 
Testing, tipos y otros flamewars
Testing, tipos y otros flamewarsTesting, tipos y otros flamewars
Testing, tipos y otros flamewars
 
Análisis estático de código en Java
Análisis estático de código en JavaAnálisis estático de código en Java
Análisis estático de código en Java
 
BDD y tests automatizados
BDD y tests automatizadosBDD y tests automatizados
BDD y tests automatizados
 
Agile Testing - Software Testing Club
Agile Testing - Software Testing ClubAgile Testing - Software Testing Club
Agile Testing - Software Testing Club
 
Tdd desde las_trincheras
Tdd desde las_trincherasTdd desde las_trincheras
Tdd desde las_trincheras
 
Unit Testing en iOS
Unit Testing en iOSUnit Testing en iOS
Unit Testing en iOS
 
TDD Code Retreat
TDD Code RetreatTDD Code Retreat
TDD Code Retreat
 
BDD & Cucumber
BDD & CucumberBDD & Cucumber
BDD & Cucumber
 
Td dvs bdd
Td dvs bddTd dvs bdd
Td dvs bdd
 
TDD (Test-Driven Development)
TDD (Test-Driven Development)TDD (Test-Driven Development)
TDD (Test-Driven Development)
 
Creando rascacielos con tdd
Creando rascacielos con tddCreando rascacielos con tdd
Creando rascacielos con tdd
 
BDD - Desarrollo dirigido por comportamiento
BDD - Desarrollo dirigido por comportamientoBDD - Desarrollo dirigido por comportamiento
BDD - Desarrollo dirigido por comportamiento
 
Testlodge Tutorial v1.0
Testlodge Tutorial v1.0Testlodge Tutorial v1.0
Testlodge Tutorial v1.0
 
Dev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producciónDev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producción
 
Como escribir buenos tests al hacer TDD
Como escribir buenos tests al hacer TDDComo escribir buenos tests al hacer TDD
Como escribir buenos tests al hacer TDD
 
Introducción a Behaviour Driven Development
Introducción a Behaviour Driven DevelopmentIntroducción a Behaviour Driven Development
Introducción a Behaviour Driven Development
 

Viewers also liked

2011 dec 10 lsm 12 tips for interviewing plus making sense of custdev data
2011 dec 10 lsm 12 tips for interviewing plus making sense of custdev data2011 dec 10 lsm 12 tips for interviewing plus making sense of custdev data
2011 dec 10 lsm 12 tips for interviewing plus making sense of custdev dataJoshua Seiden
 
"Designing digital products for kids" por @karinai
"Designing digital products for kids" por @karinai"Designing digital products for kids" por @karinai
"Designing digital products for kids" por @karinaiwebcat
 
"Continuous Deployment" por @fredfigueiredo
"Continuous Deployment" por @fredfigueiredo"Continuous Deployment" por @fredfigueiredo
"Continuous Deployment" por @fredfigueiredowebcat
 
"How to write better User Stories" por @jrhuerta
"How to write better User Stories" por @jrhuerta"How to write better User Stories" por @jrhuerta
"How to write better User Stories" por @jrhuertawebcat
 
A Designer's Introduction to Lean Startup
A Designer's Introduction to Lean StartupA Designer's Introduction to Lean Startup
A Designer's Introduction to Lean StartupJoshua Seiden
 
User Experience in a Rapidly Changing World, for ISA '13, Recife Brazil
User Experience in a Rapidly Changing World, for ISA '13, Recife BrazilUser Experience in a Rapidly Changing World, for ISA '13, Recife Brazil
User Experience in a Rapidly Changing World, for ISA '13, Recife BrazilJoshua Seiden
 
User Experience in a Rapidly Changing World
User Experience in a Rapidly Changing WorldUser Experience in a Rapidly Changing World
User Experience in a Rapidly Changing WorldJoshua Seiden
 
Lean UX for Agile Teams
Lean UX for Agile TeamsLean UX for Agile Teams
Lean UX for Agile TeamsJoshua Seiden
 
Talking To Your Boss About Lean UX
Talking To Your Boss About Lean UXTalking To Your Boss About Lean UX
Talking To Your Boss About Lean UXJeff Gothelf
 
Continuous Learning and Delivery @ DPM Summit 2013
Continuous Learning and Delivery @ DPM Summit 2013Continuous Learning and Delivery @ DPM Summit 2013
Continuous Learning and Delivery @ DPM Summit 2013Joshua Seiden
 
Replacing Requirements with Hypotheses
Replacing Requirements with HypothesesReplacing Requirements with Hypotheses
Replacing Requirements with HypothesesJoshua Seiden
 
Beyond Brainstorming: Idea-Finding for Innovation
Beyond Brainstorming: Idea-Finding for InnovationBeyond Brainstorming: Idea-Finding for Innovation
Beyond Brainstorming: Idea-Finding for InnovationJoshua Seiden
 
Lean UX + UX Strat, from UX Strat conference, September 2013
Lean UX + UX Strat, from UX Strat conference, September 2013Lean UX + UX Strat, from UX Strat conference, September 2013
Lean UX + UX Strat, from UX Strat conference, September 2013Joshua Seiden
 
2012 feb 25 agile ux nyc, seiden, requirements to hypotheses
2012 feb 25 agile ux nyc, seiden, requirements to hypotheses2012 feb 25 agile ux nyc, seiden, requirements to hypotheses
2012 feb 25 agile ux nyc, seiden, requirements to hypothesesJoshua Seiden
 
Intro to Lean UX methods
Intro to Lean UX methodsIntro to Lean UX methods
Intro to Lean UX methodsJoshua Seiden
 
UX STRAT 2013: Jill Hewitt, Journey to a Customer Experience Map
UX STRAT 2013: Jill Hewitt, Journey to a Customer Experience MapUX STRAT 2013: Jill Hewitt, Journey to a Customer Experience Map
UX STRAT 2013: Jill Hewitt, Journey to a Customer Experience MapUX STRAT
 
UX STRAT 2013: Josh Seiden, Lean UX + UX STRAT
UX STRAT 2013: Josh Seiden, Lean UX + UX STRATUX STRAT 2013: Josh Seiden, Lean UX + UX STRAT
UX STRAT 2013: Josh Seiden, Lean UX + UX STRATUX STRAT
 
UX STRAT 2013: Aline Baeck, BEYOND WIREFRAMES How User Experience Methods Ca...
UX STRAT 2013: Aline Baeck, BEYOND WIREFRAMES How User Experience Methods Ca...UX STRAT 2013: Aline Baeck, BEYOND WIREFRAMES How User Experience Methods Ca...
UX STRAT 2013: Aline Baeck, BEYOND WIREFRAMES How User Experience Methods Ca...UX STRAT
 
UX STRAT USA: Sean Rhodes, "UX Strategy For Increasingly Disruptive Futures S...
UX STRAT USA: Sean Rhodes, "UX Strategy For Increasingly Disruptive Futures S...UX STRAT USA: Sean Rhodes, "UX Strategy For Increasingly Disruptive Futures S...
UX STRAT USA: Sean Rhodes, "UX Strategy For Increasingly Disruptive Futures S...UX STRAT
 
UX STRAT 2014: Jon Kolko, "Well Designed: Bringing Design Thinking to Product...
UX STRAT 2014: Jon Kolko, "Well Designed: Bringing Design Thinking to Product...UX STRAT 2014: Jon Kolko, "Well Designed: Bringing Design Thinking to Product...
UX STRAT 2014: Jon Kolko, "Well Designed: Bringing Design Thinking to Product...UX STRAT
 

Viewers also liked (20)

2011 dec 10 lsm 12 tips for interviewing plus making sense of custdev data
2011 dec 10 lsm 12 tips for interviewing plus making sense of custdev data2011 dec 10 lsm 12 tips for interviewing plus making sense of custdev data
2011 dec 10 lsm 12 tips for interviewing plus making sense of custdev data
 
"Designing digital products for kids" por @karinai
"Designing digital products for kids" por @karinai"Designing digital products for kids" por @karinai
"Designing digital products for kids" por @karinai
 
"Continuous Deployment" por @fredfigueiredo
"Continuous Deployment" por @fredfigueiredo"Continuous Deployment" por @fredfigueiredo
"Continuous Deployment" por @fredfigueiredo
 
"How to write better User Stories" por @jrhuerta
"How to write better User Stories" por @jrhuerta"How to write better User Stories" por @jrhuerta
"How to write better User Stories" por @jrhuerta
 
A Designer's Introduction to Lean Startup
A Designer's Introduction to Lean StartupA Designer's Introduction to Lean Startup
A Designer's Introduction to Lean Startup
 
User Experience in a Rapidly Changing World, for ISA '13, Recife Brazil
User Experience in a Rapidly Changing World, for ISA '13, Recife BrazilUser Experience in a Rapidly Changing World, for ISA '13, Recife Brazil
User Experience in a Rapidly Changing World, for ISA '13, Recife Brazil
 
User Experience in a Rapidly Changing World
User Experience in a Rapidly Changing WorldUser Experience in a Rapidly Changing World
User Experience in a Rapidly Changing World
 
Lean UX for Agile Teams
Lean UX for Agile TeamsLean UX for Agile Teams
Lean UX for Agile Teams
 
Talking To Your Boss About Lean UX
Talking To Your Boss About Lean UXTalking To Your Boss About Lean UX
Talking To Your Boss About Lean UX
 
Continuous Learning and Delivery @ DPM Summit 2013
Continuous Learning and Delivery @ DPM Summit 2013Continuous Learning and Delivery @ DPM Summit 2013
Continuous Learning and Delivery @ DPM Summit 2013
 
Replacing Requirements with Hypotheses
Replacing Requirements with HypothesesReplacing Requirements with Hypotheses
Replacing Requirements with Hypotheses
 
Beyond Brainstorming: Idea-Finding for Innovation
Beyond Brainstorming: Idea-Finding for InnovationBeyond Brainstorming: Idea-Finding for Innovation
Beyond Brainstorming: Idea-Finding for Innovation
 
Lean UX + UX Strat, from UX Strat conference, September 2013
Lean UX + UX Strat, from UX Strat conference, September 2013Lean UX + UX Strat, from UX Strat conference, September 2013
Lean UX + UX Strat, from UX Strat conference, September 2013
 
2012 feb 25 agile ux nyc, seiden, requirements to hypotheses
2012 feb 25 agile ux nyc, seiden, requirements to hypotheses2012 feb 25 agile ux nyc, seiden, requirements to hypotheses
2012 feb 25 agile ux nyc, seiden, requirements to hypotheses
 
Intro to Lean UX methods
Intro to Lean UX methodsIntro to Lean UX methods
Intro to Lean UX methods
 
UX STRAT 2013: Jill Hewitt, Journey to a Customer Experience Map
UX STRAT 2013: Jill Hewitt, Journey to a Customer Experience MapUX STRAT 2013: Jill Hewitt, Journey to a Customer Experience Map
UX STRAT 2013: Jill Hewitt, Journey to a Customer Experience Map
 
UX STRAT 2013: Josh Seiden, Lean UX + UX STRAT
UX STRAT 2013: Josh Seiden, Lean UX + UX STRATUX STRAT 2013: Josh Seiden, Lean UX + UX STRAT
UX STRAT 2013: Josh Seiden, Lean UX + UX STRAT
 
UX STRAT 2013: Aline Baeck, BEYOND WIREFRAMES How User Experience Methods Ca...
UX STRAT 2013: Aline Baeck, BEYOND WIREFRAMES How User Experience Methods Ca...UX STRAT 2013: Aline Baeck, BEYOND WIREFRAMES How User Experience Methods Ca...
UX STRAT 2013: Aline Baeck, BEYOND WIREFRAMES How User Experience Methods Ca...
 
UX STRAT USA: Sean Rhodes, "UX Strategy For Increasingly Disruptive Futures S...
UX STRAT USA: Sean Rhodes, "UX Strategy For Increasingly Disruptive Futures S...UX STRAT USA: Sean Rhodes, "UX Strategy For Increasingly Disruptive Futures S...
UX STRAT USA: Sean Rhodes, "UX Strategy For Increasingly Disruptive Futures S...
 
UX STRAT 2014: Jon Kolko, "Well Designed: Bringing Design Thinking to Product...
UX STRAT 2014: Jon Kolko, "Well Designed: Bringing Design Thinking to Product...UX STRAT 2014: Jon Kolko, "Well Designed: Bringing Design Thinking to Product...
UX STRAT 2014: Jon Kolko, "Well Designed: Bringing Design Thinking to Product...
 

Similar to "Demystifying development techniques" por @eturino

TDD 101 - Introducción al Desarrollo Dirigido por Pruebas
TDD 101 - Introducción al Desarrollo Dirigido por PruebasTDD 101 - Introducción al Desarrollo Dirigido por Pruebas
TDD 101 - Introducción al Desarrollo Dirigido por PruebasOrlando Bustos Mateluna
 
Artalde Tdd intro
Artalde Tdd introArtalde Tdd intro
Artalde Tdd introfperezplain
 
Cómo hacer Test Driven Development
Cómo hacer Test Driven DevelopmentCómo hacer Test Driven Development
Cómo hacer Test Driven DevelopmentJavier Novoa Cataño
 
Trabajando con código heredado y ser feliz
Trabajando con código heredado y ser felizTrabajando con código heredado y ser feliz
Trabajando con código heredado y ser felizDiego Caballero
 
To mock or not to mock
To mock or not to mockTo mock or not to mock
To mock or not to mockEloi Poch
 
Clean code 9
Clean code 9Clean code 9
Clean code 9540deg
 
Agile university day - Un día en un equipo ágil de desarrollo móvil
Agile university day - Un día en un equipo ágil de desarrollo móvilAgile university day - Un día en un equipo ágil de desarrollo móvil
Agile university day - Un día en un equipo ágil de desarrollo móvilagilenavarra
 
Artesania de Software y TDD
Artesania de Software y TDDArtesania de Software y TDD
Artesania de Software y TDDAlfredo Chavez
 
Introducción a Test Driven Development en PHPSevilla
Introducción a Test Driven Development en PHPSevillaIntroducción a Test Driven Development en PHPSevilla
Introducción a Test Driven Development en PHPSevillaJesús López de la Cruz
 
Cursotdd 141202105217-conversion-gate01
Cursotdd 141202105217-conversion-gate01Cursotdd 141202105217-conversion-gate01
Cursotdd 141202105217-conversion-gate01Javier Morales
 
Mitos y leyendas de la gestión ágil y scrum
Mitos y leyendas de la gestión ágil y scrumMitos y leyendas de la gestión ágil y scrum
Mitos y leyendas de la gestión ágil y scrumIEEE Uruguay
 
Lenguajes de Programación: Hilos, Ciclos de Vida, sincronización, animación
Lenguajes de Programación: Hilos, Ciclos de Vida, sincronización, animaciónLenguajes de Programación: Hilos, Ciclos de Vida, sincronización, animación
Lenguajes de Programación: Hilos, Ciclos de Vida, sincronización, animaciónLuis Fernando Aguas Bucheli
 
Be agile my friend - Cómo gestionar proyectos y dormir por las noches
Be agile my friend - Cómo gestionar proyectos y dormir por las nochesBe agile my friend - Cómo gestionar proyectos y dormir por las noches
Be agile my friend - Cómo gestionar proyectos y dormir por las nochesÁlvaro Agea Herradón
 
Desarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por PruebasDesarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por Pruebas.. ..
 
Artesania de Software y TDD
Artesania de Software y TDDArtesania de Software y TDD
Artesania de Software y TDDAlfredo Chavez
 
Personal Software Process / Sesion 03
Personal Software Process / Sesion 03Personal Software Process / Sesion 03
Personal Software Process / Sesion 03andres hurtado
 

Similar to "Demystifying development techniques" por @eturino (20)

TDD 101 - Introducción al Desarrollo Dirigido por Pruebas
TDD 101 - Introducción al Desarrollo Dirigido por PruebasTDD 101 - Introducción al Desarrollo Dirigido por Pruebas
TDD 101 - Introducción al Desarrollo Dirigido por Pruebas
 
Artalde Tdd intro
Artalde Tdd introArtalde Tdd intro
Artalde Tdd intro
 
Cómo hacer Test Driven Development
Cómo hacer Test Driven DevelopmentCómo hacer Test Driven Development
Cómo hacer Test Driven Development
 
Trabajando con código heredado y ser feliz
Trabajando con código heredado y ser felizTrabajando con código heredado y ser feliz
Trabajando con código heredado y ser feliz
 
To mock or not to mock
To mock or not to mockTo mock or not to mock
To mock or not to mock
 
Clean code 9
Clean code 9Clean code 9
Clean code 9
 
Agile university day - Un día en un equipo ágil de desarrollo móvil
Agile university day - Un día en un equipo ágil de desarrollo móvilAgile university day - Un día en un equipo ágil de desarrollo móvil
Agile university day - Un día en un equipo ágil de desarrollo móvil
 
Artesania de Software y TDD
Artesania de Software y TDDArtesania de Software y TDD
Artesania de Software y TDD
 
Valores y prácticas XP
Valores y prácticas XPValores y prácticas XP
Valores y prácticas XP
 
Introducción a Test Driven Development en PHPSevilla
Introducción a Test Driven Development en PHPSevillaIntroducción a Test Driven Development en PHPSevilla
Introducción a Test Driven Development en PHPSevilla
 
Cursotdd 141202105217-conversion-gate01
Cursotdd 141202105217-conversion-gate01Cursotdd 141202105217-conversion-gate01
Cursotdd 141202105217-conversion-gate01
 
Mitos y leyendas de la gestión ágil y scrum
Mitos y leyendas de la gestión ágil y scrumMitos y leyendas de la gestión ágil y scrum
Mitos y leyendas de la gestión ágil y scrum
 
Lenguajes de Programación: Hilos, Ciclos de Vida, sincronización, animación
Lenguajes de Programación: Hilos, Ciclos de Vida, sincronización, animaciónLenguajes de Programación: Hilos, Ciclos de Vida, sincronización, animación
Lenguajes de Programación: Hilos, Ciclos de Vida, sincronización, animación
 
Qualitytest
QualitytestQualitytest
Qualitytest
 
El camino de Tester Agil.pdf
El camino de Tester Agil.pdfEl camino de Tester Agil.pdf
El camino de Tester Agil.pdf
 
Be agile my friend - Cómo gestionar proyectos y dormir por las noches
Be agile my friend - Cómo gestionar proyectos y dormir por las nochesBe agile my friend - Cómo gestionar proyectos y dormir por las noches
Be agile my friend - Cómo gestionar proyectos y dormir por las noches
 
Scrum à la Pablo (Español)
Scrum à la Pablo (Español)Scrum à la Pablo (Español)
Scrum à la Pablo (Español)
 
Desarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por PruebasDesarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por Pruebas
 
Artesania de Software y TDD
Artesania de Software y TDDArtesania de Software y TDD
Artesania de Software y TDD
 
Personal Software Process / Sesion 03
Personal Software Process / Sesion 03Personal Software Process / Sesion 03
Personal Software Process / Sesion 03
 

More from webcat

"Inception" por @CarlosTheSailor
"Inception" por @CarlosTheSailor"Inception" por @CarlosTheSailor
"Inception" por @CarlosTheSailorwebcat
 
"Cómo hicimos la web responsive y accesible de cierto equipo de fútbol y otro...
"Cómo hicimos la web responsive y accesible de cierto equipo de fútbol y otro..."Cómo hicimos la web responsive y accesible de cierto equipo de fútbol y otro...
"Cómo hicimos la web responsive y accesible de cierto equipo de fútbol y otro...webcat
 
"unoStringSynth: hack musical con Arduino" por @unoStringSynth
"unoStringSynth: hack musical con Arduino" por @unoStringSynth"unoStringSynth: hack musical con Arduino" por @unoStringSynth
"unoStringSynth: hack musical con Arduino" por @unoStringSynthwebcat
 
"UX en 10 películas" por @nunile
"UX en 10 películas" por @nunile"UX en 10 películas" por @nunile
"UX en 10 películas" por @nunilewebcat
 
"WebView, the fifth element" por @fernando_cejas
"WebView, the fifth element" por @fernando_cejas"WebView, the fifth element" por @fernando_cejas
"WebView, the fifth element" por @fernando_cejaswebcat
 
"Pushing the boundaries" por @danielguillan
"Pushing the boundaries" por @danielguillan"Pushing the boundaries" por @danielguillan
"Pushing the boundaries" por @danielguillanwebcat
 
"One size fits none" por @martuishere
"One size fits none" por @martuishere"One size fits none" por @martuishere
"One size fits none" por @martuisherewebcat
 
"GTD & Pomodoro Technique" por @deambulando
"GTD & Pomodoro Technique" por @deambulando"GTD & Pomodoro Technique" por @deambulando
"GTD & Pomodoro Technique" por @deambulandowebcat
 
"Esqueuomorfismo: la ruptura de la metáfora" por @omixam
"Esqueuomorfismo: la ruptura de la metáfora" por @omixam"Esqueuomorfismo: la ruptura de la metáfora" por @omixam
"Esqueuomorfismo: la ruptura de la metáfora" por @omixamwebcat
 
"The work I love" por @karinai
"The work I love" por @karinai"The work I love" por @karinai
"The work I love" por @karinaiwebcat
 
"APIS, como reutilizar contenidos en tu web" por @daniel_julia
"APIS, como reutilizar contenidos en tu web" por @daniel_julia"APIS, como reutilizar contenidos en tu web" por @daniel_julia
"APIS, como reutilizar contenidos en tu web" por @daniel_juliawebcat
 
"Web performance optimization for everyone" por @abellonch
"Web performance optimization for everyone" por @abellonch"Web performance optimization for everyone" por @abellonch
"Web performance optimization for everyone" por @abellonchwebcat
 
"HTML & CSS apps & internet powered TV" por @JeronimJackson
"HTML & CSS apps & internet powered TV" por @JeronimJackson"HTML & CSS apps & internet powered TV" por @JeronimJackson
"HTML & CSS apps & internet powered TV" por @JeronimJacksonwebcat
 
"Cuadro de mandos para UX. El método HEART" por @galu
"Cuadro de mandos para UX. El método HEART" por @galu"Cuadro de mandos para UX. El método HEART" por @galu
"Cuadro de mandos para UX. El método HEART" por @galuwebcat
 
"CSS Preprocessors Time!" por @nahuelsotelo
"CSS Preprocessors Time!" por @nahuelsotelo"CSS Preprocessors Time!" por @nahuelsotelo
"CSS Preprocessors Time!" por @nahuelsotelowebcat
 
"Wordpress for web designers. What, when, how, where" por @nuriarai
"Wordpress for web designers. What, when, how, where" por @nuriarai"Wordpress for web designers. What, when, how, where" por @nuriarai
"Wordpress for web designers. What, when, how, where" por @nuriaraiwebcat
 
"Humans.txt" por @JuanjoBernabeu y @lafabricaverde
"Humans.txt" por @JuanjoBernabeu y @lafabricaverde"Humans.txt" por @JuanjoBernabeu y @lafabricaverde
"Humans.txt" por @JuanjoBernabeu y @lafabricaverdewebcat
 
"Meta datos & Google Rich Snippets" por @iplarodriguez
"Meta datos & Google Rich Snippets" por @iplarodriguez"Meta datos & Google Rich Snippets" por @iplarodriguez
"Meta datos & Google Rich Snippets" por @iplarodriguezwebcat
 
"Javascript con MVVM Knockout" por @Marc_Rubino
"Javascript con MVVM Knockout" por @Marc_Rubino"Javascript con MVVM Knockout" por @Marc_Rubino
"Javascript con MVVM Knockout" por @Marc_Rubinowebcat
 
"Gestion de expectativas" por @xavi_b
"Gestion de expectativas" por @xavi_b"Gestion de expectativas" por @xavi_b
"Gestion de expectativas" por @xavi_bwebcat
 

More from webcat (20)

"Inception" por @CarlosTheSailor
"Inception" por @CarlosTheSailor"Inception" por @CarlosTheSailor
"Inception" por @CarlosTheSailor
 
"Cómo hicimos la web responsive y accesible de cierto equipo de fútbol y otro...
"Cómo hicimos la web responsive y accesible de cierto equipo de fútbol y otro..."Cómo hicimos la web responsive y accesible de cierto equipo de fútbol y otro...
"Cómo hicimos la web responsive y accesible de cierto equipo de fútbol y otro...
 
"unoStringSynth: hack musical con Arduino" por @unoStringSynth
"unoStringSynth: hack musical con Arduino" por @unoStringSynth"unoStringSynth: hack musical con Arduino" por @unoStringSynth
"unoStringSynth: hack musical con Arduino" por @unoStringSynth
 
"UX en 10 películas" por @nunile
"UX en 10 películas" por @nunile"UX en 10 películas" por @nunile
"UX en 10 películas" por @nunile
 
"WebView, the fifth element" por @fernando_cejas
"WebView, the fifth element" por @fernando_cejas"WebView, the fifth element" por @fernando_cejas
"WebView, the fifth element" por @fernando_cejas
 
"Pushing the boundaries" por @danielguillan
"Pushing the boundaries" por @danielguillan"Pushing the boundaries" por @danielguillan
"Pushing the boundaries" por @danielguillan
 
"One size fits none" por @martuishere
"One size fits none" por @martuishere"One size fits none" por @martuishere
"One size fits none" por @martuishere
 
"GTD & Pomodoro Technique" por @deambulando
"GTD & Pomodoro Technique" por @deambulando"GTD & Pomodoro Technique" por @deambulando
"GTD & Pomodoro Technique" por @deambulando
 
"Esqueuomorfismo: la ruptura de la metáfora" por @omixam
"Esqueuomorfismo: la ruptura de la metáfora" por @omixam"Esqueuomorfismo: la ruptura de la metáfora" por @omixam
"Esqueuomorfismo: la ruptura de la metáfora" por @omixam
 
"The work I love" por @karinai
"The work I love" por @karinai"The work I love" por @karinai
"The work I love" por @karinai
 
"APIS, como reutilizar contenidos en tu web" por @daniel_julia
"APIS, como reutilizar contenidos en tu web" por @daniel_julia"APIS, como reutilizar contenidos en tu web" por @daniel_julia
"APIS, como reutilizar contenidos en tu web" por @daniel_julia
 
"Web performance optimization for everyone" por @abellonch
"Web performance optimization for everyone" por @abellonch"Web performance optimization for everyone" por @abellonch
"Web performance optimization for everyone" por @abellonch
 
"HTML & CSS apps & internet powered TV" por @JeronimJackson
"HTML & CSS apps & internet powered TV" por @JeronimJackson"HTML & CSS apps & internet powered TV" por @JeronimJackson
"HTML & CSS apps & internet powered TV" por @JeronimJackson
 
"Cuadro de mandos para UX. El método HEART" por @galu
"Cuadro de mandos para UX. El método HEART" por @galu"Cuadro de mandos para UX. El método HEART" por @galu
"Cuadro de mandos para UX. El método HEART" por @galu
 
"CSS Preprocessors Time!" por @nahuelsotelo
"CSS Preprocessors Time!" por @nahuelsotelo"CSS Preprocessors Time!" por @nahuelsotelo
"CSS Preprocessors Time!" por @nahuelsotelo
 
"Wordpress for web designers. What, when, how, where" por @nuriarai
"Wordpress for web designers. What, when, how, where" por @nuriarai"Wordpress for web designers. What, when, how, where" por @nuriarai
"Wordpress for web designers. What, when, how, where" por @nuriarai
 
"Humans.txt" por @JuanjoBernabeu y @lafabricaverde
"Humans.txt" por @JuanjoBernabeu y @lafabricaverde"Humans.txt" por @JuanjoBernabeu y @lafabricaverde
"Humans.txt" por @JuanjoBernabeu y @lafabricaverde
 
"Meta datos & Google Rich Snippets" por @iplarodriguez
"Meta datos & Google Rich Snippets" por @iplarodriguez"Meta datos & Google Rich Snippets" por @iplarodriguez
"Meta datos & Google Rich Snippets" por @iplarodriguez
 
"Javascript con MVVM Knockout" por @Marc_Rubino
"Javascript con MVVM Knockout" por @Marc_Rubino"Javascript con MVVM Knockout" por @Marc_Rubino
"Javascript con MVVM Knockout" por @Marc_Rubino
 
"Gestion de expectativas" por @xavi_b
"Gestion de expectativas" por @xavi_b"Gestion de expectativas" por @xavi_b
"Gestion de expectativas" por @xavi_b
 

Recently uploaded

Excel avanzado y métodos estadísticos.pdf
Excel avanzado y métodos estadísticos.pdfExcel avanzado y métodos estadísticos.pdf
Excel avanzado y métodos estadísticos.pdfNicolleAndrade7
 
Lista de datos (tecnología) combinación de...
Lista de datos (tecnología) combinación de...Lista de datos (tecnología) combinación de...
Lista de datos (tecnología) combinación de...NicolleAndrade7
 
Trabajo de tecnología excel avanzado:métodos estadísticos
Trabajo de tecnología excel avanzado:métodos estadísticosTrabajo de tecnología excel avanzado:métodos estadísticos
Trabajo de tecnología excel avanzado:métodos estadísticosJuanCamilomurillo2
 
APEX Office Hours - Two Factor Authentication
APEX Office Hours - Two Factor AuthenticationAPEX Office Hours - Two Factor Authentication
APEX Office Hours - Two Factor Authenticationjoelorta2
 
CALCULADORA CIENTIFICA trabajo grupal 9-6.docx
CALCULADORA CIENTIFICA trabajo grupal 9-6.docxCALCULADORA CIENTIFICA trabajo grupal 9-6.docx
CALCULADORA CIENTIFICA trabajo grupal 9-6.docxzoecaicedosalazar
 
Trabajo de tecnologia.pdf .
Trabajo de tecnologia.pdf                         .Trabajo de tecnologia.pdf                         .
Trabajo de tecnologia.pdf .SebastinPrez67
 
TareaSesión8_ListaDinamica_Garcia_Garcia.pptx
TareaSesión8_ListaDinamica_Garcia_Garcia.pptxTareaSesión8_ListaDinamica_Garcia_Garcia.pptx
TareaSesión8_ListaDinamica_Garcia_Garcia.pptxANDREADELCARMENGARCI
 
Tabla ejemplo, complemento de las cartas
Tabla ejemplo, complemento de las cartasTabla ejemplo, complemento de las cartas
Tabla ejemplo, complemento de las cartasSantiagoMeneses18
 
Garcia_Garcia_PracticasWeb7Reportes.pptx
Garcia_Garcia_PracticasWeb7Reportes.pptxGarcia_Garcia_PracticasWeb7Reportes.pptx
Garcia_Garcia_PracticasWeb7Reportes.pptxANDREADELCARMENGARCI
 
Texto Argumentativo (Basura Electronica)
Texto Argumentativo (Basura Electronica)Texto Argumentativo (Basura Electronica)
Texto Argumentativo (Basura Electronica)AlejandraCasallas7
 
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS.pdf
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS.pdfBLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS.pdf
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS.pdfssuser337a5e
 
Estadistica , excel avanzado estudios estadisticos
Estadistica , excel avanzado  estudios estadisticosEstadistica , excel avanzado  estudios estadisticos
Estadistica , excel avanzado estudios estadisticosElizabethAcostaQuinc
 
David_Gallegos - tarea de la sesión 8.pptx
David_Gallegos - tarea de la sesión 8.pptxDavid_Gallegos - tarea de la sesión 8.pptx
David_Gallegos - tarea de la sesión 8.pptxDAVIDROBERTOGALLEGOS
 
RESUMENES DE FUNCIONES DESARROLLO DE BLOG
RESUMENES DE FUNCIONES DESARROLLO DE BLOGRESUMENES DE FUNCIONES DESARROLLO DE BLOG
RESUMENES DE FUNCIONES DESARROLLO DE BLOGmarianhenao98
 
Verde Ilustrado Moderno Redes Sociales Informe de Marketing Presentación (1).pdf
Verde Ilustrado Moderno Redes Sociales Informe de Marketing Presentación (1).pdfVerde Ilustrado Moderno Redes Sociales Informe de Marketing Presentación (1).pdf
Verde Ilustrado Moderno Redes Sociales Informe de Marketing Presentación (1).pdfmiriamsarahihm2008
 
PLATAFORMAS SOCIALES.pdf Mundos digitales
PLATAFORMAS SOCIALES.pdf Mundos digitalesPLATAFORMAS SOCIALES.pdf Mundos digitales
PLATAFORMAS SOCIALES.pdf Mundos digitalesCamilaGV4
 
Excel avanzado.pdf tecnologiaaaaaaaaaaaa
Excel avanzado.pdf tecnologiaaaaaaaaaaaaExcel avanzado.pdf tecnologiaaaaaaaaaaaa
Excel avanzado.pdf tecnologiaaaaaaaaaaaaNicolleAndrade7
 
Lista de selección dinámica desde MySQL hacia PHP (con PDO)
Lista de selección dinámica desde MySQL hacia PHP (con PDO)Lista de selección dinámica desde MySQL hacia PHP (con PDO)
Lista de selección dinámica desde MySQL hacia PHP (con PDO)ChristianRivera122452
 
cuadro comparativo de web 1.0 web 2.0 web 3.0 web 4.0......pptx
cuadro comparativo de web 1.0 web 2.0 web 3.0 web 4.0......pptxcuadro comparativo de web 1.0 web 2.0 web 3.0 web 4.0......pptx
cuadro comparativo de web 1.0 web 2.0 web 3.0 web 4.0......pptxange07u
 
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS.docx
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS.docxBLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS.docx
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS.docxJuanstevanGarcaarcin
 

Recently uploaded (20)

Excel avanzado y métodos estadísticos.pdf
Excel avanzado y métodos estadísticos.pdfExcel avanzado y métodos estadísticos.pdf
Excel avanzado y métodos estadísticos.pdf
 
Lista de datos (tecnología) combinación de...
Lista de datos (tecnología) combinación de...Lista de datos (tecnología) combinación de...
Lista de datos (tecnología) combinación de...
 
Trabajo de tecnología excel avanzado:métodos estadísticos
Trabajo de tecnología excel avanzado:métodos estadísticosTrabajo de tecnología excel avanzado:métodos estadísticos
Trabajo de tecnología excel avanzado:métodos estadísticos
 
APEX Office Hours - Two Factor Authentication
APEX Office Hours - Two Factor AuthenticationAPEX Office Hours - Two Factor Authentication
APEX Office Hours - Two Factor Authentication
 
CALCULADORA CIENTIFICA trabajo grupal 9-6.docx
CALCULADORA CIENTIFICA trabajo grupal 9-6.docxCALCULADORA CIENTIFICA trabajo grupal 9-6.docx
CALCULADORA CIENTIFICA trabajo grupal 9-6.docx
 
Trabajo de tecnologia.pdf .
Trabajo de tecnologia.pdf                         .Trabajo de tecnologia.pdf                         .
Trabajo de tecnologia.pdf .
 
TareaSesión8_ListaDinamica_Garcia_Garcia.pptx
TareaSesión8_ListaDinamica_Garcia_Garcia.pptxTareaSesión8_ListaDinamica_Garcia_Garcia.pptx
TareaSesión8_ListaDinamica_Garcia_Garcia.pptx
 
Tabla ejemplo, complemento de las cartas
Tabla ejemplo, complemento de las cartasTabla ejemplo, complemento de las cartas
Tabla ejemplo, complemento de las cartas
 
Garcia_Garcia_PracticasWeb7Reportes.pptx
Garcia_Garcia_PracticasWeb7Reportes.pptxGarcia_Garcia_PracticasWeb7Reportes.pptx
Garcia_Garcia_PracticasWeb7Reportes.pptx
 
Texto Argumentativo (Basura Electronica)
Texto Argumentativo (Basura Electronica)Texto Argumentativo (Basura Electronica)
Texto Argumentativo (Basura Electronica)
 
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS.pdf
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS.pdfBLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS.pdf
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS.pdf
 
Estadistica , excel avanzado estudios estadisticos
Estadistica , excel avanzado  estudios estadisticosEstadistica , excel avanzado  estudios estadisticos
Estadistica , excel avanzado estudios estadisticos
 
David_Gallegos - tarea de la sesión 8.pptx
David_Gallegos - tarea de la sesión 8.pptxDavid_Gallegos - tarea de la sesión 8.pptx
David_Gallegos - tarea de la sesión 8.pptx
 
RESUMENES DE FUNCIONES DESARROLLO DE BLOG
RESUMENES DE FUNCIONES DESARROLLO DE BLOGRESUMENES DE FUNCIONES DESARROLLO DE BLOG
RESUMENES DE FUNCIONES DESARROLLO DE BLOG
 
Verde Ilustrado Moderno Redes Sociales Informe de Marketing Presentación (1).pdf
Verde Ilustrado Moderno Redes Sociales Informe de Marketing Presentación (1).pdfVerde Ilustrado Moderno Redes Sociales Informe de Marketing Presentación (1).pdf
Verde Ilustrado Moderno Redes Sociales Informe de Marketing Presentación (1).pdf
 
PLATAFORMAS SOCIALES.pdf Mundos digitales
PLATAFORMAS SOCIALES.pdf Mundos digitalesPLATAFORMAS SOCIALES.pdf Mundos digitales
PLATAFORMAS SOCIALES.pdf Mundos digitales
 
Excel avanzado.pdf tecnologiaaaaaaaaaaaa
Excel avanzado.pdf tecnologiaaaaaaaaaaaaExcel avanzado.pdf tecnologiaaaaaaaaaaaa
Excel avanzado.pdf tecnologiaaaaaaaaaaaa
 
Lista de selección dinámica desde MySQL hacia PHP (con PDO)
Lista de selección dinámica desde MySQL hacia PHP (con PDO)Lista de selección dinámica desde MySQL hacia PHP (con PDO)
Lista de selección dinámica desde MySQL hacia PHP (con PDO)
 
cuadro comparativo de web 1.0 web 2.0 web 3.0 web 4.0......pptx
cuadro comparativo de web 1.0 web 2.0 web 3.0 web 4.0......pptxcuadro comparativo de web 1.0 web 2.0 web 3.0 web 4.0......pptx
cuadro comparativo de web 1.0 web 2.0 web 3.0 web 4.0......pptx
 
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS.docx
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS.docxBLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS.docx
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS.docx
 

"Demystifying development techniques" por @eturino