SlideShare una empresa de Scribd logo
1 de 7
11
Introducción a TDD (Test DrivenIntroducción a TDD (Test Driven
Development)Development)
Samuel Sánchez MuñozSamuel Sánchez Muñoz
Jose Luis Seijo ReigJose Luis Seijo Reig
22
¿Qué es?¿Qué es?
Proceso de desarrollo de softwareProceso de desarrollo de software
orientado a pruebas.orientado a pruebas.
Se basa en la idea de desarrollar pruebas,Se basa en la idea de desarrollar pruebas,
codificar y refactorizar el códigocodificar y refactorizar el código
construido.construido.
33
Test Driven DevelopmentTest Driven Development
TDD se basa en la idea de realizarTDD se basa en la idea de realizar
pruebas unitarias para el código quepruebas unitarias para el código que
debemos desarrollar. A diferencia deldebemos desarrollar. A diferencia del
procedimiento que usamos habitualmente,procedimiento que usamos habitualmente,
desarrollar el código y después realizardesarrollar el código y después realizar
las pruebas unitarias.las pruebas unitarias.
TDD además añade el code refactoring,TDD además añade el code refactoring,
reestructuración del código implementado.reestructuración del código implementado.
44
Ciclo de desarrollo de TDD.Ciclo de desarrollo de TDD.
1ª) Elegir un requisito a desarrollar.1ª) Elegir un requisito a desarrollar.
2ª) Crear la prueba o test.2ª) Crear la prueba o test.
3ª) Ejecutar los tests: falla3ª) Ejecutar los tests: falla ((ROJOROJO).).
4ª) Crear código especifico para resolver el test.4ª) Crear código especifico para resolver el test.
5ª) Ejecutar de nuevo los tests: pasa5ª) Ejecutar de nuevo los tests: pasa ((VERDEVERDE).).
6ª) Refactorizar el código.6ª) Refactorizar el código.
7ª) Ejecutar los tests: pasa7ª) Ejecutar los tests: pasa ((VERDEVERDE).).
55
Ventajas.Ventajas.
-- Los casos de prueba sirven comoLos casos de prueba sirven como
documentación del sistema.documentación del sistema.
- Al escribir una prueba unitaria, se piensa- Al escribir una prueba unitaria, se piensa
en la forma correcta de utilizar un móduloen la forma correcta de utilizar un módulo
que aún no existe.que aún no existe.
- Las pruebas permiten perder el miedo a- Las pruebas permiten perder el miedo a
realizar modificaciones en el código.realizar modificaciones en el código.
66
Inconvenientes.Inconvenientes.
- TDD es difícil de usar en situaciones donde- TDD es difícil de usar en situaciones donde
hacen falta todas las pruebas funcionales parahacen falta todas las pruebas funcionales para
determinar éxito o fracaso.determinar éxito o fracaso.
- El soporte de la gestión es esencial. Sin la- El soporte de la gestión es esencial. Sin la
creencia de toda la organización de que TDD vacreencia de toda la organización de que TDD va
a mejorar el producto, la gestión sentirá que sea mejorar el producto, la gestión sentirá que se
pierde tiempo escribiendo pruebas.pierde tiempo escribiendo pruebas.
- Las pruebas se han visto históricamente como- Las pruebas se han visto históricamente como
una posición más baja que los desarrolladores ouna posición más baja que los desarrolladores o
arquitectos.arquitectos.
77
ConclusiónConclusión
Los modelos ágiles dan mayor autonomíaLos modelos ágiles dan mayor autonomía
al desarrollador, y comunicación conal desarrollador, y comunicación con
cliente, plantea equipos autogestionados,cliente, plantea equipos autogestionados,
evita micromanagering y reduceevita micromanagering y reduce
documentación.documentación.

Más contenido relacionado

Destacado

Destacado (19)

Introducción al Test-Driven Development (TDD) por Eric Mignot
Introducción al Test-Driven Development (TDD) por Eric MignotIntroducción al Test-Driven Development (TDD) por Eric Mignot
Introducción al Test-Driven Development (TDD) por Eric Mignot
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
TDD
TDDTDD
TDD
 
Cómo hacer Test Driven Development
Cómo hacer Test Driven DevelopmentCómo hacer Test Driven Development
Cómo hacer Test Driven Development
 
Bon news
Bon newsBon news
Bon news
 
Introducción a tdd
Introducción a tddIntroducción a tdd
Introducción a tdd
 
TDD (Test-Driven Development)
TDD (Test-Driven Development)TDD (Test-Driven Development)
TDD (Test-Driven Development)
 
Introducción a TDD
Introducción a TDDIntroducción a TDD
Introducción a TDD
 
XP - Pair Programming y TDD - en la práctica
XP - Pair Programming y TDD - en la prácticaXP - Pair Programming y TDD - en la práctica
XP - Pair Programming y TDD - en la práctica
 
Breve introducción a TDD con Phpunit
Breve introducción a TDD con PhpunitBreve introducción a TDD con Phpunit
Breve introducción a TDD con Phpunit
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
Calidad de software y TDD
Calidad de software y TDDCalidad de software y TDD
Calidad de software y TDD
 
TDD Course (Spanish)
TDD Course (Spanish)TDD Course (Spanish)
TDD Course (Spanish)
 
Pruebas Unitarias - Uso de NUnit dentro de proyectos .NET
Pruebas Unitarias - Uso de NUnit dentro de proyectos .NETPruebas Unitarias - Uso de NUnit dentro de proyectos .NET
Pruebas Unitarias - Uso de NUnit dentro de proyectos .NET
 
BDD TDD ATDD
BDD TDD ATDDBDD TDD ATDD
BDD TDD ATDD
 
Automatizacion De Pruebas De Software
Automatizacion De Pruebas De SoftwareAutomatizacion De Pruebas De Software
Automatizacion De Pruebas De Software
 
Pruebas unitarias
Pruebas unitariasPruebas unitarias
Pruebas unitarias
 
Test Driven Development (TDD)
Test Driven Development (TDD)Test Driven Development (TDD)
Test Driven Development (TDD)
 
Pruebas de unidad
Pruebas de unidadPruebas de unidad
Pruebas de unidad
 

Similar a Joseluisseijoreig samuelsánchezmuñoz

Metodologías Aágiles: TDD (Test Driven development)
Metodologías Aágiles: TDD (Test Driven development)Metodologías Aágiles: TDD (Test Driven development)
Metodologías Aágiles: TDD (Test Driven development)Martín Machuca
 
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
 
Módulo 4. Desarrollador ágil
Módulo 4. Desarrollador ágilMódulo 4. Desarrollador ágil
Módulo 4. Desarrollador ágilJohnny Ordóñez
 
#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 DevOpsHablemosDeTesting
 
Comparación de dos Metodologias
Comparación de dos MetodologiasComparación de dos Metodologias
Comparación de dos Metodologiaszonajava
 
Rup vs. xp
Rup vs. xpRup vs. xp
Rup vs. xpjhon
 
Rup vs. xp
Rup vs. xpRup vs. xp
Rup vs. xpljds
 
Como hacer tdd y no morir en el intento
Como hacer tdd y no morir en el intentoComo hacer tdd y no morir en el intento
Como hacer tdd y no morir en el intentoHernan Wilkinson
 
Behavior1
Behavior1Behavior1
Behavior1arajar
 
Desarrollo ágil
Desarrollo ágilDesarrollo ágil
Desarrollo ágilfponceh
 
Devops meetup 10 diciembre 2014
Devops meetup 10 diciembre 2014 Devops meetup 10 diciembre 2014
Devops meetup 10 diciembre 2014 Eduardo Diaz
 
Desarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por PruebasDesarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por Pruebas.. ..
 

Similar a Joseluisseijoreig samuelsánchezmuñoz (20)

Metodologías Aágiles: TDD (Test Driven development)
Metodologías Aágiles: TDD (Test Driven development)Metodologías Aágiles: TDD (Test Driven development)
Metodologías Aágiles: TDD (Test Driven development)
 
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
 
desarrollo agil-2022.pdf
desarrollo agil-2022.pdfdesarrollo agil-2022.pdf
desarrollo agil-2022.pdf
 
Módulo 4. Desarrollador ágil
Módulo 4. Desarrollador ágilMódulo 4. Desarrollador ágil
Módulo 4. Desarrollador ágil
 
Metodologias agiles
Metodologias agilesMetodologias agiles
Metodologias agiles
 
#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
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
Comparación de dos Metodologias
Comparación de dos MetodologiasComparación de dos Metodologias
Comparación de dos Metodologias
 
Rup vs. xp
Rup vs. xpRup vs. xp
Rup vs. xp
 
Rup vs. xp
Rup vs. xpRup vs. xp
Rup vs. xp
 
Rup vs. xp
Rup vs. xpRup vs. xp
Rup vs. xp
 
Como hacer tdd y no morir en el intento
Como hacer tdd y no morir en el intentoComo hacer tdd y no morir en el intento
Como hacer tdd y no morir en el intento
 
Behavior1
Behavior1Behavior1
Behavior1
 
TDD
TDDTDD
TDD
 
Desarrollo y diseño de software
Desarrollo y diseño de softwareDesarrollo y diseño de software
Desarrollo y diseño de software
 
Metodologías de Desarrollo de Software
Metodologías de Desarrollo de SoftwareMetodologías de Desarrollo de Software
Metodologías de Desarrollo de Software
 
Desarrollo ágil
Desarrollo ágilDesarrollo ágil
Desarrollo ágil
 
Material trainer-depc-v1-parte2
Material trainer-depc-v1-parte2Material trainer-depc-v1-parte2
Material trainer-depc-v1-parte2
 
Devops meetup 10 diciembre 2014
Devops meetup 10 diciembre 2014 Devops meetup 10 diciembre 2014
Devops meetup 10 diciembre 2014
 
Desarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por PruebasDesarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por Pruebas
 

Último

CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 

Último (16)

CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 

Joseluisseijoreig samuelsánchezmuñoz

  • 1. 11 Introducción a TDD (Test DrivenIntroducción a TDD (Test Driven Development)Development) Samuel Sánchez MuñozSamuel Sánchez Muñoz Jose Luis Seijo ReigJose Luis Seijo Reig
  • 2. 22 ¿Qué es?¿Qué es? Proceso de desarrollo de softwareProceso de desarrollo de software orientado a pruebas.orientado a pruebas. Se basa en la idea de desarrollar pruebas,Se basa en la idea de desarrollar pruebas, codificar y refactorizar el códigocodificar y refactorizar el código construido.construido.
  • 3. 33 Test Driven DevelopmentTest Driven Development TDD se basa en la idea de realizarTDD se basa en la idea de realizar pruebas unitarias para el código quepruebas unitarias para el código que debemos desarrollar. A diferencia deldebemos desarrollar. A diferencia del procedimiento que usamos habitualmente,procedimiento que usamos habitualmente, desarrollar el código y después realizardesarrollar el código y después realizar las pruebas unitarias.las pruebas unitarias. TDD además añade el code refactoring,TDD además añade el code refactoring, reestructuración del código implementado.reestructuración del código implementado.
  • 4. 44 Ciclo de desarrollo de TDD.Ciclo de desarrollo de TDD. 1ª) Elegir un requisito a desarrollar.1ª) Elegir un requisito a desarrollar. 2ª) Crear la prueba o test.2ª) Crear la prueba o test. 3ª) Ejecutar los tests: falla3ª) Ejecutar los tests: falla ((ROJOROJO).). 4ª) Crear código especifico para resolver el test.4ª) Crear código especifico para resolver el test. 5ª) Ejecutar de nuevo los tests: pasa5ª) Ejecutar de nuevo los tests: pasa ((VERDEVERDE).). 6ª) Refactorizar el código.6ª) Refactorizar el código. 7ª) Ejecutar los tests: pasa7ª) Ejecutar los tests: pasa ((VERDEVERDE).).
  • 5. 55 Ventajas.Ventajas. -- Los casos de prueba sirven comoLos casos de prueba sirven como documentación del sistema.documentación del sistema. - Al escribir una prueba unitaria, se piensa- Al escribir una prueba unitaria, se piensa en la forma correcta de utilizar un móduloen la forma correcta de utilizar un módulo que aún no existe.que aún no existe. - Las pruebas permiten perder el miedo a- Las pruebas permiten perder el miedo a realizar modificaciones en el código.realizar modificaciones en el código.
  • 6. 66 Inconvenientes.Inconvenientes. - TDD es difícil de usar en situaciones donde- TDD es difícil de usar en situaciones donde hacen falta todas las pruebas funcionales parahacen falta todas las pruebas funcionales para determinar éxito o fracaso.determinar éxito o fracaso. - El soporte de la gestión es esencial. Sin la- El soporte de la gestión es esencial. Sin la creencia de toda la organización de que TDD vacreencia de toda la organización de que TDD va a mejorar el producto, la gestión sentirá que sea mejorar el producto, la gestión sentirá que se pierde tiempo escribiendo pruebas.pierde tiempo escribiendo pruebas. - Las pruebas se han visto históricamente como- Las pruebas se han visto históricamente como una posición más baja que los desarrolladores ouna posición más baja que los desarrolladores o arquitectos.arquitectos.
  • 7. 77 ConclusiónConclusión Los modelos ágiles dan mayor autonomíaLos modelos ágiles dan mayor autonomía al desarrollador, y comunicación conal desarrollador, y comunicación con cliente, plantea equipos autogestionados,cliente, plantea equipos autogestionados, evita micromanagering y reduceevita micromanagering y reduce documentación.documentación.