(Behavior driven development (bdd ) [sólo lectura])

662 views

Published on

Trabajo de Behavior driven development

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
662
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

(Behavior driven development (bdd ) [sólo lectura])

  1. 1. Behavior Driven Development (BDD) Desarrollo Dirigido por ComportamientoGestión de Sistemas Informatizados. Prof. Daniel Molina CabreraEscuela Superior de Ingeniería - Universidad de Cádiz Raquel García García Inmaculada García Romero Virginia Serrano García
  2. 2. Indice:1. Introducción2. Principios fundamentales3. Ciclo de desarrollo BDD4. Herramientas y frameworks de BDD
  3. 3. 1. Introducción• Nace en 2003 de manos de Dan North como una evolución del pensamiento tras el Test Driven Development (TDD) y también tomando conceptos del Domain Driven Design (DDD).• Uniendo ambas ideas en un todo integrado que hace más evidente la relación entre estos dos caminos de desarrollo de software.
  4. 4. 1. Introducción El desarrollo dirigido por comportamiento, o Behavior Driven Development (BDD) es una técnica de Desarrollo Agil De Software, esto es, una técnica de programación que cuestiona el comportamiento de una aplicación antes y durante el proceso de desarrollo. De esta forma, se fomenta la colaboración entre desarrolladores, testers, analistas y personas del negocio en un proyecto de software.
  5. 5. 1. IntroducciónMediante preguntas tales como: “¿Qué debería hacer esta aplicación?” o “¿Qué debería hacer esta parte?” ,los desarrolladores pueden identificar brechas enla comprensión del problema del dominio y hablarcon sus pares o expertos del dominio paraencontrar las respuestas.
  6. 6. 1. IntroducciónLos desarrolladores guiados por comportamientousan su lenguaje nativo en combinación con ellenguaje ubicuo de DDD para describir el propósitoy beneficios de su código.Esto les permite enfocarse en por qué el códigodebe ser creado, antes que en los detallestécnicos, y minimiza la traducción entre ellenguaje técnico en el cuál se escribe el código y ellenguaje de dominio hablado por las personas delnegocio, usuarios, interesados, gerentes deproyecto, etc.
  7. 7. 1. Introducción Objetivo: Contribuir a que el desarrollo de software se centre en la construcción de elementos, siguiendo una prioridad, que tengan un valor verificable para el negocio. BDD permite un entendimiento más global del sistema a crear, un entendimiento común de todos los involucrados y ayuda a eliminar malos entendidos sobre lo que el sistema debe hacer.
  8. 8. 2. Principios fundamentales Suficiente es Suficiente: La planificación por adelantado, el análisis y el diseño tienen un rendimiento decreciente. No debemos hacer menos de lo que se necesita para empezar, pero más que eso es un esfuerzo inútil. Entregar valor a nuestros “stakeholders”: Si te encuentras haciendo algo que no entrega valor o incrementa tu habilidad/posibilidad de entregar valor, deja de hacerlo y haz algo distinto. Todo es comportamiento: Ya sea a nivel de código, de aplicación o más allá, podemos usar el mismo pensamiento y la misma lingüística para describir comportamiento a cualquier nivel de granularidad.
  9. 9. 3. Ciclo de desarrollo BDD1. Discusión. Desarrolladores, testers, expertos de dominio y el dueño de producto se juntan y discuten la historia, gradualmente descomponiendo y destilando el comportamiento en un conjunto de especificaciones simples.2. Decisión. El dueño de producto decide cuando la especificación cumple suficientemente el comportamiento esperado y está de acuerdo con los casos de ejemplo y demostración de la historia y cierra el alcance de la misma.3. Desarrollo. Los testers refinan los ejemplos de la especificación y los desarrolladores instrumentan las especificaciones creando primero pruebas que fallan y después implementando la funcionalidad.4. Demostración. Una vez que todos los tests pasan la historia puede ser demostrada al dueño de producto.
  10. 10. 4. Herramientas de BDD Concordion: es un framework Java de Software Libre que permite convertir especificaciones en texto común sobre requerimientos en pruebas automatizadas. JBehave: es un framework Java para mejorar la colaboración entre desarrolladores, QA, analistas de negocio, Dueño Del Producto y todos los miembros del equipo a través de escenarios automatizados y legibles.

×