haciendo bdd con mspec
TRANSCRIPT
![Page 1: Haciendo BDD con MSpec](https://reader033.vdocuments.mx/reader033/viewer/2022052912/55a0a4341a28ab55778b45f9/html5/thumbnails/1.jpg)
Haciendo BDD con Mspec… de manera efectiva
Jorge Gamba
Consultor en Desarrollo de SoftwareCommunity Manager
Web: http://jorgegamba.comTwitter: @jorgegambaCorreo: [email protected]
![Page 2: Haciendo BDD con MSpec](https://reader033.vdocuments.mx/reader033/viewer/2022052912/55a0a4341a28ab55778b45f9/html5/thumbnails/2.jpg)
Agenda
BDD
Introducción
Relación con ATDD, DDD y TDD
Historias y Criterios de Aceptación
Estilo Context/Specification
Conceptos básicos
Recomendaciones
MSpec
Introducción
“Hola mundo”
Uso
Ejercicio de aplicación
Integración con herramientas
Recomendaciones
![Page 3: Haciendo BDD con MSpec](https://reader033.vdocuments.mx/reader033/viewer/2022052912/55a0a4341a28ab55778b45f9/html5/thumbnails/3.jpg)
¿BD… qué?
![Page 4: Haciendo BDD con MSpec](https://reader033.vdocuments.mx/reader033/viewer/2022052912/55a0a4341a28ab55778b45f9/html5/thumbnails/4.jpg)
Antes
http://altnet-hispano.pbworks.com/van-2010-08-14-user-stories
http://altnet-hispano.pbworks.com/van-2010-05-15-bdd
![Page 5: Haciendo BDD con MSpec](https://reader033.vdocuments.mx/reader033/viewer/2022052912/55a0a4341a28ab55778b45f9/html5/thumbnails/5.jpg)
Definición
«Behaviour-Driven Development (BDD) is an evolution in the thinking behind TestDrivenDevelopment and AcceptanceTestDrivenPlanning»
Dan Northhttp://behaviour-driven.org/
![Page 6: Haciendo BDD con MSpec](https://reader033.vdocuments.mx/reader033/viewer/2022052912/55a0a4341a28ab55778b45f9/html5/thumbnails/6.jpg)
ATDD
DDD
TDDTest-Driven Development
Domain-Driven Design
Acceptance Test-DrivenDevelopment
BDD
![Page 7: Haciendo BDD con MSpec](https://reader033.vdocuments.mx/reader033/viewer/2022052912/55a0a4341a28ab55778b45f9/html5/thumbnails/7.jpg)
Análisis
Implementación
Diseño
Pruebas
ATDD DDD TDD+ +
![Page 8: Haciendo BDD con MSpec](https://reader033.vdocuments.mx/reader033/viewer/2022052912/55a0a4341a28ab55778b45f9/html5/thumbnails/8.jpg)
ATDD TDD
Cliente Desarrollador
Aceptación Implementación
Especificaciones Funcionales Especificaciones Técnicas
[Yellow]-Red-Green-Refactor Red-Green-Refactor
Pruebas de Integración Pruebas Unitarias
Preparación Improvización
Alto Nivel Bajo Nivel
SpecFlow, StorEvil, SotoryQ … MSpec
![Page 9: Haciendo BDD con MSpec](https://reader033.vdocuments.mx/reader033/viewer/2022052912/55a0a4341a28ab55778b45f9/html5/thumbnails/9.jpg)
Historias
Para …[Motivación]
Como un …[Rol]
Quiero …[Objetivo]
![Page 10: Haciendo BDD con MSpec](https://reader033.vdocuments.mx/reader033/viewer/2022052912/55a0a4341a28ab55778b45f9/html5/thumbnails/10.jpg)
Criterios de Aceptación
Given/When/ThenDado que [contexto]Cuando [evento]Entonces [consecuencia]
Context/SpecificationCuando [Evento + Contexto]Debería [Resultados esperados]
![Page 11: Haciendo BDD con MSpec](https://reader033.vdocuments.mx/reader033/viewer/2022052912/55a0a4341a28ab55778b45f9/html5/thumbnails/11.jpg)
Codificación por ejemplos (a.k.a. TDD)
Clase de test/spec por cada escenario no por archivo de clase
DRY no es prioridad
La legibilidad es importante
![Page 12: Haciendo BDD con MSpec](https://reader033.vdocuments.mx/reader033/viewer/2022052912/55a0a4341a28ab55778b45f9/html5/thumbnails/12.jpg)
Machine.Specificationsa.k.a. MSpec
http://github.com/machine/machine.specifications
Aaron Jensenhttp://codebetter.com/blogs/aaron.jensen/
Alexander Großhttp://therightstuff.de/
![Page 13: Haciendo BDD con MSpec](https://reader033.vdocuments.mx/reader033/viewer/2022052912/55a0a4341a28ab55778b45f9/html5/thumbnails/13.jpg)
¡Muchas Gracias!
Jorge Gamba
Web: http://jorgegamba.comTwitter: @jorgegambaCorreo: [email protected]