Desarrollo Guiado por Comportamiento
-
Upload
gustavo-bazan -
Category
Self Improvement
-
view
268 -
download
1
Transcript of Desarrollo Guiado por Comportamiento
Desarrollo Guiado por Comportamiento
Gustavo Bazán
2012
Agenda
• Desarrollo Guiado por Pruebas (TDD)
o Problemas con TDD
• Desarrollo Guiado por Comportamientos
o Hacer sistemas que Importen
o Historias
• Uso de un lenguaje común
o Proceso de desarrollo con BDD
o Herramientas
www.agiletour.com 08/11/12
Agenda
• Integración con métodos agiles
o Planificación guiada por aceptación de pruebas
o Desarrollo guiado por aceptación de pruebas
www.agiletour.com 08/11/12
Desarrollo Guiado por Pruebas
www.agiletour.com 08/11/12
El Problema con TDD
• ¿Por dónde empezar?
• ¿Qué se debe probar?
• ¿Cuál es el alcance de las pruebas?
• ¿Cómo entender el por que falla una prueba?
• Las pruebas unitarias no son suficiente
www.agiletour.com 08/11/12
Desarrollo Guiado por Comportamiento
• Restructuración de TDD
• Implementar una aplicación describiendo el comportamiento que esta debe tener
o Entender el contexto
o Entender los usuarios
www.agiletour.com 08/11/12
Hacer Sistemas que Importen
• Suficiente es Suficiente
• Entregar Valor al Stakeholder
• Todo es comportamiento
www.agiletour.com 08/11/12
Historias
• Un Titulo
• Narrativa
• Criterios de Aceptación
www.agiletour.com 08/11/12
Uso de un Lenguaje Común
Como un <Usuario, Rol>
Quiero <Funcionalidad>
Para que <Valor>
Dado <un contexto inicial> Cuando <ocurre un evento> Entonces <asegura un resultado>
www.agiletour.com 08/11/12
Ejemplos
Funcionalidad: Recepción de Mercancía
Como un gerente de inventario
Quiero dar ingreso de mercancía al almacén
Para poder hacer disponible la mercancía a la venta
www.agiletour.com 08/11/12
Ejemplos
Escenario: Mercancía es correcta y completa
Dado que recibo nueva mercancía
Y existe una orden de compra para esa mercancía
Cuando verifico la mercancía
Y la mercancía es correcta
Y las cantidades son correctas
Entonces le doy ingreso a la mercancía al almacén
www.agiletour.com 08/11/12
Ejemplos
Escenario: Mercancía es correcta pero incompleta
Dado que recibo nueva mercancía
Y existe una orden de compra para esa mercancía
Cuando verifico la mercancía
Y la mercancía es correcta
Y las cantidades incorrectas
Entonces le doy ingreso a la mercancía al almacén
Y genero una nota de crédito por el faltante www.agiletour.com 08/11/12
Proceso de Desarrollo BDD
Funcionalidad
Escenario
Pasos
Codificación
Refactorización
www.agiletour.com 08/11/12
Herramientas
• Java – JBehave
• PHP – Behat
• .NET – Specflow
• Ruby – Cucumber y Rspec
• Python – Lettuce
www.agiletour.com 08/11/12
Integración con Métodos Agiles
• Planificación Guiada por Aceptación de Pruebas
• Desarrollo Guiado por Aceptación de Pruebas
• Historias como herramientas de planificación
• Validación de las historias con los stakeholders
www.agiletour.com 08/11/12
Conclusiones
• Entregar productos:
o De calidad
o Con valor para el usuario
• Facilitar la depuración del código
• Pruebas de regresión
• Documentación
www.agiletour.com 08/11/12
Referencias
• Chelimsky, D., Astels, D., Dennis, Z., Hellesøy, A., Helmkamp, B., & North, D. (2010). The RSpec Book. The Pragmatic Programmers LLC.
• North, D. (2006). DanNorth.net. Recuperado el 14 de Junio de 2012, de Introducing BDD: http://dannorth.net/introducing-bdd/
• Sommerville, I. (2010). Ingeniería del software. Adison Wesley.
www.agiletour.com 08/11/12