SlideShare una empresa de Scribd logo
1 de 18
Descargar para leer sin conexión
¿Por qué TDD?
De Programador
a
“Oficial de primera”
¿Qué es TDD?
Herramienta de
DiseñoKeep it Simple Baby Steps
Práctica de eXtreme Programming en la cual se mezclan Test First Development y Refactor
Ciclo de TDD
Refactor
El comportamiento a nivel externo no cambia
La implementación y el diseño sí
TDD Rules
● una regla => Un Test
● Escribir el mínimo código para pasar el test
● No escribir código de producción sin que un test falle
Buenos Tests
Rápido
Use real
data
Pasar en
aislados
Dar
Seguridad
Personal Tips
● Escribir reglas y ejemplos antes de empezar
● Aprovechar los ejemplos para los tests
● Tests como documentación
● 30 segundos para pasar el test
● 30 segundos para generalizar
● Commit when green
● No debug
Valores del TDD
● Simplicidad
● Feedback rápido
● Coraje
● Comunicación
eXtreme Programming
Comunicación
Feedback
Simplicidad
CorajeRespeto
Pair Programming Continuous Integration
TDD
Más que TDD
● SOLID
● Clean Code
● 4 reglas del diseño simple
● Prácticas XP
Libro de TDD
eXtreme Programming
Clean Code
Software Craftsmanship
¿Quien soy?
Ronny Ancorini Rodríguez
Software Craftsmanship Apprentice
@RonnyAncorini
ronnyancorini.es/blog
Gran Canaria Developers Community Organizer
Carlos Blé & Associates Apprentice
Github: RonnyAnc

Más contenido relacionado

La actualidad más candente

Argentesting 2019 - Cambiando el paradigma de la automatización
Argentesting 2019 - Cambiando el paradigma de la automatizaciónArgentesting 2019 - Cambiando el paradigma de la automatización
Argentesting 2019 - Cambiando el paradigma de la automatización
Argentesting
 
Argentesting 2019 - Cómo convertirse en un tester ágil
Argentesting 2019 - Cómo convertirse en un tester ágilArgentesting 2019 - Cómo convertirse en un tester ágil
Argentesting 2019 - Cómo convertirse en un tester ágil
Argentesting
 
Practicas de construccioin
Practicas de construccioinPracticas de construccioin
Practicas de construccioin
yadiu
 
Introducción a la Programación Extrema (XP)
Introducción a la Programación Extrema (XP)Introducción a la Programación Extrema (XP)
Introducción a la Programación Extrema (XP)
Israel Antezana Rojas
 

La actualidad más candente (18)

#HablemosDeTestingDay - José Castillo: Estrategia de QA en un contexto de DevOps
#HablemosDeTestingDay - José Castillo: Estrategia de QA en un contexto de DevOps#HablemosDeTestingDay - José Castillo: Estrategia de QA en un contexto de DevOps
#HablemosDeTestingDay - José Castillo: Estrategia de QA en un contexto de DevOps
 
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
 
Argentesting 2019 - Cambiando el paradigma de la automatización
Argentesting 2019 - Cambiando el paradigma de la automatizaciónArgentesting 2019 - Cambiando el paradigma de la automatización
Argentesting 2019 - Cambiando el paradigma de la automatización
 
Argentesting 2019 - Cómo convertirse en un tester ágil
Argentesting 2019 - Cómo convertirse en un tester ágilArgentesting 2019 - Cómo convertirse en un tester ágil
Argentesting 2019 - Cómo convertirse en un tester ágil
 
TDD y Python
TDD y PythonTDD y Python
TDD y Python
 
xp
xpxp
xp
 
Kata tdd
Kata tddKata tdd
Kata tdd
 
[Meetup] Code Quality
[Meetup] Code Quality[Meetup] Code Quality
[Meetup] Code Quality
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Evaluacion1 fundamentos
Evaluacion1 fundamentosEvaluacion1 fundamentos
Evaluacion1 fundamentos
 
[ES] webcat 2014-03 Demystifying Development Techniques
[ES] webcat 2014-03 Demystifying Development Techniques[ES] webcat 2014-03 Demystifying Development Techniques
[ES] webcat 2014-03 Demystifying Development Techniques
 
Practicas de construccioin
Practicas de construccioinPracticas de construccioin
Practicas de construccioin
 
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
 
Procesos de software
Procesos de software Procesos de software
Procesos de software
 
Introducción a TDD
Introducción a TDDIntroducción a TDD
Introducción a TDD
 
Introducción a la Programación Extrema (XP)
Introducción a la Programación Extrema (XP)Introducción a la Programación Extrema (XP)
Introducción a la Programación Extrema (XP)
 
BDD y tests automatizados
BDD y tests automatizadosBDD y tests automatizados
BDD y tests automatizados
 
Metodologia XP fases y subfases
Metodologia  XP fases y subfasesMetodologia  XP fases y subfases
Metodologia XP fases y subfases
 

Destacado

SaiTeja Resume
SaiTeja ResumeSaiTeja Resume
SaiTeja Resume
Thejureddy
 

Destacado (10)

Ova Asesoria en el uso de las tic
Ova Asesoria en el uso de  las ticOva Asesoria en el uso de  las tic
Ova Asesoria en el uso de las tic
 
Semana no.2 las tic y los docentes
Semana no.2 las tic y los docentesSemana no.2 las tic y los docentes
Semana no.2 las tic y los docentes
 
Козленок
КозленокКозленок
Козленок
 
Analysis of pitches
Analysis of pitchesAnalysis of pitches
Analysis of pitches
 
SaiTeja Resume
SaiTeja ResumeSaiTeja Resume
SaiTeja Resume
 
"INFOGRAPHIC" The Rise of Digital Magazines
"INFOGRAPHIC" The Rise of Digital Magazines"INFOGRAPHIC" The Rise of Digital Magazines
"INFOGRAPHIC" The Rise of Digital Magazines
 
Upside Down Living: Blessed are the Persecuted
Upside Down Living: Blessed are the PersecutedUpside Down Living: Blessed are the Persecuted
Upside Down Living: Blessed are the Persecuted
 
Wellness Workplace "INFOGRAPHIC:
Wellness Workplace "INFOGRAPHIC: Wellness Workplace "INFOGRAPHIC:
Wellness Workplace "INFOGRAPHIC:
 
liturgy and sacraments
 liturgy and sacraments liturgy and sacraments
liturgy and sacraments
 
ծաղկի կառուցվածքը
ծաղկի կառուցվածքըծաղկի կառուցվածքը
ծաղկի կառուցվածքը
 

Similar a Introducción a tdd

Introducción a TDD
Introducción a TDDIntroducción a TDD
Introducción a TDD
Fran Grau
 
Behavior1
Behavior1Behavior1
Behavior1
arajar
 

Similar a Introducción a tdd (20)

Introducción a TDD
Introducción a TDDIntroducción a TDD
Introducción a 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)
Las Claves del Desarrollo Dirigido por Pruebas (o TDD)
 
Kata tdd
Kata tddKata tdd
Kata tdd
 
Tdd desde las_trincheras
Tdd desde las_trincherasTdd desde las_trincheras
Tdd desde las_trincheras
 
Cómo aplicar TDD. Almería 13/05/2014
Cómo aplicar TDD. Almería 13/05/2014Cómo aplicar TDD. Almería 13/05/2014
Cómo aplicar TDD. Almería 13/05/2014
 
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
 
Apuntes #XPweek
Apuntes #XPweekApuntes #XPweek
Apuntes #XPweek
 
Crowdar - Introducción a BDD
Crowdar - Introducción a BDDCrowdar - Introducción a BDD
Crowdar - Introducción a BDD
 
7iSF-4 test driver development
7iSF-4   test driver development7iSF-4   test driver development
7iSF-4 test driver development
 
Tdd desde las trincheras
Tdd desde las trincherasTdd desde las trincheras
Tdd desde las trincheras
 
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
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
Creando rascacielos con tdd
Creando rascacielos con tddCreando rascacielos con tdd
Creando rascacielos con tdd
 
Xtreme Programming
Xtreme ProgrammingXtreme Programming
Xtreme Programming
 
"Demystifying development techniques" por @eturino
"Demystifying development techniques" por @eturino"Demystifying development techniques" por @eturino
"Demystifying development techniques" por @eturino
 
TDD
TDDTDD
TDD
 
TDD
TDDTDD
TDD
 
Cobertura de pruebas unitarias - NetBaires
Cobertura de pruebas unitarias - NetBairesCobertura de pruebas unitarias - NetBaires
Cobertura de pruebas unitarias - NetBaires
 
Cobertura de pruebas unitarias en C#
Cobertura de pruebas unitarias en C#Cobertura de pruebas unitarias en C#
Cobertura de pruebas unitarias en C#
 
Behavior1
Behavior1Behavior1
Behavior1
 

Último

ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
gustavoiashalom
 
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONALSESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
EdwinC23
 
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
Ricardo705519
 

Último (20)

Presentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potablePresentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potable
 
Presentacion de la ganaderia en la región
Presentacion de la ganaderia en la regiónPresentacion de la ganaderia en la región
Presentacion de la ganaderia en la región
 
FUNCION DE ESTADO EN LA TERMODINAMICA.pdf
FUNCION DE ESTADO EN LA TERMODINAMICA.pdfFUNCION DE ESTADO EN LA TERMODINAMICA.pdf
FUNCION DE ESTADO EN LA TERMODINAMICA.pdf
 
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...
 
Introduction to Satellite Communication_esp_FINAL.ppt
Introduction to Satellite Communication_esp_FINAL.pptIntroduction to Satellite Communication_esp_FINAL.ppt
Introduction to Satellite Communication_esp_FINAL.ppt
 
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
 
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONALSESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
 
Sistemas de Ecuaciones no lineales-1.pptx
Sistemas de Ecuaciones no lineales-1.pptxSistemas de Ecuaciones no lineales-1.pptx
Sistemas de Ecuaciones no lineales-1.pptx
 
2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologica2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologica
 
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheAportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
 
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
 
Determinación de espacios en la instalación
Determinación de espacios en la instalaciónDeterminación de espacios en la instalación
Determinación de espacios en la instalación
 
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
 
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
 
27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt
 
Ficha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelosFicha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelos
 
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptTippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
 
Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdf
 
Minería convencional: datos importantes y conceptos
Minería convencional: datos importantes y conceptosMinería convencional: datos importantes y conceptos
Minería convencional: datos importantes y conceptos
 

Introducción a tdd