SlideShare una empresa de Scribd logo
1 de 38
Seminario
Jueves 12 de Noviembre de 2014
BDD EN PRACTICA
Antonio Robres Turon
Quality Manager
12 y 13 de noviembre de 2014 Valencia, España 3
Quien soy?
 {Nombre: Toni Robres,
rol: [QA Manager, QA Arquitect],
hobbies: [Leer, Tenis, Testing] }
12 y 13 de noviembre de 2014 Valencia, España 4
Introducción
Porque estoy aquí?
oPorque quiero compartir la experiencia aprendida con vosotros.
Que vamos a ver durante el dia de hoy?
oComo escribir buenas especificaciones mediante BDD
Vas a pegarnos el rollo durante 90 minutos?
oEsta es una sesión pràctica donde la mayoría del tiempo vais a
trabajar en grupos y discutir.
12 y 13 de noviembre de 2014 Valencia, España 5
Agenda
Introducción a BDD  20’
Presentación del producto y formación de grupos  10’
Plantear las historias de usuario por grupos  15’
Discusión sobre las historias de usuario  10’
Plantear los escenarios de las historias de usuario  20’
Discusión sobre los escenarios y consejos de cómo
crearlos  10’
Preguntas  10’
12 y 13 de noviembre de 2014 Valencia, España 6
Introducción
Cuales son los principales problemas en las
especificaciones de producto?
oEspecificaciones pobres
oEspecificaciones incompletas
oFalta de un lenguaje común
oIndefinición de cuando una funcionalidad está acabada.
12 y 13 de noviembre de 2014 Valencia, España 7
Introducción
Solución
oCrear especificaciones basadas en ejemplos
oDefinir un lenguaje común
oClara definición de “Acabado”
12 y 13 de noviembre de 2014 Valencia, España 8
BDD – Desarrollo guiado por comportamiento
BDD is a second-generation, outside-in, pull-based,
multiple-stakeholder, multiple-scale, high-automation,
agile methodology. It describes a cycle of interactions
with well-defined outputs, resulting in the delivery of
working, tested software that matters.
12 y 13 de noviembre de 2014 Valencia, España 9
BDD – Desarrollo guiado por comportamiento
BDD no es una herramienta es una manera de trabajar
Usar ejemplos para crear un entendimiento compartido
para evitar incerteza y entregar software que realmente
importa
12 y 13 de noviembre de 2014 Valencia, España 10
Como funciona BDD?
12 y 13 de noviembre de 2014 Valencia, España 11
Por donde comenzamos
Backlog
oEs una lista de requisitos funcionales y no funcionales
oPriorizado
DEEP:
oDetallado – Estimado – Emergente – Priorizado
INVEST:
oIndependiente – Negociable – Valioso – Estimable – Sized -
Testeable
12 y 13 de noviembre de 2014 Valencia, España 12
Historias de Usuario
Una buena historia de usuario es:
oTarjeta
oConversación
oConfirmación
Las historias de usuario deben ser definidas cuando sean
necesarias
12 y 13 de noviembre de 2014 Valencia, España 13
Escenarios
Son la confirmación de las historias de usuario
Un escenario es una concrección o ilustración con
ejemplos de una historia de usuario
El conjunto de todos los escenarios describe
completamente el comportamiento de la historia de
usuario
12 y 13 de noviembre de 2014 Valencia, España 14
Escenario
Estructura:
oSet up
oPrerequisitos
oProcedimiento
oValidación
oTear-down
Como deben ser los escenarios?
oRapidos – Aislados – Repetibles
oPriorizados
12 y 13 de noviembre de 2014 Valencia, España 15
Gherkin
Es un lenguaje de negoció o lenguaje especifico de
dominio, creado para describir el comportamiento de los
escenarios
Usa una estructura para que sea leida por humanos
No necesita herramientas
Sintaxis:
oOrientado por lineas con indentación  Paso
oPuede ser en cualquier lenguaje
oUtiliza indentación y palabras clave para separar las partes
12 y 13 de noviembre de 2014 Valencia, España 16
Estructura de Gherkin
12 y 13 de noviembre de 2014 Valencia, España 17
FIN TEORIA
Pongamonos manos a la obra!
Me voy a transformar en un cliente!
He descubierto un software revolucionario que cambiara
la manera de aprender de las personas y le he
encontrado un nombre muy muy original!!!
12 y 13 de noviembre de 2014 Valencia, España 18
MAQUINA DE APRENDER!!!!
12 y 13 de noviembre de 2014 Valencia, España 19
Que es la maquina de aprender
Juego de pregunta – Respuesta
Facil de añadir nuevas preguntas
Con varias categorias
Usa el algoritmo de Leitner para mejorar el aprendizaje
de los alumnos
12 y 13 de noviembre de 2014 Valencia, España 20
Algoritmo de Leitner
12 y 13 de noviembre de 2014 Valencia, España 21
Como escojo las preguntas?
 Todas las preguntas de la caja 1 son susceptibles de ser preguntadas
 Caja 2  Si la última respuesta correcta ha sido hace más de 12 horas
 Caja 3  Si la última respuesta correcta ha sido hace más de 1 dia
 Caja 4  Si la última respuesta correcta ha sido hace más de 5 días
 Caja 5  Si la última respuesta correcta ha sido hace más de 10 días
12 y 13 de noviembre de 2014 Valencia, España 22
Ejemplo
Pregunta Caja Última respuesta correcta
1 1 1 hora
2 1 10 horas
3 1 13 horas
4 1 1 día
5 1 1 semana
6 2 11 horas
7 2 20 horas
8 3 12 horas
9 4 5 minutos
10 4 5 días y 1 hora
oPreguntas disponibles
 1,2,3,4,5
 6
 10
oLa plataforma ha de escoger
aleatoriamente una pregunta
de todas las disponibles
12 y 13 de noviembre de 2014 Valencia, España 23
Funcionalidades en el backlog
Crear usuario
Borrar usuario
Modificar usuario
Crear pregunta
Modificar pregunta
Borrar pregunta
Jugar!
12 y 13 de noviembre de 2014 Valencia, España 24
Estructura Historia de usuario
Titulo de la historia
Narrativa
oComo [rol]
oQuiero una [funcionalidad]
oPara conseguir un [beneficio]
12 y 13 de noviembre de 2014 Valencia, España 25
Tiempo de practicar!
Escribir las historias de usuario de las funcionalidades que
se han planteado
Recordar... El cliente esta con vosotros!
15’
12 y 13 de noviembre de 2014 Valencia, España 26
12 y 13 de noviembre de 2014 Valencia, España 27
Estructura escenarios
Titulo
Narrativa
oDado [contexto]
oY [Más contexto]
oCuando [ocurre un evento]
oEntonces obtengo [una salida]
12 y 13 de noviembre de 2014 Valencia, España 28
Dado...
Definen los prerequisitos
El proposito es dejar el sistema en un estado antes de
que exista la interacción con el sistema
Recordar que los tests son aislados!
oNo deben depender de otro test
12 y 13 de noviembre de 2014 Valencia, España 29
Cuando...
El proposito de este paso es describir la acción clave que
el usuario realiza.
Solo se recomienda un paso “Cuando”!
12 y 13 de noviembre de 2014 Valencia, España 30
Entonces...
El proposito de este paso es observar las salidas y validar
las hipótesis
En este paso es donde se realizan las verificaciones
12 y 13 de noviembre de 2014 Valencia, España 31
Dirigido por datos
A veces necesitamos ejecutar el mismo procedimiento
con diferentes datos
Es posible reutilizar los procedimientos mediante tablas
12 y 13 de noviembre de 2014 Valencia, España 32
Dirigido por datos
Escenario: Transferencia de dinero
Dado que tengo < dinero_CC > euros en mi cuenta corriente
Y que tengo <dinero_CA> euros en mi cuenta de ahorro
Cuando transfiero <dinero_a_transferir> de la cuenta corriente a la cuenta de ahorro
Entonces tengo < dinero_despues_CC > euros en la cuenta corriente
Y tengo < dinero_despues_CA > euros en la cuenta de ahorro
Ejemplos
| dinero_CC | dinero_CA | dinero_a_tranferir | dinero_despues_CC | dinero_despues_CA |
| 100 | 20 | 20 | 40 | 80 |
| 50 | 20 | 50 | 0 | 70 |
| 100 | 0 | 10 | 90 | 10 |
| 100 | 0 | 100 | 0 | 100 |
12 y 13 de noviembre de 2014 Valencia, España 33
Tiempo de practicar!
Escribir los escenarios de las historias de usuario
15’
12 y 13 de noviembre de 2014 Valencia, España 34
12 y 13 de noviembre de 2014 Valencia, España 35
Consejos
Escribir las especificaciones antes que la implementación
este acabada
Actualiza las especificaciones
Ordena y prioriza los escenarios
Muestra tu trabajo, observa el de otros, pide feedback y
debate
12 y 13 de noviembre de 2014 Valencia, España 36
Evitar...
Hacer ficheros de funcionalidad excesivamente largos
Incluir sets de dato demasiados grandes y / o complejos
No incluyais tecnologias
Tener muchas verificaciones en un escenario
Tener escenarios no repetibles o no aislados
12 y 13 de noviembre de 2014 Valencia, España 37
Ventajas
Colaborar y discutir
Documentación viva
Son la entrada a la automatización usando BDD
Facilitan la creación de nuevos test cases
12 y 13 de noviembre de 2014 Valencia, España 38
Preguntas?

Más contenido relacionado

Destacado

SEMINARIO WEB EN VIVO: INTRODUCCIÓN AL AGILE TESTING
SEMINARIO WEB EN VIVO: INTRODUCCIÓN AL AGILE TESTINGSEMINARIO WEB EN VIVO: INTRODUCCIÓN AL AGILE TESTING
SEMINARIO WEB EN VIVO: INTRODUCCIÓN AL AGILE TESTINGtbaires
 
BDD en 5 minutos
BDD en 5 minutosBDD en 5 minutos
BDD en 5 minutosAdrian Moya
 
Metodologías Ágiles para el Desarrollo de Software y Metodologias Para el de...
Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el de...Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el de...
Metodologías Ágiles para el Desarrollo de Software y Metodologias Para el de...Joel Fernandez
 
Twitter en tiempo Real
Twitter en tiempo Real Twitter en tiempo Real
Twitter en tiempo Real Paz Palacios
 
Neoliberalismo
NeoliberalismoNeoliberalismo
NeoliberalismoARHAKABY
 
Buen amigo
Buen amigoBuen amigo
Buen amigoWGC20
 
Presentación nummer5
Presentación nummer5Presentación nummer5
Presentación nummer5Marc Rocas
 
Si yo fuera invisible
Si yo fuera invisibleSi yo fuera invisible
Si yo fuera invisiblesarahpollack
 
Francisco de quevedo
Francisco de quevedoFrancisco de quevedo
Francisco de quevedonereaa96
 
Miniquesteducacionparalapazmusica
MiniquesteducacionparalapazmusicaMiniquesteducacionparalapazmusica
Miniquesteducacionparalapazmusicamamenguillermo
 

Destacado (17)

SEMINARIO WEB EN VIVO: INTRODUCCIÓN AL AGILE TESTING
SEMINARIO WEB EN VIVO: INTRODUCCIÓN AL AGILE TESTINGSEMINARIO WEB EN VIVO: INTRODUCCIÓN AL AGILE TESTING
SEMINARIO WEB EN VIVO: INTRODUCCIÓN AL AGILE TESTING
 
BDD en 5 minutos
BDD en 5 minutosBDD en 5 minutos
BDD en 5 minutos
 
Metodologías Ágiles para el Desarrollo de Software y Metodologias Para el de...
Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el de...Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el de...
Metodologías Ágiles para el Desarrollo de Software y Metodologias Para el de...
 
Twitter en tiempo Real
Twitter en tiempo Real Twitter en tiempo Real
Twitter en tiempo Real
 
Neoliberalismo
NeoliberalismoNeoliberalismo
Neoliberalismo
 
Padres Malos
Padres  MalosPadres  Malos
Padres Malos
 
Buen amigo
Buen amigoBuen amigo
Buen amigo
 
Nubes
NubesNubes
Nubes
 
Telemedicina
TelemedicinaTelemedicina
Telemedicina
 
Presentación nummer5
Presentación nummer5Presentación nummer5
Presentación nummer5
 
Alicia
AliciaAlicia
Alicia
 
Si yo fuera invisible
Si yo fuera invisibleSi yo fuera invisible
Si yo fuera invisible
 
Planificacion clase 1
Planificacion clase 1Planificacion clase 1
Planificacion clase 1
 
Pancreas
PancreasPancreas
Pancreas
 
Informatica
InformaticaInformatica
Informatica
 
Francisco de quevedo
Francisco de quevedoFrancisco de quevedo
Francisco de quevedo
 
Miniquesteducacionparalapazmusica
MiniquesteducacionparalapazmusicaMiniquesteducacionparalapazmusica
Miniquesteducacionparalapazmusica
 

Similar a BDD en practica (seminario)

El tester no es un desarrollador - VLCTesting '14
El tester no es un desarrollador - VLCTesting '14El tester no es un desarrollador - VLCTesting '14
El tester no es un desarrollador - VLCTesting '14Víctor Gómez Adán
 
Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing
Lecciones aprendidas desarrollando una plataforma de Mobile Monkey TestingLecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing
Lecciones aprendidas desarrollando una plataforma de Mobile Monkey TestingAbstracta
 
VLCTESTING-testeo-y-calidad-javascript-Jaime-Lopez
VLCTESTING-testeo-y-calidad-javascript-Jaime-LopezVLCTESTING-testeo-y-calidad-javascript-Jaime-Lopez
VLCTESTING-testeo-y-calidad-javascript-Jaime-LopezJaime L. López Carratalá
 
cómo medir lo inmensurable: real user experience
cómo medir lo inmensurable: real user experiencecómo medir lo inmensurable: real user experience
cómo medir lo inmensurable: real user experienceAlmudena Vivanco
 
VLCTesting 15 - Automatización de Testing de Movilidad. ¿Utopía o realidad?
VLCTesting 15 - Automatización de Testing de Movilidad. ¿Utopía o realidad?VLCTesting 15 - Automatización de Testing de Movilidad. ¿Utopía o realidad?
VLCTesting 15 - Automatización de Testing de Movilidad. ¿Utopía o realidad?Jose Antonio Rodriguez
 
Financiación alternativa y trabajo colaborativo. 1ª jornadas financiación alt...
Financiación alternativa y trabajo colaborativo. 1ª jornadas financiación alt...Financiación alternativa y trabajo colaborativo. 1ª jornadas financiación alt...
Financiación alternativa y trabajo colaborativo. 1ª jornadas financiación alt...alfredo romeo
 
Testing. La otra cara de la moneda: el desarrollador
Testing. La otra cara de la moneda: el desarrolladorTesting. La otra cara de la moneda: el desarrollador
Testing. La otra cara de la moneda: el desarrolladorFrancisco Sanchez Cid
 
VLCtesting 2013 - Comprobando y refutando las promesas del testing automatiza...
VLCtesting 2013 - Comprobando y refutando las promesas del testing automatiza...VLCtesting 2013 - Comprobando y refutando las promesas del testing automatiza...
VLCtesting 2013 - Comprobando y refutando las promesas del testing automatiza...Abstracta
 
Libro de ejercicios word
Libro de ejercicios wordLibro de ejercicios word
Libro de ejercicios wordmonicaxxv
 
Conferencias de empresa - curso 2013/14
Conferencias de empresa - curso 2013/14Conferencias de empresa - curso 2013/14
Conferencias de empresa - curso 2013/14Pablo Peñalver Alonso
 
Calendario 12 curso intensivo puesta en marcha de un negocio online argenti...
Calendario   12 curso intensivo puesta en marcha de un negocio online argenti...Calendario   12 curso intensivo puesta en marcha de un negocio online argenti...
Calendario 12 curso intensivo puesta en marcha de un negocio online argenti...Interlat
 
Calendario 12 curso intensivo creación y desarrollo de una tienda virtual ...
Calendario   12 curso intensivo creación y desarrollo de una tienda virtual ...Calendario   12 curso intensivo creación y desarrollo de una tienda virtual ...
Calendario 12 curso intensivo creación y desarrollo de una tienda virtual ...Interlat
 
Libro de ejercicios word manu
Libro de ejercicios word manuLibro de ejercicios word manu
Libro de ejercicios word manucentelles
 
BusinessDay Drupal - DrupalCamp Spain 2018
BusinessDay Drupal - DrupalCamp Spain 2018BusinessDay Drupal - DrupalCamp Spain 2018
BusinessDay Drupal - DrupalCamp Spain 2018Raúl Bordallo
 
Calendario 20 curso intensivo aspectos jurídicos del e-commerce argentina-...
Calendario   20 curso intensivo aspectos jurídicos del e-commerce argentina-...Calendario   20 curso intensivo aspectos jurídicos del e-commerce argentina-...
Calendario 20 curso intensivo aspectos jurídicos del e-commerce argentina-...Interlat
 

Similar a BDD en practica (seminario) (20)

El pequeño se hace mayor
El pequeño se hace mayor El pequeño se hace mayor
El pequeño se hace mayor
 
El tester no es un desarrollador - VLCTesting '14
El tester no es un desarrollador - VLCTesting '14El tester no es un desarrollador - VLCTesting '14
El tester no es un desarrollador - VLCTesting '14
 
Seminario Calabash - VLCTesting 2014
Seminario Calabash - VLCTesting 2014Seminario Calabash - VLCTesting 2014
Seminario Calabash - VLCTesting 2014
 
Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing
Lecciones aprendidas desarrollando una plataforma de Mobile Monkey TestingLecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing
Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing
 
VLCTESTING-testeo-y-calidad-javascript-Jaime-Lopez
VLCTESTING-testeo-y-calidad-javascript-Jaime-LopezVLCTESTING-testeo-y-calidad-javascript-Jaime-Lopez
VLCTESTING-testeo-y-calidad-javascript-Jaime-Lopez
 
cómo medir lo inmensurable: real user experience
cómo medir lo inmensurable: real user experiencecómo medir lo inmensurable: real user experience
cómo medir lo inmensurable: real user experience
 
VLCTesting 15 - Automatización de Testing de Movilidad. ¿Utopía o realidad?
VLCTesting 15 - Automatización de Testing de Movilidad. ¿Utopía o realidad?VLCTesting 15 - Automatización de Testing de Movilidad. ¿Utopía o realidad?
VLCTesting 15 - Automatización de Testing de Movilidad. ¿Utopía o realidad?
 
Técnicas presentación
Técnicas presentaciónTécnicas presentación
Técnicas presentación
 
Financiación alternativa y trabajo colaborativo. 1ª jornadas financiación alt...
Financiación alternativa y trabajo colaborativo. 1ª jornadas financiación alt...Financiación alternativa y trabajo colaborativo. 1ª jornadas financiación alt...
Financiación alternativa y trabajo colaborativo. 1ª jornadas financiación alt...
 
Testing. La otra cara de la moneda: el desarrollador
Testing. La otra cara de la moneda: el desarrolladorTesting. La otra cara de la moneda: el desarrollador
Testing. La otra cara de la moneda: el desarrollador
 
VLCtesting 2013 - Comprobando y refutando las promesas del testing automatiza...
VLCtesting 2013 - Comprobando y refutando las promesas del testing automatiza...VLCtesting 2013 - Comprobando y refutando las promesas del testing automatiza...
VLCtesting 2013 - Comprobando y refutando las promesas del testing automatiza...
 
Libro de ejercicios word
Libro de ejercicios wordLibro de ejercicios word
Libro de ejercicios word
 
Libro de word
Libro de wordLibro de word
Libro de word
 
Libro de word
Libro de wordLibro de word
Libro de word
 
Conferencias de empresa - curso 2013/14
Conferencias de empresa - curso 2013/14Conferencias de empresa - curso 2013/14
Conferencias de empresa - curso 2013/14
 
Calendario 12 curso intensivo puesta en marcha de un negocio online argenti...
Calendario   12 curso intensivo puesta en marcha de un negocio online argenti...Calendario   12 curso intensivo puesta en marcha de un negocio online argenti...
Calendario 12 curso intensivo puesta en marcha de un negocio online argenti...
 
Calendario 12 curso intensivo creación y desarrollo de una tienda virtual ...
Calendario   12 curso intensivo creación y desarrollo de una tienda virtual ...Calendario   12 curso intensivo creación y desarrollo de una tienda virtual ...
Calendario 12 curso intensivo creación y desarrollo de una tienda virtual ...
 
Libro de ejercicios word manu
Libro de ejercicios word manuLibro de ejercicios word manu
Libro de ejercicios word manu
 
BusinessDay Drupal - DrupalCamp Spain 2018
BusinessDay Drupal - DrupalCamp Spain 2018BusinessDay Drupal - DrupalCamp Spain 2018
BusinessDay Drupal - DrupalCamp Spain 2018
 
Calendario 20 curso intensivo aspectos jurídicos del e-commerce argentina-...
Calendario   20 curso intensivo aspectos jurídicos del e-commerce argentina-...Calendario   20 curso intensivo aspectos jurídicos del e-commerce argentina-...
Calendario 20 curso intensivo aspectos jurídicos del e-commerce argentina-...
 

Más de Antonio Robres Turon

Más de Antonio Robres Turon (9)

Mockito para tus pruebas unitarias
Mockito para tus pruebas unitariasMockito para tus pruebas unitarias
Mockito para tus pruebas unitarias
 
¡El mejor lenguaje para automatizar pruebas!
¡El mejor lenguaje para automatizar pruebas!¡El mejor lenguaje para automatizar pruebas!
¡El mejor lenguaje para automatizar pruebas!
 
[Tefcon] are you ready for the war
[Tefcon] are you ready for the war[Tefcon] are you ready for the war
[Tefcon] are you ready for the war
 
Testing Testing everywhere
Testing Testing everywhereTesting Testing everywhere
Testing Testing everywhere
 
One to rule them all
One to rule them allOne to rule them all
One to rule them all
 
Hello bdd
Hello bddHello bdd
Hello bdd
 
Testing Proud
Testing ProudTesting Proud
Testing Proud
 
Existe el tester perfecto
Existe el tester perfectoExiste el tester perfecto
Existe el tester perfecto
 
Existe el tester perfecto
Existe el tester perfectoExiste el tester perfecto
Existe el tester perfecto
 

BDD en practica (seminario)

  • 1. Seminario Jueves 12 de Noviembre de 2014
  • 2. BDD EN PRACTICA Antonio Robres Turon Quality Manager
  • 3. 12 y 13 de noviembre de 2014 Valencia, España 3 Quien soy?  {Nombre: Toni Robres, rol: [QA Manager, QA Arquitect], hobbies: [Leer, Tenis, Testing] }
  • 4. 12 y 13 de noviembre de 2014 Valencia, España 4 Introducción Porque estoy aquí? oPorque quiero compartir la experiencia aprendida con vosotros. Que vamos a ver durante el dia de hoy? oComo escribir buenas especificaciones mediante BDD Vas a pegarnos el rollo durante 90 minutos? oEsta es una sesión pràctica donde la mayoría del tiempo vais a trabajar en grupos y discutir.
  • 5. 12 y 13 de noviembre de 2014 Valencia, España 5 Agenda Introducción a BDD  20’ Presentación del producto y formación de grupos  10’ Plantear las historias de usuario por grupos  15’ Discusión sobre las historias de usuario  10’ Plantear los escenarios de las historias de usuario  20’ Discusión sobre los escenarios y consejos de cómo crearlos  10’ Preguntas  10’
  • 6. 12 y 13 de noviembre de 2014 Valencia, España 6 Introducción Cuales son los principales problemas en las especificaciones de producto? oEspecificaciones pobres oEspecificaciones incompletas oFalta de un lenguaje común oIndefinición de cuando una funcionalidad está acabada.
  • 7. 12 y 13 de noviembre de 2014 Valencia, España 7 Introducción Solución oCrear especificaciones basadas en ejemplos oDefinir un lenguaje común oClara definición de “Acabado”
  • 8. 12 y 13 de noviembre de 2014 Valencia, España 8 BDD – Desarrollo guiado por comportamiento BDD is a second-generation, outside-in, pull-based, multiple-stakeholder, multiple-scale, high-automation, agile methodology. It describes a cycle of interactions with well-defined outputs, resulting in the delivery of working, tested software that matters.
  • 9. 12 y 13 de noviembre de 2014 Valencia, España 9 BDD – Desarrollo guiado por comportamiento BDD no es una herramienta es una manera de trabajar Usar ejemplos para crear un entendimiento compartido para evitar incerteza y entregar software que realmente importa
  • 10. 12 y 13 de noviembre de 2014 Valencia, España 10 Como funciona BDD?
  • 11. 12 y 13 de noviembre de 2014 Valencia, España 11 Por donde comenzamos Backlog oEs una lista de requisitos funcionales y no funcionales oPriorizado DEEP: oDetallado – Estimado – Emergente – Priorizado INVEST: oIndependiente – Negociable – Valioso – Estimable – Sized - Testeable
  • 12. 12 y 13 de noviembre de 2014 Valencia, España 12 Historias de Usuario Una buena historia de usuario es: oTarjeta oConversación oConfirmación Las historias de usuario deben ser definidas cuando sean necesarias
  • 13. 12 y 13 de noviembre de 2014 Valencia, España 13 Escenarios Son la confirmación de las historias de usuario Un escenario es una concrección o ilustración con ejemplos de una historia de usuario El conjunto de todos los escenarios describe completamente el comportamiento de la historia de usuario
  • 14. 12 y 13 de noviembre de 2014 Valencia, España 14 Escenario Estructura: oSet up oPrerequisitos oProcedimiento oValidación oTear-down Como deben ser los escenarios? oRapidos – Aislados – Repetibles oPriorizados
  • 15. 12 y 13 de noviembre de 2014 Valencia, España 15 Gherkin Es un lenguaje de negoció o lenguaje especifico de dominio, creado para describir el comportamiento de los escenarios Usa una estructura para que sea leida por humanos No necesita herramientas Sintaxis: oOrientado por lineas con indentación  Paso oPuede ser en cualquier lenguaje oUtiliza indentación y palabras clave para separar las partes
  • 16. 12 y 13 de noviembre de 2014 Valencia, España 16 Estructura de Gherkin
  • 17. 12 y 13 de noviembre de 2014 Valencia, España 17 FIN TEORIA Pongamonos manos a la obra! Me voy a transformar en un cliente! He descubierto un software revolucionario que cambiara la manera de aprender de las personas y le he encontrado un nombre muy muy original!!!
  • 18. 12 y 13 de noviembre de 2014 Valencia, España 18 MAQUINA DE APRENDER!!!!
  • 19. 12 y 13 de noviembre de 2014 Valencia, España 19 Que es la maquina de aprender Juego de pregunta – Respuesta Facil de añadir nuevas preguntas Con varias categorias Usa el algoritmo de Leitner para mejorar el aprendizaje de los alumnos
  • 20. 12 y 13 de noviembre de 2014 Valencia, España 20 Algoritmo de Leitner
  • 21. 12 y 13 de noviembre de 2014 Valencia, España 21 Como escojo las preguntas?  Todas las preguntas de la caja 1 son susceptibles de ser preguntadas  Caja 2  Si la última respuesta correcta ha sido hace más de 12 horas  Caja 3  Si la última respuesta correcta ha sido hace más de 1 dia  Caja 4  Si la última respuesta correcta ha sido hace más de 5 días  Caja 5  Si la última respuesta correcta ha sido hace más de 10 días
  • 22. 12 y 13 de noviembre de 2014 Valencia, España 22 Ejemplo Pregunta Caja Última respuesta correcta 1 1 1 hora 2 1 10 horas 3 1 13 horas 4 1 1 día 5 1 1 semana 6 2 11 horas 7 2 20 horas 8 3 12 horas 9 4 5 minutos 10 4 5 días y 1 hora oPreguntas disponibles  1,2,3,4,5  6  10 oLa plataforma ha de escoger aleatoriamente una pregunta de todas las disponibles
  • 23. 12 y 13 de noviembre de 2014 Valencia, España 23 Funcionalidades en el backlog Crear usuario Borrar usuario Modificar usuario Crear pregunta Modificar pregunta Borrar pregunta Jugar!
  • 24. 12 y 13 de noviembre de 2014 Valencia, España 24 Estructura Historia de usuario Titulo de la historia Narrativa oComo [rol] oQuiero una [funcionalidad] oPara conseguir un [beneficio]
  • 25. 12 y 13 de noviembre de 2014 Valencia, España 25 Tiempo de practicar! Escribir las historias de usuario de las funcionalidades que se han planteado Recordar... El cliente esta con vosotros! 15’
  • 26. 12 y 13 de noviembre de 2014 Valencia, España 26
  • 27. 12 y 13 de noviembre de 2014 Valencia, España 27 Estructura escenarios Titulo Narrativa oDado [contexto] oY [Más contexto] oCuando [ocurre un evento] oEntonces obtengo [una salida]
  • 28. 12 y 13 de noviembre de 2014 Valencia, España 28 Dado... Definen los prerequisitos El proposito es dejar el sistema en un estado antes de que exista la interacción con el sistema Recordar que los tests son aislados! oNo deben depender de otro test
  • 29. 12 y 13 de noviembre de 2014 Valencia, España 29 Cuando... El proposito de este paso es describir la acción clave que el usuario realiza. Solo se recomienda un paso “Cuando”!
  • 30. 12 y 13 de noviembre de 2014 Valencia, España 30 Entonces... El proposito de este paso es observar las salidas y validar las hipótesis En este paso es donde se realizan las verificaciones
  • 31. 12 y 13 de noviembre de 2014 Valencia, España 31 Dirigido por datos A veces necesitamos ejecutar el mismo procedimiento con diferentes datos Es posible reutilizar los procedimientos mediante tablas
  • 32. 12 y 13 de noviembre de 2014 Valencia, España 32 Dirigido por datos Escenario: Transferencia de dinero Dado que tengo < dinero_CC > euros en mi cuenta corriente Y que tengo <dinero_CA> euros en mi cuenta de ahorro Cuando transfiero <dinero_a_transferir> de la cuenta corriente a la cuenta de ahorro Entonces tengo < dinero_despues_CC > euros en la cuenta corriente Y tengo < dinero_despues_CA > euros en la cuenta de ahorro Ejemplos | dinero_CC | dinero_CA | dinero_a_tranferir | dinero_despues_CC | dinero_despues_CA | | 100 | 20 | 20 | 40 | 80 | | 50 | 20 | 50 | 0 | 70 | | 100 | 0 | 10 | 90 | 10 | | 100 | 0 | 100 | 0 | 100 |
  • 33. 12 y 13 de noviembre de 2014 Valencia, España 33 Tiempo de practicar! Escribir los escenarios de las historias de usuario 15’
  • 34. 12 y 13 de noviembre de 2014 Valencia, España 34
  • 35. 12 y 13 de noviembre de 2014 Valencia, España 35 Consejos Escribir las especificaciones antes que la implementación este acabada Actualiza las especificaciones Ordena y prioriza los escenarios Muestra tu trabajo, observa el de otros, pide feedback y debate
  • 36. 12 y 13 de noviembre de 2014 Valencia, España 36 Evitar... Hacer ficheros de funcionalidad excesivamente largos Incluir sets de dato demasiados grandes y / o complejos No incluyais tecnologias Tener muchas verificaciones en un escenario Tener escenarios no repetibles o no aislados
  • 37. 12 y 13 de noviembre de 2014 Valencia, España 37 Ventajas Colaborar y discutir Documentación viva Son la entrada a la automatización usando BDD Facilitan la creación de nuevos test cases
  • 38. 12 y 13 de noviembre de 2014 Valencia, España 38 Preguntas?

Notas del editor

  1. Backlog: No solo historias de usuario No es un TODO list ni una wish list
  2. (Sapir-Whorf hypothesis)