SlideShare una empresa de Scribd logo
1 de 16
Descargar para leer sin conexión
   
Desarrollo Guiado por Pruebas
Introducción
   
TDD - Introducción
En ingles:
Test-driven Development
O simplemente:
TDD
   
TDD - Introducción
¿Que es TDD?
●
Una forma de desarrollar funcionalidades a
partir de casos de uso.
●
Se desarrolla una funcionalidad a partir de una
pruebas que representa al caso de uso.
   
TDD - Introducción
TDD != Testing
   
TDD - Introducción
TDD != Testing
TDD no es hacer test del código que ya existe,
para eso tenemos grupos de testing
especializados (que van a tratar de destruir nuestro código).
   
TDD - Introducción
TDD != Testing
TDD es desarrollar casos de uso a través de
pruebas
   
TDD - Introducción
TDD se apoya sobre otras dos practicas:
➔
Test First Development
➔
Refactoring
   
TDD - Introducción
Test First Development
Esta metodología nos propone desarrollar primero
una prueba de un caso de uso y luego la
funcionalidad que esta validando.
   
TDD - Introducción
Pasos para aplicar Test First Development
Primero, escribimos una prueba(método de test) basada en un caso de uso y
verificamos que la pruebas falle. Si la prueba no pasa obtenemos un ROJO.
Segundo, implementamos el código funcional necesario para que la prueba pase (Ni mas
ni menos, "Keep It Simple, Stupid" (KISS) ). Si la prueba Pasa obtenemos un VERDE.
Tercero, una ves que nuestra prueba pasa, podemos comenzar a pensar en refactorizar
la funcionalidad. Tenemos que obtener un VERDE ya que esta todo probado.
   
TDD - Introducción
Test First Development
Primero, escribimos una prueba(método de test) basada en un caso de uso y
verificamos que la pruebas falle. Si la prueba no pasa obtenemos un ROJO.
Segundo, implementamos el código funcional necesario para que la prueba pase (Ni mas
ni menos, "Keep It Simple, Stupid" (KISS) ). Si la prueba Pasa obtenemos un VERDE.
Tercero, una ves que nuestra prueba pasa, podemos comenzar a pensar en refactorizar
la funcionalidad. Tenemos que obtener un VERDE ya que esta todo probado.
   
TDD - Introducción
Test First Development
Primero, escribimos una prueba(método de test) basada en un caso de uso y
verificamos que la pruebas falle. Si la prueba no pasa obtenemos un ROJO.
Segundo, implementamos el código funcional necesario para que la prueba pase (Ni mas
ni menos, "Keep It Simple, Stupid" (KISS) ). Si la prueba Pasa obtenemos un VERDE.
Tercero, una vez que nuestra prueba pasa, podemos comenzar a pensar en refactorizar
la funcionalidad. Tenemos que obtener un VERDE ya que esta todo probado.
   
TDD - Introducción
Refactoring
La idea detrás del refactor es mejorar el diseño el
código modificándolo a través de una
herramienta que automatiza las modificaciones.
   
TDD - Introducción
Refactoring
●
No es lo mismo que modificar el código a mano.
●
Una herramienta no comete errores, garantizando
que nuestro código siempre siga funcionando.
   
TDD - Introducción
¿Pero por donde comienzo?
   
TDD - Introducción
Usemos JUnit 4 con anotaciones para escribir pruebas:
●
@Test
●
@Before
●
@After
●
@BeforeClass
●
@AfterClass
   
TDD - Introducción
Video para ver:
● TDD Avanzado ­ Parte 1
● TDD Avanzado Parte 2
● Carlos Ble. TDD

Más contenido relacionado

La actualidad más candente

The art of unit testing
The art of unit testingThe art of unit testing
The art of unit testingRafael Avaria
 
Pruebas Unitarias
Pruebas UnitariasPruebas Unitarias
Pruebas Unitariasggarber
 
TDD (Test-Driven Development)
TDD (Test-Driven Development)TDD (Test-Driven Development)
TDD (Test-Driven Development)Senior Dev
 
Tests Unitarios con JUnit 4
Tests Unitarios con JUnit 4Tests Unitarios con JUnit 4
Tests Unitarios con JUnit 4Paulo Clavijo
 
Workshop - Pruebas Unitarias (con Java)
Workshop - Pruebas Unitarias (con Java)Workshop - Pruebas Unitarias (con Java)
Workshop - Pruebas Unitarias (con Java)microgestion
 
No debuggearás - Introducción al Unit Testing y TDD
No debuggearás - Introducción al Unit Testing y TDDNo debuggearás - Introducción al Unit Testing y TDD
No debuggearás - Introducción al Unit Testing y TDDreyiyo
 
Cartuja.NET: ALMDeando Making better tests
Cartuja.NET: ALMDeando Making better testsCartuja.NET: ALMDeando Making better tests
Cartuja.NET: ALMDeando Making better testsJuan María Laó Ramos
 
Lima agile day tdd con visual studio 2010
Lima agile day   tdd con visual studio 2010Lima agile day   tdd con visual studio 2010
Lima agile day tdd con visual studio 2010Gustavo Veliz
 
Desambiguación del Término - Pruebas Unitarias - por Jorge H. Abad abad L.
Desambiguación del Término -  Pruebas Unitarias - por Jorge H. Abad abad L.Desambiguación del Término -  Pruebas Unitarias - por Jorge H. Abad abad L.
Desambiguación del Término - Pruebas Unitarias - por Jorge H. Abad abad L.Jorge Hernán Abad Londoño
 
Taller SOLID Refactor
Taller SOLID RefactorTaller SOLID Refactor
Taller SOLID RefactorAgile Spain
 
Conceptos básicos de Unit Test
Conceptos básicos de Unit Test Conceptos básicos de Unit Test
Conceptos básicos de Unit Test Juan Vladimir
 
Artalde Tdd intro
Artalde Tdd introArtalde Tdd intro
Artalde Tdd introfperezplain
 

La actualidad más candente (20)

Seminario SOLID-TDD
Seminario SOLID-TDDSeminario SOLID-TDD
Seminario SOLID-TDD
 
The art of unit testing
The art of unit testingThe art of unit testing
The art of unit testing
 
Pruebas Unitarias
Pruebas UnitariasPruebas Unitarias
Pruebas Unitarias
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
Test unitarios
Test unitariosTest unitarios
Test unitarios
 
Introduction to unit testing
Introduction to unit testingIntroduction to unit testing
Introduction to unit testing
 
TDD (Test-Driven Development)
TDD (Test-Driven Development)TDD (Test-Driven Development)
TDD (Test-Driven Development)
 
Tests Unitarios con JUnit 4
Tests Unitarios con JUnit 4Tests Unitarios con JUnit 4
Tests Unitarios con JUnit 4
 
Workshop - Pruebas Unitarias (con Java)
Workshop - Pruebas Unitarias (con Java)Workshop - Pruebas Unitarias (con Java)
Workshop - Pruebas Unitarias (con Java)
 
No debuggearás - Introducción al Unit Testing y TDD
No debuggearás - Introducción al Unit Testing y TDDNo debuggearás - Introducción al Unit Testing y TDD
No debuggearás - Introducción al Unit Testing y TDD
 
Cartuja.NET: ALMDeando Making better tests
Cartuja.NET: ALMDeando Making better testsCartuja.NET: ALMDeando Making better tests
Cartuja.NET: ALMDeando Making better tests
 
Pruebas unitarias
Pruebas unitariasPruebas unitarias
Pruebas unitarias
 
Lima agile day tdd con visual studio 2010
Lima agile day   tdd con visual studio 2010Lima agile day   tdd con visual studio 2010
Lima agile day tdd con visual studio 2010
 
Actividad 07 zsar
Actividad 07 zsarActividad 07 zsar
Actividad 07 zsar
 
Desambiguación del Término - Pruebas Unitarias - por Jorge H. Abad abad L.
Desambiguación del Término -  Pruebas Unitarias - por Jorge H. Abad abad L.Desambiguación del Término -  Pruebas Unitarias - por Jorge H. Abad abad L.
Desambiguación del Término - Pruebas Unitarias - por Jorge H. Abad abad L.
 
Pruebas Unitarias
Pruebas Unitarias Pruebas Unitarias
Pruebas Unitarias
 
Taller SOLID Refactor
Taller SOLID RefactorTaller SOLID Refactor
Taller SOLID Refactor
 
Conceptos básicos de Unit Test
Conceptos básicos de Unit Test Conceptos básicos de Unit Test
Conceptos básicos de Unit Test
 
Artalde Tdd intro
Artalde Tdd introArtalde Tdd intro
Artalde Tdd intro
 

Destacado

Pacman practica de clase
Pacman practica de clasePacman practica de clase
Pacman practica de claseLiliana Sanchez
 
심장기능병, 심부전 입원처방
심장기능병, 심부전 입원처방 심장기능병, 심부전 입원처방
심장기능병, 심부전 입원처방 a7309dcb
 
What is chinese new year?
What is chinese new year?What is chinese new year?
What is chinese new year?miamichi
 
제 30차 설득의 심리학 워크샵 (2016년 6월 13-14일)
제 30차 설득의 심리학 워크샵 (2016년 6월 13-14일)제 30차 설득의 심리학 워크샵 (2016년 6월 13-14일)
제 30차 설득의 심리학 워크샵 (2016년 6월 13-14일)THE LAB h
 
의료방사선 안전규제 현황 및 전망
의료방사선 안전규제 현황 및 전망의료방사선 안전규제 현황 및 전망
의료방사선 안전규제 현황 및 전망a7309dcb
 
2013 2014. 4ºeso final 1ªevaluación
2013 2014. 4ºeso final 1ªevaluación2013 2014. 4ºeso final 1ªevaluación
2013 2014. 4ºeso final 1ªevaluaciónChemagutierrez73
 
2013 2014. 4ºeso. temas 14,15,16,17
2013 2014. 4ºeso. temas 14,15,16,172013 2014. 4ºeso. temas 14,15,16,17
2013 2014. 4ºeso. temas 14,15,16,17Chemagutierrez73
 
Blog. 4º e.s.o. global 3ªevaluación 2010 2011
Blog. 4º e.s.o. global 3ªevaluación 2010 2011Blog. 4º e.s.o. global 3ªevaluación 2010 2011
Blog. 4º e.s.o. global 3ªevaluación 2010 2011Chemagutierrez73
 
2013 2014. 4ºeso final. 2ªevaluación
2013 2014. 4ºeso final.  2ªevaluación2013 2014. 4ºeso final.  2ªevaluación
2013 2014. 4ºeso final. 2ªevaluaciónChemagutierrez73
 
Gastronomia venezolana
Gastronomia venezolanaGastronomia venezolana
Gastronomia venezolanaJackelin Ramos
 

Destacado (12)

Test
TestTest
Test
 
Pacman practica de clase
Pacman practica de clasePacman practica de clase
Pacman practica de clase
 
que es el plan
que es el planque es el plan
que es el plan
 
심장기능병, 심부전 입원처방
심장기능병, 심부전 입원처방 심장기능병, 심부전 입원처방
심장기능병, 심부전 입원처방
 
What is chinese new year?
What is chinese new year?What is chinese new year?
What is chinese new year?
 
제 30차 설득의 심리학 워크샵 (2016년 6월 13-14일)
제 30차 설득의 심리학 워크샵 (2016년 6월 13-14일)제 30차 설득의 심리학 워크샵 (2016년 6월 13-14일)
제 30차 설득의 심리학 워크샵 (2016년 6월 13-14일)
 
의료방사선 안전규제 현황 및 전망
의료방사선 안전규제 현황 및 전망의료방사선 안전규제 현황 및 전망
의료방사선 안전규제 현황 및 전망
 
2013 2014. 4ºeso final 1ªevaluación
2013 2014. 4ºeso final 1ªevaluación2013 2014. 4ºeso final 1ªevaluación
2013 2014. 4ºeso final 1ªevaluación
 
2013 2014. 4ºeso. temas 14,15,16,17
2013 2014. 4ºeso. temas 14,15,16,172013 2014. 4ºeso. temas 14,15,16,17
2013 2014. 4ºeso. temas 14,15,16,17
 
Blog. 4º e.s.o. global 3ªevaluación 2010 2011
Blog. 4º e.s.o. global 3ªevaluación 2010 2011Blog. 4º e.s.o. global 3ªevaluación 2010 2011
Blog. 4º e.s.o. global 3ªevaluación 2010 2011
 
2013 2014. 4ºeso final. 2ªevaluación
2013 2014. 4ºeso final.  2ªevaluación2013 2014. 4ºeso final.  2ªevaluación
2013 2014. 4ºeso final. 2ªevaluación
 
Gastronomia venezolana
Gastronomia venezolanaGastronomia venezolana
Gastronomia venezolana
 

Similar a Introducción a TDD

pruebasunitarias-110921232512-phpapp02.pptx
pruebasunitarias-110921232512-phpapp02.pptxpruebasunitarias-110921232512-phpapp02.pptx
pruebasunitarias-110921232512-phpapp02.pptxCompusoftnetCiaLtda
 
Cursotdd 141202105217-conversion-gate01
Cursotdd 141202105217-conversion-gate01Cursotdd 141202105217-conversion-gate01
Cursotdd 141202105217-conversion-gate01Javier Morales
 
Joseluisseijoreig samuelsánchezmuñoz
Joseluisseijoreig samuelsánchezmuñozJoseluisseijoreig samuelsánchezmuñoz
Joseluisseijoreig samuelsánchezmuñozjoseluisseijo
 
Artesania de Software y TDD
Artesania de Software y TDDArtesania de Software y TDD
Artesania de Software y TDDAlfredo Chavez
 
Artesania de Software y TDD
Artesania de Software y TDDArtesania de Software y TDD
Artesania de Software y TDDAlfredo Chavez
 
Vuelta_a_los_origines_Testing.pdf
Vuelta_a_los_origines_Testing.pdfVuelta_a_los_origines_Testing.pdf
Vuelta_a_los_origines_Testing.pdfPabloMorales831994
 
Seminario de Test Development Driven
Seminario de Test Development DrivenSeminario de Test Development Driven
Seminario de Test Development DrivenParadigma Digital
 
Integracion Continua
Integracion ContinuaIntegracion Continua
Integracion ContinuaLenin Lozano
 
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
 
Cypress en un mundo lleno de Selenium
Cypress en un mundo lleno de SeleniumCypress en un mundo lleno de Selenium
Cypress en un mundo lleno de SeleniumSoftware Guru
 
Pruebas Automatizadas
Pruebas AutomatizadasPruebas Automatizadas
Pruebas AutomatizadasAngel Nuñez
 
Automatización de pruebas con Selenium, Typescript, Protractor & Cucumber
Automatización de pruebas con Selenium, Typescript, Protractor & CucumberAutomatización de pruebas con Selenium, Typescript, Protractor & Cucumber
Automatización de pruebas con Selenium, Typescript, Protractor & CucumberSoftware Guru
 
Testing & debugging lightning web components
Testing & debugging lightning web componentsTesting & debugging lightning web components
Testing & debugging lightning web componentsFederico Giust
 

Similar a Introducción a TDD (20)

Introducción a tdd
Introducción a tddIntroducción a tdd
Introducción a tdd
 
7iSF-4 test driver development
7iSF-4   test driver development7iSF-4   test driver development
7iSF-4 test driver development
 
Unidad ii. tdd
Unidad ii. tddUnidad ii. tdd
Unidad ii. tdd
 
Presentación: xUnit y Junit
Presentación: xUnit y JunitPresentación: xUnit y Junit
Presentación: xUnit y Junit
 
software testing
software testingsoftware testing
software testing
 
pruebasunitarias-110921232512-phpapp02.pptx
pruebasunitarias-110921232512-phpapp02.pptxpruebasunitarias-110921232512-phpapp02.pptx
pruebasunitarias-110921232512-phpapp02.pptx
 
Cursotdd 141202105217-conversion-gate01
Cursotdd 141202105217-conversion-gate01Cursotdd 141202105217-conversion-gate01
Cursotdd 141202105217-conversion-gate01
 
Joseluisseijoreig samuelsánchezmuñoz
Joseluisseijoreig samuelsánchezmuñozJoseluisseijoreig samuelsánchezmuñoz
Joseluisseijoreig samuelsánchezmuñoz
 
TDD en java script
TDD en java scriptTDD en java script
TDD en java script
 
Artesania de Software y TDD
Artesania de Software y TDDArtesania de Software y TDD
Artesania de Software y TDD
 
Artesania de Software y TDD
Artesania de Software y TDDArtesania de Software y TDD
Artesania de Software y TDD
 
Vuelta_a_los_origines_Testing.pdf
Vuelta_a_los_origines_Testing.pdfVuelta_a_los_origines_Testing.pdf
Vuelta_a_los_origines_Testing.pdf
 
Seminario de Test Development Driven
Seminario de Test Development DrivenSeminario de Test Development Driven
Seminario de Test Development Driven
 
Integracion Continua
Integracion ContinuaIntegracion Continua
Integracion Continua
 
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)
 
Cypress en un mundo lleno de Selenium
Cypress en un mundo lleno de SeleniumCypress en un mundo lleno de Selenium
Cypress en un mundo lleno de Selenium
 
Pruebas Automatizadas
Pruebas AutomatizadasPruebas Automatizadas
Pruebas Automatizadas
 
TDD
TDDTDD
TDD
 
Automatización de pruebas con Selenium, Typescript, Protractor & Cucumber
Automatización de pruebas con Selenium, Typescript, Protractor & CucumberAutomatización de pruebas con Selenium, Typescript, Protractor & Cucumber
Automatización de pruebas con Selenium, Typescript, Protractor & Cucumber
 
Testing & debugging lightning web components
Testing & debugging lightning web componentsTesting & debugging lightning web components
Testing & debugging lightning web components
 

Introducción a TDD

  • 1.     Desarrollo Guiado por Pruebas Introducción
  • 2.     TDD - Introducción En ingles: Test-driven Development O simplemente: TDD
  • 3.     TDD - Introducción ¿Que es TDD? ● Una forma de desarrollar funcionalidades a partir de casos de uso. ● Se desarrolla una funcionalidad a partir de una pruebas que representa al caso de uso.
  • 4.     TDD - Introducción TDD != Testing
  • 5.     TDD - Introducción TDD != Testing TDD no es hacer test del código que ya existe, para eso tenemos grupos de testing especializados (que van a tratar de destruir nuestro código).
  • 6.     TDD - Introducción TDD != Testing TDD es desarrollar casos de uso a través de pruebas
  • 7.     TDD - Introducción TDD se apoya sobre otras dos practicas: ➔ Test First Development ➔ Refactoring
  • 8.     TDD - Introducción Test First Development Esta metodología nos propone desarrollar primero una prueba de un caso de uso y luego la funcionalidad que esta validando.
  • 9.     TDD - Introducción Pasos para aplicar Test First Development Primero, escribimos una prueba(método de test) basada en un caso de uso y verificamos que la pruebas falle. Si la prueba no pasa obtenemos un ROJO. Segundo, implementamos el código funcional necesario para que la prueba pase (Ni mas ni menos, "Keep It Simple, Stupid" (KISS) ). Si la prueba Pasa obtenemos un VERDE. Tercero, una ves que nuestra prueba pasa, podemos comenzar a pensar en refactorizar la funcionalidad. Tenemos que obtener un VERDE ya que esta todo probado.
  • 10.     TDD - Introducción Test First Development Primero, escribimos una prueba(método de test) basada en un caso de uso y verificamos que la pruebas falle. Si la prueba no pasa obtenemos un ROJO. Segundo, implementamos el código funcional necesario para que la prueba pase (Ni mas ni menos, "Keep It Simple, Stupid" (KISS) ). Si la prueba Pasa obtenemos un VERDE. Tercero, una ves que nuestra prueba pasa, podemos comenzar a pensar en refactorizar la funcionalidad. Tenemos que obtener un VERDE ya que esta todo probado.
  • 11.     TDD - Introducción Test First Development Primero, escribimos una prueba(método de test) basada en un caso de uso y verificamos que la pruebas falle. Si la prueba no pasa obtenemos un ROJO. Segundo, implementamos el código funcional necesario para que la prueba pase (Ni mas ni menos, "Keep It Simple, Stupid" (KISS) ). Si la prueba Pasa obtenemos un VERDE. Tercero, una vez que nuestra prueba pasa, podemos comenzar a pensar en refactorizar la funcionalidad. Tenemos que obtener un VERDE ya que esta todo probado.
  • 12.     TDD - Introducción Refactoring La idea detrás del refactor es mejorar el diseño el código modificándolo a través de una herramienta que automatiza las modificaciones.
  • 13.     TDD - Introducción Refactoring ● No es lo mismo que modificar el código a mano. ● Una herramienta no comete errores, garantizando que nuestro código siempre siga funcionando.
  • 14.     TDD - Introducción ¿Pero por donde comienzo?
  • 15.     TDD - Introducción Usemos JUnit 4 con anotaciones para escribir pruebas: ● @Test ● @Before ● @After ● @BeforeClass ● @AfterClass
  • 16.     TDD - Introducción Video para ver: ● TDD Avanzado ­ Parte 1 ● TDD Avanzado Parte 2 ● Carlos Ble. TDD