behavior driven development (bdd)

15
Manuel Gutiérrez Pineda Application Developer Sr. Scio Consulting Twitter/skype: @magupisoft [email protected] [email protected]

Upload: scio-consulting

Post on 03-Jul-2015

155 views

Category:

Presentations & Public Speaking


4 download

DESCRIPTION

Behavior Driven Development (BDD) presentación de Scio Talks por Manuel Gutierrez

TRANSCRIPT

Page 1: Behavior Driven Development (BDD)

Manuel Gutiérrez PinedaApplication Developer Sr.

Scio Consulting

Twitter/skype: @magupisoft

[email protected]

[email protected]

Page 2: Behavior Driven Development (BDD)

Desarrollo ágil

¿Qué es BDD?

¿Dónde/cómo empezamos?

¿Qué no es BDD?

Implementar BDD

Frameworks para implementar BDD

Ejemplo

Preguntas

Page 3: Behavior Driven Development (BDD)

Grupo de técnicas y métodos de desarrollo basado en el desarrollo interactivo e incremental

Rápida y flexible respuesta al cambio

Satisfacción del cliente a través de entregas rápidas de software útil

Page 4: Behavior Driven Development (BDD)

Es una técnica de desarrollo ágil basado en Test Driven Development(TDD) and Acceptance Test Driven Development (ATDD)

Promueve la colaboración entre Developers, Testers(QA) y clientes

Dan North. 2003

Page 5: Behavior Driven Development (BDD)
Page 6: Behavior Driven Development (BDD)

• Escribir casos de prueba (Test Cases) en lenguaje natural que cualquiera pueda leer (¿y escribir?)

• Usando ciertas “reglas” o mejor dicho un “Lenguaje ubicuo” (terminado prestado del Domain Driven Design, se define el uso de un DSL para pruebas)

Page 7: Behavior Driven Development (BDD)

Definir los “features” a implementar y los criterios de aceptación.

“Features” son representadas como “User Stories”

Page 8: Behavior Driven Development (BDD)

Una vez la “User Story” (US) es definida, nos enfocamos en los “Escenarios” que describen como el usuario espera que el sistema se comporte, usando la siguiente secuencia de pasos:

El “Escenario” definido para una “User Story”provee el “Criterio de aceptación” para determinar si el “Feature” esta completo

Page 9: Behavior Driven Development (BDD)

“DEPENDE”

Page 10: Behavior Driven Development (BDD)
Page 11: Behavior Driven Development (BDD)
Page 12: Behavior Driven Development (BDD)

Java http://jbehave.org/

Ruby - Cucumber http://cukes.info/

.NET http://www.specflow.org/

PHP http://behat.org/

Page 13: Behavior Driven Development (BDD)
Page 14: Behavior Driven Development (BDD)
Page 15: Behavior Driven Development (BDD)