SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
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

Contenu connexe

Similaire à Toi Tdd 20080409

Cesnavarra 2009-boletín 1
Cesnavarra 2009-boletín 1Cesnavarra 2009-boletín 1
Cesnavarra 2009-boletín 1Cein
 
Seminario de Test Development Driven
Seminario de Test Development DrivenSeminario de Test Development Driven
Seminario de Test Development DrivenParadigma Digital
 
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 TDDFernando 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 TDDHernan Wilkinson
 
Junit y Jmock
Junit y JmockJunit y Jmock
Junit y Jmockkaolong
 
Artalde Tdd intro
Artalde Tdd introArtalde Tdd intro
Artalde Tdd introfperezplain
 
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 IIAnyeni Garay
 
Separata04 - Estructuras condicionales simples.pdf
Separata04 - Estructuras condicionales simples.pdfSeparata04 - Estructuras condicionales simples.pdf
Separata04 - Estructuras condicionales simples.pdfCarlosJahnsen3
 
Pruebas Unitarias1.pdf
Pruebas Unitarias1.pdfPruebas Unitarias1.pdf
Pruebas Unitarias1.pdfSERGIO 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_2013dayaorte
 
Tema 9 pruebas unitarias por gio
Tema 9   pruebas unitarias por gioTema 9   pruebas unitarias por gio
Tema 9 pruebas unitarias por gioRobert 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 - SpanishJordi 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 - SpanishJordi 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 - SpanishAkamon Engineering
 

Similaire à 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
 
Separata04 - Estructuras condicionales simples.pdf
Separata04 - Estructuras condicionales simples.pdfSeparata04 - Estructuras condicionales simples.pdf
Separata04 - Estructuras condicionales simples.pdf
 
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
 

Plus 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 Agility360Jose 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
 
CAS2018 - El poder de las metaforas
CAS2018 - El poder de las metaforasCAS2018 - El poder de las metaforas
CAS2018 - El poder de las metaforasJose 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 companyJose Manuel Beas
 
Taller exprés planificación ágil
Taller exprés planificación ágilTaller exprés planificación ágil
Taller exprés planificación ágilJose Manuel Beas
 
Scaling Agile without frameworks
Scaling Agile without frameworksScaling Agile without frameworks
Scaling Agile without frameworksJose 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 ágilesJose 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 EmprendedoresJose 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 EmprendedoresJose Manuel Beas
 
Betabeers Huelva - Agilismo y Lean Startup
Betabeers Huelva - Agilismo y Lean StartupBetabeers Huelva - Agilismo y Lean Startup
Betabeers Huelva - Agilismo y Lean StartupJose Manuel Beas
 
DrupalCamp14 Agile product development for startups
DrupalCamp14 Agile product development for startupsDrupalCamp14 Agile product development for startups
DrupalCamp14 Agile product development for startupsJose Manuel Beas
 

Plus 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
 

Dernier

Inmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdfInmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdfOBr.global
 
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdfTENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdfJoseAlejandroPerezBa
 
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...RaymondCode
 
Matriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docxMatriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docxPaolaCarolinaCarvaja
 
El diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimosEl diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimosLCristinaForchue
 
Inteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidadInteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidaddanik1023m
 
Actividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdfActividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdfalejandrogomezescoto
 
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdfPresentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdfymiranda2
 
Hazte partner: Club Festibity 2024 - 2025
Hazte partner: Club Festibity 2024 - 2025Hazte partner: Club Festibity 2024 - 2025
Hazte partner: Club Festibity 2024 - 2025Festibity
 
VIDEOS DE APOYO.docx E
VIDEOS DE APOYO.docx                                  EVIDEOS DE APOYO.docx                                  E
VIDEOS DE APOYO.docx Emialexsolar
 
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NETDe Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NETGermán Küber
 
Los mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdfLos mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdfodalistar77
 

Dernier (14)

Inmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdfInmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdf
 
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdfTENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
 
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
 
BEDEC Sostenibilidad, novedades 2024 - Laura Silva
BEDEC Sostenibilidad, novedades 2024 - Laura SilvaBEDEC Sostenibilidad, novedades 2024 - Laura Silva
BEDEC Sostenibilidad, novedades 2024 - Laura Silva
 
Matriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docxMatriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docx
 
El diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimosEl diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimos
 
Inteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidadInteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidad
 
Actividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdfActividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdf
 
BEDEC Proyecto y obra , novedades 2024 - Xavier Folch
BEDEC Proyecto y obra , novedades 2024 - Xavier FolchBEDEC Proyecto y obra , novedades 2024 - Xavier Folch
BEDEC Proyecto y obra , novedades 2024 - Xavier Folch
 
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdfPresentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
 
Hazte partner: Club Festibity 2024 - 2025
Hazte partner: Club Festibity 2024 - 2025Hazte partner: Club Festibity 2024 - 2025
Hazte partner: Club Festibity 2024 - 2025
 
VIDEOS DE APOYO.docx E
VIDEOS DE APOYO.docx                                  EVIDEOS DE APOYO.docx                                  E
VIDEOS DE APOYO.docx E
 
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NETDe Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
 
Los mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdfLos mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdf
 

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