SlideShare una empresa de Scribd logo
BDD-TDD-ATDD
Joan Sebastián Ramírez Pérez
2015
Agenda
• Pair programming
• BDD
• TDD
• ATDD
• Bibliografía
Agenda
• Pair programming
• BDD
• TDD
• ATDD
• Bibliografía
¿En qué consiste?
• Dos desarrolladores en un mismo sitio de trabajo, donde uno codifica y el
otro planea lo que sigue y vigila el camino.
• El que codifica se llama controlador y el otro es navegador.
• Los roles se van intercambiando en periodos de tiempo regulares.
• El navegador no le puede quitar el teclado al controlador, debe esperar su
turno.
Ventajas
• Disciplina
• Calidad
• Enfoque
• Moral
• Propiedad colectiva o distribución de conocimiento
• Enseñanza
• Pocas interrupciones.
Desventajas
• Diferencias considerables entre los programadores pueden hacer tedioso el
trabajo.
• Trabajo en equipo cuando se tiene el habito de trabajo individual.
• Medición de productividad.
• Diferencias en estilo de programación puede desencadenar conflictos.
• Se dificulta con el teletrabajo.
Agenda
• Pair programming
• BDD
• TDD
• ATDD
• Integración continua
• Bibliografía
Notación Gerkins
• Usado para BDD y ATDD.
• Precondición-Acción-Resultado esperado= Given-when-then.
• Se escriben los criterios de aceptación como escenarios. Estos escenarios
deberán ser automatizado mediante pruebas.
Notación Gerkins
https://github.com/cucumber/cucumber/wiki/Given-When-Then
BDD
• Behaviour Driven Development
• Termino asociado a metodologías ágiles.
• Usar ejemplos para crear un entendimiento compartido para evitar incerteza
y entregar software que realmente importa.
BDD
• Se definen requisitos funcionales en términos de historias de usuario.
• Para cada historia de usuario definimos escenarios que expliquen, en lenguaje
natural, el comportamiento que queremos del software.
• Usamos Gherkins como sintaxis para la descripción de los escenarios de la
historia de usuario.
• Así guiamos nuestro desarrollo en el comportamiento esperado por el cliente
con todas sus variaciones de implementación.
Agenda
• Pair programming
• BDD
• TDD
• ATDD
• Integración continua
• Bibliografía
TDD
• Técnica de desarrollo de aplicaciones fundamentada en escribir primero las
pruebas, generalmente unitarias, para luego escribir el código fuente del
requisito que dará por cumplida la prueba. Luego de esto se realiza una
revisión del código escrito para buscar mejoras a dicho código (refactor).
• Nos ayuda a tener código más robusto, seguro, mantenible y desarrollo más
rápido.
• También ayuda a construir solo lo que realmente se necesita y no perder el
tiempo haciendo de más.
Agenda
• Pair programming
• BDD
• TDD
• ATDD
• Integración continua
• Bibliografía
ATDD
• Comienza con una discusión entre los stake holders y desarrolladores. En ella
se discuten las historias de usuario buscando respuestas a los
cuestionamientos del negocio con el fin de definir claramente los criterios de
aceptación.
• Luego hacemos refinamiento de las historias de usuario, si algo no quedo
claro de la discusión. Se llevan los criterios de aceptación a un formato
(Gherkins) que pueda ser procesado por alguno de los frameworks de
automatización de pruebas funcionales.
ATDD
• Se desarrolla la historia en TDD.
• Se procede a la comprobación por parte del usuario de la historia de usuario
terminada.
Agenda
• Pair programming
• BDD
• TDD
• ATDD
• Bibliografía
Bibliografía
• Laurie Williams & Robert Kessler. (2002). Pair Programming Illuminated. (1st
ed.). : Addison-Wesley Professional.
• Dan North. (2006). Behavior Modification. Better Software magazine, 2006-
03(03).

Más contenido relacionado

La actualidad más candente

Agile QA presentation
Agile QA presentationAgile QA presentation
Agile QA presentation
Carl Bruiners
 
Scrum Process Overview
Scrum Process OverviewScrum Process Overview
Scrum Process Overview
Paul Nguyen
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
Chuu Htet Naing
 
Agile testing
Agile testingAgile testing
Agile testing
Yogita patil
 
Test Automation Framework using Cucumber BDD overview (part 1)
Test Automation Framework using Cucumber BDD overview (part 1)Test Automation Framework using Cucumber BDD overview (part 1)
Test Automation Framework using Cucumber BDD overview (part 1)
Mindfire Solutions
 
O que Evitar na Escrita de Criterios de Aceite
O que Evitar na Escrita de Criterios de AceiteO que Evitar na Escrita de Criterios de Aceite
O que Evitar na Escrita de Criterios de Aceite
Elias Nogueira
 
Being Agile with Scrum - koders.co
Being Agile with Scrum - koders.coBeing Agile with Scrum - koders.co
Being Agile with Scrum - koders.co
Ender Aydin Orak
 
TDD (Test-Driven Development)
TDD (Test-Driven Development)TDD (Test-Driven Development)
TDD (Test-Driven Development)
Renato Groff
 
Jbehave- Basics to Advance
Jbehave- Basics to AdvanceJbehave- Basics to Advance
Jbehave- Basics to Advance
Ravinder Singh
 
Agile Overview
Agile OverviewAgile Overview
Agile Overview
Stephen Albright
 
Agile Process Introduction
Agile Process IntroductionAgile Process Introduction
Agile Process Introduction
Nguyen Hai
 
Agile testing - Testing From Day 1
Agile testing - Testing From Day 1Agile testing - Testing From Day 1
Agile testing - Testing From Day 1
Kaizenko
 
SCRUM
SCRUMSCRUM
Agile
AgileAgile
Agile
Komal2525
 
Meetup #4 Testing Manifesto
Meetup #4 Testing ManifestoMeetup #4 Testing Manifesto
Meetup #4 Testing Manifesto
Malang QA Community
 
TDD and BDD and ATDD
TDD and BDD and ATDDTDD and BDD and ATDD
TDD and BDD and ATDD
Anuar Nurmakanov
 
Historias de usuario
Historias de usuarioHistorias de usuario
Historias de usuario
Joan Sebastián Ramírez Pérez
 
Script psp
Script pspScript psp
Unit Tests And Automated Testing
Unit Tests And Automated TestingUnit Tests And Automated Testing
Unit Tests And Automated Testing
Lee Englestone
 

La actualidad más candente (20)

Agile QA presentation
Agile QA presentationAgile QA presentation
Agile QA presentation
 
Scrum Process Overview
Scrum Process OverviewScrum Process Overview
Scrum Process Overview
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
Agile testing
Agile testingAgile testing
Agile testing
 
Test Automation Framework using Cucumber BDD overview (part 1)
Test Automation Framework using Cucumber BDD overview (part 1)Test Automation Framework using Cucumber BDD overview (part 1)
Test Automation Framework using Cucumber BDD overview (part 1)
 
O que Evitar na Escrita de Criterios de Aceite
O que Evitar na Escrita de Criterios de AceiteO que Evitar na Escrita de Criterios de Aceite
O que Evitar na Escrita de Criterios de Aceite
 
Scrum
ScrumScrum
Scrum
 
Being Agile with Scrum - koders.co
Being Agile with Scrum - koders.coBeing Agile with Scrum - koders.co
Being Agile with Scrum - koders.co
 
TDD (Test-Driven Development)
TDD (Test-Driven Development)TDD (Test-Driven Development)
TDD (Test-Driven Development)
 
Jbehave- Basics to Advance
Jbehave- Basics to AdvanceJbehave- Basics to Advance
Jbehave- Basics to Advance
 
Agile Overview
Agile OverviewAgile Overview
Agile Overview
 
Agile Process Introduction
Agile Process IntroductionAgile Process Introduction
Agile Process Introduction
 
Agile testing - Testing From Day 1
Agile testing - Testing From Day 1Agile testing - Testing From Day 1
Agile testing - Testing From Day 1
 
SCRUM
SCRUMSCRUM
SCRUM
 
Agile
AgileAgile
Agile
 
Meetup #4 Testing Manifesto
Meetup #4 Testing ManifestoMeetup #4 Testing Manifesto
Meetup #4 Testing Manifesto
 
TDD and BDD and ATDD
TDD and BDD and ATDDTDD and BDD and ATDD
TDD and BDD and ATDD
 
Historias de usuario
Historias de usuarioHistorias de usuario
Historias de usuario
 
Script psp
Script pspScript psp
Script psp
 
Unit Tests And Automated Testing
Unit Tests And Automated TestingUnit Tests And Automated Testing
Unit Tests And Automated Testing
 

Destacado

BDD en 5 minutos
BDD en 5 minutosBDD en 5 minutos
BDD en 5 minutos
Adrian Moya
 
Introducción a Behaviour Driven Development
Introducción a Behaviour Driven DevelopmentIntroducción a Behaviour Driven Development
Introducción a Behaviour Driven Development
Ricardo Markiewicz
 
Desarrollo Dirigido por Comportamiento (con Cucumber y Groovy)
Desarrollo Dirigido por Comportamiento (con Cucumber y Groovy)Desarrollo Dirigido por Comportamiento (con Cucumber y Groovy)
Desarrollo Dirigido por Comportamiento (con Cucumber y Groovy)
Agustin Ramos
 
BDD - Desarrollo dirigido por comportamiento
BDD - Desarrollo dirigido por comportamientoBDD - Desarrollo dirigido por comportamiento
BDD - Desarrollo dirigido por comportamientoAgustin Ramos
 
BDD & Cucumber
BDD & CucumberBDD & Cucumber
BDD & Cucumber
Enrique Sánchez-Bayuela
 
Modelo negocio
Modelo negocioModelo negocio
Uml
UmlUml
Elevator pitch
Elevator pitchElevator pitch
Integracion continua
Integracion continuaIntegracion continua
Integracion continua
Joan Sebastián Ramírez Pérez
 
Eliminando la brecha entre clientes y desarrolladores mediante BDD
Eliminando la brecha entre clientes y desarrolladores mediante BDDEliminando la brecha entre clientes y desarrolladores mediante BDD
Eliminando la brecha entre clientes y desarrolladores mediante BDD
Jorge Gamba
 
Metodologías agiles
Metodologías agilesMetodologías agiles
Metodologías agiles
Joan Sebastián Ramírez Pérez
 
Ceremonias scrum
Ceremonias scrumCeremonias scrum
Curso TDD Ruby on Rails #02: Test Driven Development
Curso TDD  Ruby on Rails #02: Test Driven DevelopmentCurso TDD  Ruby on Rails #02: Test Driven Development
Curso TDD Ruby on Rails #02: Test Driven Development
Alberto Perdomo
 
La nube. Cloud computting
La nube. Cloud computtingLa nube. Cloud computting
La nube. Cloud computting
Joan Sebastián Ramírez Pérez
 
Retrospectiva
RetrospectivaRetrospectiva
MVC
MVCMVC
Microservicios
MicroserviciosMicroservicios
A modern Kanban Board for Software Teams — Part 1 of "How to build the best S...
A modern Kanban Board for Software Teams — Part 1 of "How to build the best S...A modern Kanban Board for Software Teams — Part 1 of "How to build the best S...
A modern Kanban Board for Software Teams — Part 1 of "How to build the best S...
Blossom IO Inc.
 

Destacado (20)

BDD en 5 minutos
BDD en 5 minutosBDD en 5 minutos
BDD en 5 minutos
 
Introducción a Behaviour Driven Development
Introducción a Behaviour Driven DevelopmentIntroducción a Behaviour Driven Development
Introducción a Behaviour Driven Development
 
Desarrollo Dirigido por Comportamiento (con Cucumber y Groovy)
Desarrollo Dirigido por Comportamiento (con Cucumber y Groovy)Desarrollo Dirigido por Comportamiento (con Cucumber y Groovy)
Desarrollo Dirigido por Comportamiento (con Cucumber y Groovy)
 
BDD - Desarrollo dirigido por comportamiento
BDD - Desarrollo dirigido por comportamientoBDD - Desarrollo dirigido por comportamiento
BDD - Desarrollo dirigido por comportamiento
 
BDD & Cucumber
BDD & CucumberBDD & Cucumber
BDD & Cucumber
 
BDD para la mejora de la calidad software
BDD para la mejora de la calidad softwareBDD para la mejora de la calidad software
BDD para la mejora de la calidad software
 
Modelo negocio
Modelo negocioModelo negocio
Modelo negocio
 
Uml
UmlUml
Uml
 
Elevator pitch
Elevator pitchElevator pitch
Elevator pitch
 
Integracion continua
Integracion continuaIntegracion continua
Integracion continua
 
Eliminando la brecha entre clientes y desarrolladores mediante BDD
Eliminando la brecha entre clientes y desarrolladores mediante BDDEliminando la brecha entre clientes y desarrolladores mediante BDD
Eliminando la brecha entre clientes y desarrolladores mediante BDD
 
Metodologías agiles
Metodologías agilesMetodologías agiles
Metodologías agiles
 
Ceremonias scrum
Ceremonias scrumCeremonias scrum
Ceremonias scrum
 
Curso TDD Ruby on Rails #02: Test Driven Development
Curso TDD  Ruby on Rails #02: Test Driven DevelopmentCurso TDD  Ruby on Rails #02: Test Driven Development
Curso TDD Ruby on Rails #02: Test Driven Development
 
La nube. Cloud computting
La nube. Cloud computtingLa nube. Cloud computting
La nube. Cloud computting
 
Retrospectiva
RetrospectivaRetrospectiva
Retrospectiva
 
Selenium
SeleniumSelenium
Selenium
 
MVC
MVCMVC
MVC
 
Microservicios
MicroserviciosMicroservicios
Microservicios
 
A modern Kanban Board for Software Teams — Part 1 of "How to build the best S...
A modern Kanban Board for Software Teams — Part 1 of "How to build the best S...A modern Kanban Board for Software Teams — Part 1 of "How to build the best S...
A modern Kanban Board for Software Teams — Part 1 of "How to build the best S...
 

Similar a BDD TDD ATDD

Bddtddatdd
BddtddatddBddtddatdd
Introducción a TDD
Introducción a TDDIntroducción a TDD
Introducción a TDDFran Grau
 
(Behavior driven development (bdd ) [sólo lectura])
(Behavior driven development  (bdd ) [sólo lectura])(Behavior driven development  (bdd ) [sólo lectura])
(Behavior driven development (bdd ) [sólo lectura])
rakel_ita
 
"Al rico" PHP
"Al rico" PHP"Al rico" PHP
"Al rico" PHP
Carlos Buenosvinos
 
Behavior1
Behavior1Behavior1
Behavior1arajar
 
Desarrollo ágil de aplicaciones
Desarrollo ágil de aplicacionesDesarrollo ágil de aplicaciones
Desarrollo ágil de aplicaciones
Mario Solarte
 
Desarrollo y diseño de software
Desarrollo y diseño de softwareDesarrollo y diseño de software
Desarrollo y diseño de software
Eduardo Jose Avila Portillo
 
Buenas practicas desarrollando software
Buenas practicas desarrollando softwareBuenas practicas desarrollando software
Buenas practicas desarrollando software
Gabriel Moral
 
Day01
Day01Day01
Day01
peterpunk
 
Meetup bdd & tdd: aprovecha_su_poder
Meetup bdd & tdd: aprovecha_su_poderMeetup bdd & tdd: aprovecha_su_poder
Meetup bdd & tdd: aprovecha_su_poder
Eduardo Riol
 
Scrum y craftsmanship
Scrum y craftsmanshipScrum y craftsmanship
Scrum y craftsmanship
Kleer Agile Coaching & Training
 
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOpsMeetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
avanttic Consultoría Tecnológica
 
Cas2010 behavior-driven-development-aplicado-en-acceptance-test-automation
Cas2010 behavior-driven-development-aplicado-en-acceptance-test-automationCas2010 behavior-driven-development-aplicado-en-acceptance-test-automation
Cas2010 behavior-driven-development-aplicado-en-acceptance-test-automationAgile Spain
 
Metodologías de Desarrollo de Software
Metodologías de Desarrollo de SoftwareMetodologías de Desarrollo de Software
Práctica SRUM - (Introducción) v1.pptx
Práctica SRUM - (Introducción) v1.pptxPráctica SRUM - (Introducción) v1.pptx
Práctica SRUM - (Introducción) v1.pptx
EverCGonzalesRodrigo1
 
La práctica en el Desarrollo de Software: Una visión general!
La práctica en el Desarrollo de Software: Una visión general!La práctica en el Desarrollo de Software: Una visión general!
La práctica en el Desarrollo de Software: Una visión general!Cristian Sánchez
 
Módulo 4. Desarrollador ágil
Módulo 4. Desarrollador ágilMódulo 4. Desarrollador ágil
Módulo 4. Desarrollador ágil
Johnny Ordóñez
 
DevOps, automatización y... ¿cultura?
DevOps, automatización y... ¿cultura?DevOps, automatización y... ¿cultura?
DevOps, automatización y... ¿cultura?
Ernesto Cardenas Cangahuala
 
Frontend Developer
Frontend DeveloperFrontend Developer
Frontend Developer
★ Ander Conal Fuertes
 

Similar a BDD TDD ATDD (20)

Bddtddatdd
BddtddatddBddtddatdd
Bddtddatdd
 
Introducción a TDD
Introducción a TDDIntroducción a TDD
Introducción a TDD
 
(Behavior driven development (bdd ) [sólo lectura])
(Behavior driven development  (bdd ) [sólo lectura])(Behavior driven development  (bdd ) [sólo lectura])
(Behavior driven development (bdd ) [sólo lectura])
 
"Al rico" PHP
"Al rico" PHP"Al rico" PHP
"Al rico" PHP
 
Behavior1
Behavior1Behavior1
Behavior1
 
Desarrollo ágil de aplicaciones
Desarrollo ágil de aplicacionesDesarrollo ágil de aplicaciones
Desarrollo ágil de aplicaciones
 
Desarrollo y diseño de software
Desarrollo y diseño de softwareDesarrollo y diseño de software
Desarrollo y diseño de software
 
Buenas practicas desarrollando software
Buenas practicas desarrollando softwareBuenas practicas desarrollando software
Buenas practicas desarrollando software
 
Day01
Day01Day01
Day01
 
Meetup bdd & tdd: aprovecha_su_poder
Meetup bdd & tdd: aprovecha_su_poderMeetup bdd & tdd: aprovecha_su_poder
Meetup bdd & tdd: aprovecha_su_poder
 
Scrum y craftsmanship
Scrum y craftsmanshipScrum y craftsmanship
Scrum y craftsmanship
 
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOpsMeetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
 
Cas2010 behavior-driven-development-aplicado-en-acceptance-test-automation
Cas2010 behavior-driven-development-aplicado-en-acceptance-test-automationCas2010 behavior-driven-development-aplicado-en-acceptance-test-automation
Cas2010 behavior-driven-development-aplicado-en-acceptance-test-automation
 
Metodologías de Desarrollo de Software
Metodologías de Desarrollo de SoftwareMetodologías de Desarrollo de Software
Metodologías de Desarrollo de Software
 
Rad jorge vinueza
Rad jorge vinuezaRad jorge vinueza
Rad jorge vinueza
 
Práctica SRUM - (Introducción) v1.pptx
Práctica SRUM - (Introducción) v1.pptxPráctica SRUM - (Introducción) v1.pptx
Práctica SRUM - (Introducción) v1.pptx
 
La práctica en el Desarrollo de Software: Una visión general!
La práctica en el Desarrollo de Software: Una visión general!La práctica en el Desarrollo de Software: Una visión general!
La práctica en el Desarrollo de Software: Una visión general!
 
Módulo 4. Desarrollador ágil
Módulo 4. Desarrollador ágilMódulo 4. Desarrollador ágil
Módulo 4. Desarrollador ágil
 
DevOps, automatización y... ¿cultura?
DevOps, automatización y... ¿cultura?DevOps, automatización y... ¿cultura?
DevOps, automatización y... ¿cultura?
 
Frontend Developer
Frontend DeveloperFrontend Developer
Frontend Developer
 

Más de Joan Sebastián Ramírez Pérez

Clean architecture
Clean architectureClean architecture
Practicas tecnicas
Practicas tecnicasPracticas tecnicas
Pruebas automaticas
Pruebas automaticasPruebas automaticas
Pruebas automaticas
Joan Sebastián Ramírez Pérez
 
Orm
OrmOrm
Servicios web
Servicios webServicios web
Control de versiones
Control de versionesControl de versiones
Control de versiones
Joan Sebastián Ramírez Pérez
 
Código Limpio
Código LimpioCódigo Limpio
Practicas técnicas
Practicas técnicasPracticas técnicas
Practicas técnicas
Joan Sebastián Ramírez Pérez
 
Roles scrum
Roles scrumRoles scrum
Principios SOLID
Principios SOLIDPrincipios SOLID
Código Limpio
Código LimpioCódigo Limpio
Modelo diseño
Modelo diseñoModelo diseño
Refactor y deuda técnica
Refactor y deuda técnicaRefactor y deuda técnica
Refactor y deuda técnica
Joan Sebastián Ramírez Pérez
 
Diagramas comportamiento
Diagramas comportamientoDiagramas comportamiento
Diagramas comportamiento
Joan Sebastián Ramírez Pérez
 
Pruebas automaticas
Pruebas automaticasPruebas automaticas
Pruebas automaticas
Joan Sebastián Ramírez Pérez
 
Patrones GOF
Patrones GOFPatrones GOF

Más de Joan Sebastián Ramírez Pérez (20)

Clean architecture
Clean architectureClean architecture
Clean architecture
 
Practicas tecnicas
Practicas tecnicasPracticas tecnicas
Practicas tecnicas
 
Pruebas automaticas
Pruebas automaticasPruebas automaticas
Pruebas automaticas
 
Orm
OrmOrm
Orm
 
Servicios web
Servicios webServicios web
Servicios web
 
Control de versiones
Control de versionesControl de versiones
Control de versiones
 
Código Limpio
Código LimpioCódigo Limpio
Código Limpio
 
Ciclo devida
Ciclo devidaCiclo devida
Ciclo devida
 
Practicas técnicas
Practicas técnicasPracticas técnicas
Practicas técnicas
 
Roles scrum
Roles scrumRoles scrum
Roles scrum
 
Lean startup
Lean startupLean startup
Lean startup
 
Principios SOLID
Principios SOLIDPrincipios SOLID
Principios SOLID
 
Código Limpio
Código LimpioCódigo Limpio
Código Limpio
 
Modelo diseño
Modelo diseñoModelo diseño
Modelo diseño
 
Roles desarrollo del software
Roles desarrollo del softwareRoles desarrollo del software
Roles desarrollo del software
 
Refactor y deuda técnica
Refactor y deuda técnicaRefactor y deuda técnica
Refactor y deuda técnica
 
Diagramas comportamiento
Diagramas comportamientoDiagramas comportamiento
Diagramas comportamiento
 
Pruebas automaticas
Pruebas automaticasPruebas automaticas
Pruebas automaticas
 
Patrones diseño y arquitectura
Patrones diseño y arquitecturaPatrones diseño y arquitectura
Patrones diseño y arquitectura
 
Patrones GOF
Patrones GOFPatrones GOF
Patrones GOF
 

Último

Escaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipoEscaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipo
nicromante2000
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdf
juanjosebarreiro704
 
PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
juanorejuela499
 
Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
Ecaresoft Inc.
 
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdfIntroducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
AbbieDominguezGirond
 
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
SamuelGampley
 

Último (6)

Escaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipoEscaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipo
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdf
 
PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
 
Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
 
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdfIntroducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
 
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
 

BDD TDD ATDD

  • 2. Agenda • Pair programming • BDD • TDD • ATDD • Bibliografía
  • 3. Agenda • Pair programming • BDD • TDD • ATDD • Bibliografía
  • 4. ¿En qué consiste? • Dos desarrolladores en un mismo sitio de trabajo, donde uno codifica y el otro planea lo que sigue y vigila el camino. • El que codifica se llama controlador y el otro es navegador. • Los roles se van intercambiando en periodos de tiempo regulares. • El navegador no le puede quitar el teclado al controlador, debe esperar su turno.
  • 5. Ventajas • Disciplina • Calidad • Enfoque • Moral • Propiedad colectiva o distribución de conocimiento • Enseñanza • Pocas interrupciones.
  • 6. Desventajas • Diferencias considerables entre los programadores pueden hacer tedioso el trabajo. • Trabajo en equipo cuando se tiene el habito de trabajo individual. • Medición de productividad. • Diferencias en estilo de programación puede desencadenar conflictos. • Se dificulta con el teletrabajo.
  • 7. Agenda • Pair programming • BDD • TDD • ATDD • Integración continua • Bibliografía
  • 8. Notación Gerkins • Usado para BDD y ATDD. • Precondición-Acción-Resultado esperado= Given-when-then. • Se escriben los criterios de aceptación como escenarios. Estos escenarios deberán ser automatizado mediante pruebas.
  • 10.
  • 11. BDD • Behaviour Driven Development • Termino asociado a metodologías ágiles. • Usar ejemplos para crear un entendimiento compartido para evitar incerteza y entregar software que realmente importa.
  • 12. BDD • Se definen requisitos funcionales en términos de historias de usuario. • Para cada historia de usuario definimos escenarios que expliquen, en lenguaje natural, el comportamiento que queremos del software. • Usamos Gherkins como sintaxis para la descripción de los escenarios de la historia de usuario. • Así guiamos nuestro desarrollo en el comportamiento esperado por el cliente con todas sus variaciones de implementación.
  • 13.
  • 14.
  • 15. Agenda • Pair programming • BDD • TDD • ATDD • Integración continua • Bibliografía
  • 16.
  • 17. TDD • Técnica de desarrollo de aplicaciones fundamentada en escribir primero las pruebas, generalmente unitarias, para luego escribir el código fuente del requisito que dará por cumplida la prueba. Luego de esto se realiza una revisión del código escrito para buscar mejoras a dicho código (refactor). • Nos ayuda a tener código más robusto, seguro, mantenible y desarrollo más rápido. • También ayuda a construir solo lo que realmente se necesita y no perder el tiempo haciendo de más.
  • 18. Agenda • Pair programming • BDD • TDD • ATDD • Integración continua • Bibliografía
  • 19.
  • 20. ATDD • Comienza con una discusión entre los stake holders y desarrolladores. En ella se discuten las historias de usuario buscando respuestas a los cuestionamientos del negocio con el fin de definir claramente los criterios de aceptación. • Luego hacemos refinamiento de las historias de usuario, si algo no quedo claro de la discusión. Se llevan los criterios de aceptación a un formato (Gherkins) que pueda ser procesado por alguno de los frameworks de automatización de pruebas funcionales.
  • 21. ATDD • Se desarrolla la historia en TDD. • Se procede a la comprobación por parte del usuario de la historia de usuario terminada.
  • 22. Agenda • Pair programming • BDD • TDD • ATDD • Bibliografía
  • 23. Bibliografía • Laurie Williams & Robert Kessler. (2002). Pair Programming Illuminated. (1st ed.). : Addison-Wesley Professional. • Dan North. (2006). Behavior Modification. Better Software magazine, 2006- 03(03).