SlideShare una empresa de Scribd logo
TOI  Test-Driven Development (TDD) ,[object Object],[object Object],[object Object],[object Object]
Resumen del TOI “ SÓLO ESCRIBIR CÓDIGO PARA ARREGLAR UN TEST QUE FALLA”
GRACIAS
Es un proceso 3 : REFACTOR 2 : ESCRIBIR CÓDIGO 1 : ESCRIBIR UN TEST
Pros y cons de usar TDD ,[object Object],[object Object],[object Object],[object Object]
¿Realmente es más esfuerzo? http://blog.objectmentor.com/articles/2007/09/30/why-you-have-time-for-tdd-but-may-not-know-it-yet   Evolución ideal del proyecto Evolución REAL del proyecto Evolución del proyecto haciendo TDD + IC
Buena práctica “ TDD incluye pruebas unitarias y funcionales automatizadas. Ambas se escriben ANTES que el código que especifican. Las pruebas unitarias se escriben segundos antes, y las pruebas de acpetación horas o incluso días antes. Es posible ganar lo mismo haciendo las pruebas DESPUÉS. Sin embargo, es mucho más difícil. Las pruebas que se escriben ANTES no están tan influidas por la implementación. Las pruebas de aceptación ANTES de implementar son especificaciones de lo que debería ser.  Las pruebas de aceptación DESPUÉS de implementar son frecuentemente especificaciones de lo que es.” http://blog.objectmentor.com/articles/2007/09/30/why-you-have-time-for-tdd-but-may-not-know-it-yet
Buena práctica http://homepage.mac.com/keithray/blog/2006/11/19#JanesRuleDishWasher
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],CALIDAD
Calidad LA CALIDAD ES  GRATIS PERO TIENE UN COSTE
Acceptance TDD Acceptance Test-Driven User Story DEFINITION OF DONE
¿Qué tiene que ver con IC? ,[object Object],[object Object]
LAB-1 : TestFirstChallenge ,[object Object],[object Object]
LAB-1 : TestFirstChallenge ,[object Object],[object Object],[object Object],[object Object]
LAB-2 : MoneyExample ,[object Object],[object Object]
LAB-2 : MoneyExample ,[object Object],[object Object],[object Object]
LAB-2 (testMultiplication) @Test public   void  testMultiplication() { Dollar  five =  new  Dollar(5); assertEquals ( new  Dollar(10), five.times(2)); } ,[object Object],[object Object],[object Object],[object Object],[object Object]
LAB-2 (testEquality) @Test public   void  testMultiplication() { Dollar  five =  new  Dollar(5); assertEquals ( new  Dollar(10), five.times(2)); } @Test public   void  testEquality() { assertTrue ( new  Dollar(5).equals( new  Dollar(5))); assertFalse ( new  Dollar(5).equals( new  Dollar(6))); } ,[object Object],[object Object]
LAB-2 (testMultiplication) @Test public   void  testMultiplication() { Dollar  five =  new  Dollar(5); assertEquals ( new  Dollar(10), five.times(2)); assertEquals ( new  Dollar(15), five.times(3)); } ,[object Object],[object Object]
LAB-2 (testEuroMultiplication) @Test public   void  testEuroMultiplication() { Euro  five =  new  Euro(5); assertEquals ( new  Euro(10), five.times(2)); assertEquals ( new  Euro(15), five.times(3)); } ,[object Object],[object Object]
LAB-2 (testEuroMultiplication) assertFalse ( new  Euro(5).equals(new Dollar(5))); ,[object Object],[object Object]
LAB-2 (testSimpleAdditionSameCurrency) @Test public   void  testSimpleAdditionSameCurrency() { Money sumOfDollars =  new  Dollar(5).plus( new  Dollar(5)); assertEquals ( new  Dollar(10), sumOfDollars); } ,[object Object],[object Object],[object Object]
LAB-2 (testBankExchangeRate) @Test public   void  testBankExchangeRate() { Bank bank =  new  Bank(); bank.addRate(Euro. class ,Dollar. class , new  Double(2)); assertEquals ( new  Double(2), bank.getRate(Euro. class ,Dollar. class )); bank.addRate(Euro. class ,Dollar. class , new  Double(3)); assertEquals ( new  Double(3), bank.getRate(Euro. class ,Dollar. class )); } ,[object Object],[object Object]
LAB-2 (testBankExchangeRate) @Test public   void  testBankExchangeEurosToDollars() { Bank bank =  new  Bank(); bank.addRate(Euro. class ,Dollar. class , new  Double(2)); Money result = bank.exchange( new  Euro(10), Dollar. class ); assertEquals ( new  Dollar(5), result); } ,[object Object],[object Object],[object Object]
LAB-2 (testSimpleAdditionDifferentCurrency) @Test public   void  testSimpleAdditionDifferentCurrency() { Bank bank =  new  Bank(); bank.addRate(Euro. class ,Dollar. class , new  Double(2)); Money result = bank.exchange( new  Euro(10), Dollar. class ). plus( new  Dollar(5)); assertEquals ( new  Dollar(10), result); bank.addRate(Dollar. class ,Euro. class , new  Double(0.5)); result = bank.exchange( new  Dollar(5), Euro. class ). plus( new  Euro(3)); assertEquals ( new  Euro(13), result); } ,[object Object],[object Object]
Conceptos (I) FIXTURE COLABORADORES
Conceptos (II) DOBLES DE PRUEBAS PROBAR EL ESTADO vs PROBAR LAS INTERACCIONES http://fry/dokeos/courses/TOIIPC003   http://flexo/svnRepo/TOI/TOI-DoblesPrueba
Temas relacionados ,[object Object],[object Object],[object Object]
TDD en diferentes entornos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Bibliografía recomendada
Enlaces http://www.theserverside.com/tt/articles/article.tss?l=JMockTestDrivenDev   http://www.jmock.org/oopsla2004.pdf   http://www.theserverside.com/tt/articles/article.tss?l=DesigntoUnitTest http://www.ibm.com/developerworks/webservices/library/co-single.html http://www.testearly.com/ http://www.mockobjects.com/ http://www.mockobjects.com/labels/listening%20to%20the%20tests.html
GRACIAS

Más contenido relacionado

Similar a Toi Tdd 20080409

Cesnavarra 2009-boletín 1
Cesnavarra 2009-boletín 1Cesnavarra 2009-boletín 1
Cesnavarra 2009-boletín 1
Cein
 
Seminario de Test Development Driven
Seminario de Test Development DrivenSeminario de Test Development Driven
Seminario de Test Development Driven
Paradigma Digital
 
TDD Workshop
TDD WorkshopTDD Workshop
TDD Workshop
Martin Salias
 
Introducción a Unit Testing y TDD
Introducción a Unit Testing y TDDIntroducción a Unit Testing y TDD
Introducción a Unit Testing y TDD
Fernando Perez
 
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
Hernan Wilkinson
 
Junit y Jmock
Junit y JmockJunit y Jmock
Junit y Jmock
kaolong
 
Qunit CookBook español
Qunit CookBook españolQunit CookBook español
Qunit CookBook español
shadow_of__soul
 
Artalde Tdd intro
Artalde Tdd introArtalde Tdd intro
Artalde Tdd intro
fperezplain
 
Introducción a tdd
Introducción a tddIntroducción a tdd
Introducción a tdd
Juan Jose Villar Ortuño
 
TEMA Nº 7: SENTENCIAS DE CONTROL DE FLUJO EN JAVA II
TEMA Nº 7: SENTENCIAS DE CONTROL DE FLUJO EN JAVA IITEMA Nº 7: SENTENCIAS DE CONTROL DE FLUJO EN JAVA II
TEMA Nº 7: SENTENCIAS DE CONTROL DE FLUJO EN JAVA II
Anyeni Garay
 
Test unitarios
Test unitariosTest unitarios
Test unitarios
Donewtech Solutions
 
Pruebas Unitarias1.pdf
Pruebas Unitarias1.pdfPruebas Unitarias1.pdf
Pruebas Unitarias1.pdf
SERGIO Ibañez
 
Pruebas de aceptación 15 11_2013
Pruebas de aceptación 15 11_2013Pruebas de aceptación 15 11_2013
Pruebas de aceptación 15 11_2013
dayaorte
 
Unidad ii. tdd
Unidad ii. tddUnidad ii. tdd
Unidad ii. tdd
Carlos Castro
 
Tema 9 pruebas unitarias por gio
Tema 9   pruebas unitarias por gioTema 9   pruebas unitarias por gio
Tema 9 pruebas unitarias por gio
Robert Wolf
 
DeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - SpanishDeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - Spanish
Jordi Llonch
 
DeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - SpanishDeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - Spanish
Akamon Engineering
 
DeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - SpanishDeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - Spanish
Jordi Llonch
 
7.1. procedimientos almacenados
7.1.  procedimientos almacenados7.1.  procedimientos almacenados
7.1. procedimientos almacenados
Rigoberto Gonzalez Fuentes
 
Ciclos Java - NetsBeans - Algoritmia
Ciclos Java - NetsBeans - AlgoritmiaCiclos Java - NetsBeans - Algoritmia
Ciclos Java - NetsBeans - Algoritmia
Daniel Gómez
 

Similar a Toi Tdd 20080409 (20)

Cesnavarra 2009-boletín 1
Cesnavarra 2009-boletín 1Cesnavarra 2009-boletín 1
Cesnavarra 2009-boletín 1
 
Seminario de Test Development Driven
Seminario de Test Development DrivenSeminario de Test Development Driven
Seminario de Test Development Driven
 
TDD Workshop
TDD WorkshopTDD Workshop
TDD Workshop
 
Introducción a Unit Testing y TDD
Introducción a Unit Testing y TDDIntroducción a Unit Testing y TDD
Introducción a Unit Testing y TDD
 
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
 
Junit y Jmock
Junit y JmockJunit y Jmock
Junit y Jmock
 
Qunit CookBook español
Qunit CookBook españolQunit CookBook español
Qunit CookBook español
 
Artalde Tdd intro
Artalde Tdd introArtalde Tdd intro
Artalde Tdd intro
 
Introducción a tdd
Introducción a tddIntroducción a tdd
Introducción a tdd
 
TEMA Nº 7: SENTENCIAS DE CONTROL DE FLUJO EN JAVA II
TEMA Nº 7: SENTENCIAS DE CONTROL DE FLUJO EN JAVA IITEMA Nº 7: SENTENCIAS DE CONTROL DE FLUJO EN JAVA II
TEMA Nº 7: SENTENCIAS DE CONTROL DE FLUJO EN JAVA II
 
Test unitarios
Test unitariosTest unitarios
Test unitarios
 
Pruebas Unitarias1.pdf
Pruebas Unitarias1.pdfPruebas Unitarias1.pdf
Pruebas Unitarias1.pdf
 
Pruebas de aceptación 15 11_2013
Pruebas de aceptación 15 11_2013Pruebas de aceptación 15 11_2013
Pruebas de aceptación 15 11_2013
 
Unidad ii. tdd
Unidad ii. tddUnidad ii. tdd
Unidad ii. tdd
 
Tema 9 pruebas unitarias por gio
Tema 9   pruebas unitarias por gioTema 9   pruebas unitarias por gio
Tema 9 pruebas unitarias por gio
 
DeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - SpanishDeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - Spanish
 
DeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - SpanishDeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - Spanish
 
DeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - SpanishDeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - Spanish
 
7.1. procedimientos almacenados
7.1.  procedimientos almacenados7.1.  procedimientos almacenados
7.1. procedimientos almacenados
 
Ciclos Java - NetsBeans - Algoritmia
Ciclos Java - NetsBeans - AlgoritmiaCiclos Java - NetsBeans - Algoritmia
Ciclos Java - NetsBeans - Algoritmia
 

Más de Jose Manuel Beas

Introducción a los mapas de Wardley (para describir nuestro entorno competitivo)
Introducción a los mapas de Wardley (para describir nuestro entorno competitivo)Introducción a los mapas de Wardley (para describir nuestro entorno competitivo)
Introducción a los mapas de Wardley (para describir nuestro entorno competitivo)
Jose Manuel Beas
 
User Story Mapping [webinar DoneTonic, Dic - 2023]
User Story Mapping [webinar DoneTonic, Dic - 2023]User Story Mapping [webinar DoneTonic, Dic - 2023]
User Story Mapping [webinar DoneTonic, Dic - 2023]
Jose Manuel Beas
 
Valor y Tipos de Desperdicio [Dic - 2023]
Valor y Tipos de Desperdicio [Dic - 2023]Valor y Tipos de Desperdicio [Dic - 2023]
Valor y Tipos de Desperdicio [Dic - 2023]
Jose Manuel Beas
 
Introducción a Flow Efficiency [Dic 2023]
Introducción a Flow Efficiency [Dic 2023]Introducción a Flow Efficiency [Dic 2023]
Introducción a Flow Efficiency [Dic 2023]
Jose Manuel Beas
 
Cómo tratar defectos con Kanban [Nov 2023]
Cómo tratar defectos con Kanban [Nov 2023]Cómo tratar defectos con Kanban [Nov 2023]
Cómo tratar defectos con Kanban [Nov 2023]
Jose Manuel Beas
 
Introducción a Team Topologies [Oct 2023]
Introducción a Team Topologies [Oct 2023]Introducción a Team Topologies [Oct 2023]
Introducción a Team Topologies [Oct 2023]
Jose Manuel Beas
 
Priorización de Portfolio para Agility360
Priorización de Portfolio para Agility360Priorización de Portfolio para Agility360
Priorización de Portfolio para Agility360
Jose Manuel Beas
 
Webinar “Repensemos la forma en la que trabajamos; empecemos simplificando”
Webinar “Repensemos la forma en la que trabajamos; empecemos simplificando”Webinar “Repensemos la forma en la que trabajamos; empecemos simplificando”
Webinar “Repensemos la forma en la que trabajamos; empecemos simplificando”
Jose Manuel Beas
 
Internal keynote - La era del agilismo (curated version)
Internal keynote  - La era del agilismo (curated version)Internal keynote  - La era del agilismo (curated version)
Internal keynote - La era del agilismo (curated version)
Jose Manuel Beas
 
Transformar por niveles
Transformar por nivelesTransformar por niveles
Transformar por niveles
Jose Manuel Beas
 
CAS2018 - El poder de las metaforas
CAS2018 - El poder de las metaforasCAS2018 - El poder de las metaforas
CAS2018 - El poder de las metaforas
Jose Manuel Beas
 
Los estados intermedios
Los estados intermediosLos estados intermedios
Los estados intermedios
Jose Manuel Beas
 
How to implement agile in a waterfall company
How to implement agile in a waterfall companyHow to implement agile in a waterfall company
How to implement agile in a waterfall company
Jose Manuel Beas
 
Taller exprés planificación ágil
Taller exprés planificación ágilTaller exprés planificación ágil
Taller exprés planificación ágil
Jose Manuel Beas
 
Scaling Agile without frameworks
Scaling Agile without frameworksScaling Agile without frameworks
Scaling Agile without frameworks
Jose Manuel Beas
 
Gestión de riesgos en proyectos ágiles
Gestión de riesgos en proyectos ágilesGestión de riesgos en proyectos ágiles
Gestión de riesgos en proyectos ágiles
Jose Manuel Beas
 
Codemotion 2014 - Desarrollo Agil de Producto para Emprendedores
Codemotion 2014  - Desarrollo Agil de Producto para EmprendedoresCodemotion 2014  - Desarrollo Agil de Producto para Emprendedores
Codemotion 2014 - Desarrollo Agil de Producto para Emprendedores
Jose Manuel Beas
 
Startups Mansion - Desarrollo Agil de Producto para Emprendedores
Startups Mansion - Desarrollo Agil de Producto para EmprendedoresStartups Mansion - Desarrollo Agil de Producto para Emprendedores
Startups Mansion - Desarrollo Agil de Producto para Emprendedores
Jose Manuel Beas
 
Betabeers Huelva - Agilismo y Lean Startup
Betabeers Huelva - Agilismo y Lean StartupBetabeers Huelva - Agilismo y Lean Startup
Betabeers Huelva - Agilismo y Lean Startup
Jose Manuel Beas
 
DrupalCamp14 Agile product development for startups
DrupalCamp14 Agile product development for startupsDrupalCamp14 Agile product development for startups
DrupalCamp14 Agile product development for startups
Jose Manuel Beas
 

Más de Jose Manuel Beas (20)

Introducción a los mapas de Wardley (para describir nuestro entorno competitivo)
Introducción a los mapas de Wardley (para describir nuestro entorno competitivo)Introducción a los mapas de Wardley (para describir nuestro entorno competitivo)
Introducción a los mapas de Wardley (para describir nuestro entorno competitivo)
 
User Story Mapping [webinar DoneTonic, Dic - 2023]
User Story Mapping [webinar DoneTonic, Dic - 2023]User Story Mapping [webinar DoneTonic, Dic - 2023]
User Story Mapping [webinar DoneTonic, Dic - 2023]
 
Valor y Tipos de Desperdicio [Dic - 2023]
Valor y Tipos de Desperdicio [Dic - 2023]Valor y Tipos de Desperdicio [Dic - 2023]
Valor y Tipos de Desperdicio [Dic - 2023]
 
Introducción a Flow Efficiency [Dic 2023]
Introducción a Flow Efficiency [Dic 2023]Introducción a Flow Efficiency [Dic 2023]
Introducción a Flow Efficiency [Dic 2023]
 
Cómo tratar defectos con Kanban [Nov 2023]
Cómo tratar defectos con Kanban [Nov 2023]Cómo tratar defectos con Kanban [Nov 2023]
Cómo tratar defectos con Kanban [Nov 2023]
 
Introducción a Team Topologies [Oct 2023]
Introducción a Team Topologies [Oct 2023]Introducción a Team Topologies [Oct 2023]
Introducción a Team Topologies [Oct 2023]
 
Priorización de Portfolio para Agility360
Priorización de Portfolio para Agility360Priorización de Portfolio para Agility360
Priorización de Portfolio para Agility360
 
Webinar “Repensemos la forma en la que trabajamos; empecemos simplificando”
Webinar “Repensemos la forma en la que trabajamos; empecemos simplificando”Webinar “Repensemos la forma en la que trabajamos; empecemos simplificando”
Webinar “Repensemos la forma en la que trabajamos; empecemos simplificando”
 
Internal keynote - La era del agilismo (curated version)
Internal keynote  - La era del agilismo (curated version)Internal keynote  - La era del agilismo (curated version)
Internal keynote - La era del agilismo (curated version)
 
Transformar por niveles
Transformar por nivelesTransformar por niveles
Transformar por niveles
 
CAS2018 - El poder de las metaforas
CAS2018 - El poder de las metaforasCAS2018 - El poder de las metaforas
CAS2018 - El poder de las metaforas
 
Los estados intermedios
Los estados intermediosLos estados intermedios
Los estados intermedios
 
How to implement agile in a waterfall company
How to implement agile in a waterfall companyHow to implement agile in a waterfall company
How to implement agile in a waterfall company
 
Taller exprés planificación ágil
Taller exprés planificación ágilTaller exprés planificación ágil
Taller exprés planificación ágil
 
Scaling Agile without frameworks
Scaling Agile without frameworksScaling Agile without frameworks
Scaling Agile without frameworks
 
Gestión de riesgos en proyectos ágiles
Gestión de riesgos en proyectos ágilesGestión de riesgos en proyectos ágiles
Gestión de riesgos en proyectos ágiles
 
Codemotion 2014 - Desarrollo Agil de Producto para Emprendedores
Codemotion 2014  - Desarrollo Agil de Producto para EmprendedoresCodemotion 2014  - Desarrollo Agil de Producto para Emprendedores
Codemotion 2014 - Desarrollo Agil de Producto para Emprendedores
 
Startups Mansion - Desarrollo Agil de Producto para Emprendedores
Startups Mansion - Desarrollo Agil de Producto para EmprendedoresStartups Mansion - Desarrollo Agil de Producto para Emprendedores
Startups Mansion - Desarrollo Agil de Producto para Emprendedores
 
Betabeers Huelva - Agilismo y Lean Startup
Betabeers Huelva - Agilismo y Lean StartupBetabeers Huelva - Agilismo y Lean Startup
Betabeers Huelva - Agilismo y Lean Startup
 
DrupalCamp14 Agile product development for startups
DrupalCamp14 Agile product development for startupsDrupalCamp14 Agile product development for startups
DrupalCamp14 Agile product development for startups
 

Último

LA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptx
LA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptxLA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptx
LA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptx
pauca1501alvar
 
trabajo práctico kuikikiikkidfsmdklfskdnfklsdnfknsdk
trabajo práctico kuikikiikkidfsmdklfskdnfklsdnfknsdktrabajo práctico kuikikiikkidfsmdklfskdnfklsdnfknsdk
trabajo práctico kuikikiikkidfsmdklfskdnfklsdnfknsdk
KukiiSanchez
 
Second Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro TapiaSecond Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro Tapia
al050121024
 
UML_clase_02_UML_casos_de_uso_05 EN DIAGRAMA
UML_clase_02_UML_casos_de_uso_05 EN DIAGRAMAUML_clase_02_UML_casos_de_uso_05 EN DIAGRAMA
UML_clase_02_UML_casos_de_uso_05 EN DIAGRAMA
martinezluis17
 
La Inteligencia Artificial en la actualidad.docx
La Inteligencia Artificial en la actualidad.docxLa Inteligencia Artificial en la actualidad.docx
La Inteligencia Artificial en la actualidad.docx
luiscohailatenazoa0
 
625204013-64-Camino-a-----La-Lectura.pdf
625204013-64-Camino-a-----La-Lectura.pdf625204013-64-Camino-a-----La-Lectura.pdf
625204013-64-Camino-a-----La-Lectura.pdf
yuberpalma
 
Slideshare: definiciòn, registrarse, presentaciones, ventajas y desventajas
Slideshare: definiciòn, registrarse, presentaciones, ventajas y desventajasSlideshare: definiciòn, registrarse, presentaciones, ventajas y desventajas
Slideshare: definiciòn, registrarse, presentaciones, ventajas y desventajas
AdrianaRengifo14
 
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
AbrahamCastillo42
 
El uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptxEl uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptx
jgvanessa23
 
El uso de las TIC por Cecilia Pozos S..pptx
El uso de las TIC  por Cecilia Pozos S..pptxEl uso de las TIC  por Cecilia Pozos S..pptx
El uso de las TIC por Cecilia Pozos S..pptx
cecypozos703
 
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdfPresentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
giampierdiaz5
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
gisellearanguren1
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
cbtechchihuahua
 
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
codesiret
 
INFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIAINFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIA
renzocruz180310
 
CURSO CAMARAS DE SEGURIDAD 2023 FINAL .pdf
CURSO CAMARAS DE SEGURIDAD 2023 FINAL .pdfCURSO CAMARAS DE SEGURIDAD 2023 FINAL .pdf
CURSO CAMARAS DE SEGURIDAD 2023 FINAL .pdf
LagsSolucSoporteTecn
 
Nuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsadNuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsad
larapalaciosmonzon28
 
El uso de las TIC's en la vida cotidiana
El uso de las TIC's en la vida cotidianaEl uso de las TIC's en la vida cotidiana
El uso de las TIC's en la vida cotidiana
231458066
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
doctorsoluciones34
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
KukiiSanchez
 

Último (20)

LA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptx
LA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptxLA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptx
LA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptx
 
trabajo práctico kuikikiikkidfsmdklfskdnfklsdnfknsdk
trabajo práctico kuikikiikkidfsmdklfskdnfklsdnfknsdktrabajo práctico kuikikiikkidfsmdklfskdnfklsdnfknsdk
trabajo práctico kuikikiikkidfsmdklfskdnfklsdnfknsdk
 
Second Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro TapiaSecond Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro Tapia
 
UML_clase_02_UML_casos_de_uso_05 EN DIAGRAMA
UML_clase_02_UML_casos_de_uso_05 EN DIAGRAMAUML_clase_02_UML_casos_de_uso_05 EN DIAGRAMA
UML_clase_02_UML_casos_de_uso_05 EN DIAGRAMA
 
La Inteligencia Artificial en la actualidad.docx
La Inteligencia Artificial en la actualidad.docxLa Inteligencia Artificial en la actualidad.docx
La Inteligencia Artificial en la actualidad.docx
 
625204013-64-Camino-a-----La-Lectura.pdf
625204013-64-Camino-a-----La-Lectura.pdf625204013-64-Camino-a-----La-Lectura.pdf
625204013-64-Camino-a-----La-Lectura.pdf
 
Slideshare: definiciòn, registrarse, presentaciones, ventajas y desventajas
Slideshare: definiciòn, registrarse, presentaciones, ventajas y desventajasSlideshare: definiciòn, registrarse, presentaciones, ventajas y desventajas
Slideshare: definiciòn, registrarse, presentaciones, ventajas y desventajas
 
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
 
El uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptxEl uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptx
 
El uso de las TIC por Cecilia Pozos S..pptx
El uso de las TIC  por Cecilia Pozos S..pptxEl uso de las TIC  por Cecilia Pozos S..pptx
El uso de las TIC por Cecilia Pozos S..pptx
 
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdfPresentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
 
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
 
INFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIAINFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIA
 
CURSO CAMARAS DE SEGURIDAD 2023 FINAL .pdf
CURSO CAMARAS DE SEGURIDAD 2023 FINAL .pdfCURSO CAMARAS DE SEGURIDAD 2023 FINAL .pdf
CURSO CAMARAS DE SEGURIDAD 2023 FINAL .pdf
 
Nuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsadNuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsad
 
El uso de las TIC's en la vida cotidiana
El uso de las TIC's en la vida cotidianaEl uso de las TIC's en la vida cotidiana
El uso de las TIC's en la vida cotidiana
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
 

Toi Tdd 20080409

  • 1.
  • 2. Resumen del TOI “ SÓLO ESCRIBIR CÓDIGO PARA ARREGLAR UN TEST QUE FALLA”
  • 4. Es un proceso 3 : REFACTOR 2 : ESCRIBIR CÓDIGO 1 : ESCRIBIR UN TEST
  • 5.
  • 6. ¿Realmente es más esfuerzo? http://blog.objectmentor.com/articles/2007/09/30/why-you-have-time-for-tdd-but-may-not-know-it-yet Evolución ideal del proyecto Evolución REAL del proyecto Evolución del proyecto haciendo TDD + IC
  • 7. Buena práctica “ TDD incluye pruebas unitarias y funcionales automatizadas. Ambas se escriben ANTES que el código que especifican. Las pruebas unitarias se escriben segundos antes, y las pruebas de acpetación horas o incluso días antes. Es posible ganar lo mismo haciendo las pruebas DESPUÉS. Sin embargo, es mucho más difícil. Las pruebas que se escriben ANTES no están tan influidas por la implementación. Las pruebas de aceptación ANTES de implementar son especificaciones de lo que debería ser. Las pruebas de aceptación DESPUÉS de implementar son frecuentemente especificaciones de lo que es.” http://blog.objectmentor.com/articles/2007/09/30/why-you-have-time-for-tdd-but-may-not-know-it-yet
  • 9.
  • 10. Calidad LA CALIDAD ES GRATIS PERO TIENE UN COSTE
  • 11. Acceptance TDD Acceptance Test-Driven User Story DEFINITION OF DONE
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26. Conceptos (I) FIXTURE COLABORADORES
  • 27. Conceptos (II) DOBLES DE PRUEBAS PROBAR EL ESTADO vs PROBAR LAS INTERACCIONES http://fry/dokeos/courses/TOIIPC003 http://flexo/svnRepo/TOI/TOI-DoblesPrueba
  • 28.
  • 29.
  • 31. Enlaces http://www.theserverside.com/tt/articles/article.tss?l=JMockTestDrivenDev http://www.jmock.org/oopsla2004.pdf http://www.theserverside.com/tt/articles/article.tss?l=DesigntoUnitTest http://www.ibm.com/developerworks/webservices/library/co-single.html http://www.testearly.com/ http://www.mockobjects.com/ http://www.mockobjects.com/labels/listening%20to%20the%20tests.html