desarrollo guiado por comportamiento

17
Desarrollo Guiado por Comportamiento Gustavo Bazán 2012

Upload: gustavo-bazan

Post on 19-Jul-2015

268 views

Category:

Self Improvement


1 download

TRANSCRIPT

Page 1: Desarrollo Guiado por Comportamiento

Desarrollo Guiado por Comportamiento

Gustavo Bazán

2012

Page 2: Desarrollo Guiado por Comportamiento

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

Page 3: Desarrollo Guiado por Comportamiento

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

Page 4: Desarrollo Guiado por Comportamiento

Desarrollo Guiado por Pruebas

www.agiletour.com 08/11/12

Page 5: Desarrollo Guiado por Comportamiento

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

Page 6: Desarrollo Guiado por Comportamiento

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

Page 7: Desarrollo Guiado por Comportamiento

Hacer Sistemas que Importen

• Suficiente es Suficiente

• Entregar Valor al Stakeholder

• Todo es comportamiento

www.agiletour.com 08/11/12

Page 8: Desarrollo Guiado por Comportamiento

Historias

• Un Titulo

• Narrativa

• Criterios de Aceptación

www.agiletour.com 08/11/12

Page 9: Desarrollo Guiado por Comportamiento

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

Page 10: Desarrollo Guiado por Comportamiento

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

Page 11: Desarrollo Guiado por Comportamiento

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

Page 12: Desarrollo Guiado por Comportamiento

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

Page 13: Desarrollo Guiado por Comportamiento

Proceso de Desarrollo BDD

Funcionalidad

Escenario

Pasos

Codificación

Refactorización

www.agiletour.com 08/11/12

Page 14: Desarrollo Guiado por Comportamiento

Herramientas

• Java – JBehave

• PHP – Behat

• .NET – Specflow

• Ruby – Cucumber y Rspec

• Python – Lettuce

www.agiletour.com 08/11/12

Page 15: Desarrollo Guiado por Comportamiento

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

Page 16: Desarrollo Guiado por Comportamiento

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

Page 17: Desarrollo Guiado por Comportamiento

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