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 TDD ATDD
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.
BDD TDD ATDD
BDD TDD ATDD
Agenda
• Pair programming
• BDD
• TDD
• ATDD
• Integración continua
• Bibliografía
BDD TDD ATDD
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
BDD TDD ATDD
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

PPTX
Users and groups
PDF
KeycloakのCNCF incubating project入りまでのアップストリーム活動の歩み
ODP
Présentation de Robot framework
PDF
Using Google Cloud Identity Secure LDAP with pfSense - Netgate Hangout Octobe...
PDF
Alfresco monitoring with Nagios and ELK stack
PDF
OPA open policy agent
DOCX
Loadrunner interview questions and answers
PDF
JUnit 5 - The Next Generation
Users and groups
KeycloakのCNCF incubating project入りまでのアップストリーム活動の歩み
Présentation de Robot framework
Using Google Cloud Identity Secure LDAP with pfSense - Netgate Hangout Octobe...
Alfresco monitoring with Nagios and ELK stack
OPA open policy agent
Loadrunner interview questions and answers
JUnit 5 - The Next Generation

Destacado (20)

PDF
BDD en 5 minutos
ODP
Introducción a Behaviour Driven Development
PPTX
Desarrollo Dirigido por Comportamiento (con Cucumber y Groovy)
PPTX
BDD - Desarrollo dirigido por comportamiento
PDF
BDD & Cucumber
PDF
BDD para la mejora de la calidad software
PPTX
Integracion continua
PPTX
Eliminando la brecha entre clientes y desarrolladores mediante BDD
PPTX
Metodologías agiles
PPTX
PDF
Curso TDD Ruby on Rails #02: Test Driven Development
PPTX
La nube. Cloud computting
PPTX
Selenium
BDD en 5 minutos
Introducción a Behaviour Driven Development
Desarrollo Dirigido por Comportamiento (con Cucumber y Groovy)
BDD - Desarrollo dirigido por comportamiento
BDD & Cucumber
BDD para la mejora de la calidad software
Integracion continua
Eliminando la brecha entre clientes y desarrolladores mediante BDD
Metodologías agiles
Curso TDD Ruby on Rails #02: Test Driven Development
La nube. Cloud computting
Selenium
Publicidad

Similar a BDD TDD ATDD (20)

PDF
Introducción a TDD
PDF
(Behavior driven development (bdd ) [sólo lectura])
PDF
"Al rico" PHP
PPTX
Behavior1
PDF
Desarrollo ágil de aplicaciones
PPTX
Desarrollo y diseño de software
PPTX
Buenas practicas desarrollando software
KEY
Day01
PDF
Meetup bdd & tdd: aprovecha_su_poder
PPTX
Scrum y craftsmanship
PDF
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
PDF
Cas2010 behavior-driven-development-aplicado-en-acceptance-test-automation
PPTX
PPTX
Rad jorge vinueza
PPTX
Práctica SRUM - (Introducción) v1.pptx
PPTX
La práctica en el Desarrollo de Software: Una visión general!
PDF
Módulo 4. Desarrollador ágil
PPTX
DevOps, automatización y... ¿cultura?
PPTX
Modern CI_CD for Microservices_software.pptx
Introducción a TDD
(Behavior driven development (bdd ) [sólo lectura])
"Al rico" PHP
Behavior1
Desarrollo ágil de aplicaciones
Desarrollo y diseño de software
Buenas practicas desarrollando software
Day01
Meetup bdd & tdd: aprovecha_su_poder
Scrum y craftsmanship
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
Cas2010 behavior-driven-development-aplicado-en-acceptance-test-automation
Rad jorge vinueza
Práctica SRUM - (Introducción) v1.pptx
La práctica en el Desarrollo de Software: Una visión general!
Módulo 4. Desarrollador ágil
DevOps, automatización y... ¿cultura?
Modern CI_CD for Microservices_software.pptx
Publicidad

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

PPTX
PPTX
PPTX
Pruebas automaticas
PPTX
Control de versiones
PDF
Practicas técnicas
PPTX
PPTX
Roles desarrollo del software
PPTX
Refactor y deuda técnica
PPTX
Diagramas comportamiento
PPTX
Pruebas automaticas
PPTX
Patrones diseño y arquitectura

Último (8)

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

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.
  • 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.
  • 15. Agenda • Pair programming • BDD • TDD • ATDD • Integración continua • Bibliografía
  • 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
  • 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).