SlideShare una empresa de Scribd logo
BDD-TDD-ATDD
Joan Sebastián Ramírez Pérez
2017
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
Ejemplo Combinación de números
Bddtddatdd
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.
Bddtddatdd
Bddtddatdd
Ejemplo Combinación de números
Agenda
• Pair programming
• BDD
• TDD
• ATDD
• Integración continua
• Bibliografía
Bddtddatdd
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
Bddtddatdd
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).
• John Ferguson Smart. (2014). BDD in action. (1st ed.)

Más contenido relacionado

PPTX
PPTX
Pruebas automaticas
PPTX
PDF
Practicas técnicas
PPTX
Pruebas automaticas
PPTX
Buenas practicas desarrollando software
PPTX
Control de versiones
Pruebas automaticas
Practicas técnicas
Pruebas automaticas
Buenas practicas desarrollando software
Control de versiones

La actualidad más candente (20)

PPT
Calidad de software y TDD
PDF
Integración Continua
PPTX
Revisión de código fuente de manera ágil
PDF
Construccion y Pruebas de Software
PPTX
Entregables de las pruebas
PDF
14. fundamentos de desarrollo de software
PPTX
Sesión 03-métodos-ágiles-del-desarrollo-de-software
PDF
#HablemosDeTestingDay - José Castillo: Estrategia de QA en un contexto de DevOps
PPTX
Behavior1
PPTX
Conociendo Nuestro Fua interno
PPT
Act 4.3 pruebas de software
PPTX
Testing & Pizza by Lito & nitsnets
PPSX
7iSF-4 test driver development
PPTX
Entregables de pruebas
PPTX
Is.EXP.1.327117 Programación Extrema
PDF
5. Métodos de Prueba de Software
PPT
Unidad 3.1 Prueba De Sistemas
PPTX
Lp II clase01 - Desarrollo de software con RUP
Calidad de software y TDD
Integración Continua
Revisión de código fuente de manera ágil
Construccion y Pruebas de Software
Entregables de las pruebas
14. fundamentos de desarrollo de software
Sesión 03-métodos-ágiles-del-desarrollo-de-software
#HablemosDeTestingDay - José Castillo: Estrategia de QA en un contexto de DevOps
Behavior1
Conociendo Nuestro Fua interno
Act 4.3 pruebas de software
Testing & Pizza by Lito & nitsnets
7iSF-4 test driver development
Entregables de pruebas
Is.EXP.1.327117 Programación Extrema
5. Métodos de Prueba de Software
Unidad 3.1 Prueba De Sistemas
Lp II clase01 - Desarrollo de software con RUP
Publicidad

Similar a Bddtddatdd (20)

PDF
Introducción a TDD
PDF
(Behavior driven development (bdd ) [sólo lectura])
PDF
Meetup bdd & tdd: aprovecha_su_poder
KEY
Day01
PDF
"Al rico" PHP
PDF
Cas2010 behavior-driven-development-aplicado-en-acceptance-test-automation
PDF
Desarrollo ágil de aplicaciones
PPTX
Desarrollo y diseño de software
PPTX
Rad jorge vinueza
PDF
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
PDF
Apuntes #XPweek
PPTX
PPTX
La práctica en el Desarrollo de Software: Una visión general!
PPTX
Scrum y craftsmanship
PDF
Frontend Developer
PPTX
Programación Extrema (XP)
PDF
Programación extrema xp
PPTX
Práctica SRUM - (Introducción) v1.pptx
PPTX
Modern CI_CD for Microservices_software.pptx
Introducción a TDD
(Behavior driven development (bdd ) [sólo lectura])
Meetup bdd & tdd: aprovecha_su_poder
Day01
"Al rico" PHP
Cas2010 behavior-driven-development-aplicado-en-acceptance-test-automation
Desarrollo ágil de aplicaciones
Desarrollo y diseño de software
Rad jorge vinueza
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
Apuntes #XPweek
La práctica en el Desarrollo de Software: Una visión general!
Scrum y craftsmanship
Frontend Developer
Programación Extrema (XP)
Programación extrema xp
Práctica SRUM - (Introducción) v1.pptx
Modern CI_CD for Microservices_software.pptx
Publicidad

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

PPTX
La nube. Cloud computting
PPTX
PPTX
Roles desarrollo del software
PPTX
Refactor y deuda técnica
PPTX
Diagramas comportamiento
PPTX
Patrones diseño y arquitectura
PPTX
Calidad en el desarrollo del software

Último (8)

PDF
AutoCAD Herramientas para el futuro, Juan Fandiño
DOCX
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
PPTX
sistemas de informacion.................
PDF
simulacion de teoria de control para maquinas
PDF
DIMENSIONADO DE UNA INSTALACION FOTOVOLTAICA.pdf
PDF
modelos de control para sistemas digitales
PPTX
Derechos_de_Autor_y_Creative_Commons.pptx
PDF
Su punto de partida en la IA: Microsoft 365 Copilot Chat
AutoCAD Herramientas para el futuro, Juan Fandiño
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
sistemas de informacion.................
simulacion de teoria de control para maquinas
DIMENSIONADO DE UNA INSTALACION FOTOVOLTAICA.pdf
modelos de control para sistemas digitales
Derechos_de_Autor_y_Creative_Commons.pptx
Su punto de partida en la IA: Microsoft 365 Copilot Chat

Bddtddatdd

  • 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.
  • 12. 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.
  • 13. 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.
  • 17. Agenda • Pair programming • BDD • TDD • ATDD • Integración continua • Bibliografía
  • 19. 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.
  • 20. Agenda • Pair programming • BDD • TDD • ATDD • Integración continua • Bibliografía
  • 22. 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.
  • 23. ATDD • Se desarrolla la historia en TDD. • Se procede a la comprobación por parte del usuario de la historia de usuario terminada.
  • 24. Agenda • Pair programming • BDD • TDD • ATDD • Bibliografía
  • 25. 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). • John Ferguson Smart. (2014). BDD in action. (1st ed.)