bdd para la mejora de la calidad software
TRANSCRIPT
![Page 1: BDD para la mejora de la calidad software](https://reader034.vdocuments.net/reader034/viewer/2022052621/557bcb98d8b42abd548b4793/html5/thumbnails/1.jpg)
BDD para la mejora de la calidad software
![Page 2: BDD para la mejora de la calidad software](https://reader034.vdocuments.net/reader034/viewer/2022052621/557bcb98d8b42abd548b4793/html5/thumbnails/2.jpg)
Enrique SánchezTechnical Team Lead @ Medianet Software
![Page 3: BDD para la mejora de la calidad software](https://reader034.vdocuments.net/reader034/viewer/2022052621/557bcb98d8b42abd548b4793/html5/thumbnails/3.jpg)
Más de 3 años de experiencia en empresas como
Evangelista BDD
![Page 4: BDD para la mejora de la calidad software](https://reader034.vdocuments.net/reader034/viewer/2022052621/557bcb98d8b42abd548b4793/html5/thumbnails/4.jpg)
¿Por qué esta charla?
![Page 5: BDD para la mejora de la calidad software](https://reader034.vdocuments.net/reader034/viewer/2022052621/557bcb98d8b42abd548b4793/html5/thumbnails/5.jpg)
Hay dos problemas fundamentales en el desarrollo de software !
1. Construir el software mal 2. Construir el software incorrecto
![Page 6: BDD para la mejora de la calidad software](https://reader034.vdocuments.net/reader034/viewer/2022052621/557bcb98d8b42abd548b4793/html5/thumbnails/6.jpg)
Coste de un cambio
Tiempo
![Page 7: BDD para la mejora de la calidad software](https://reader034.vdocuments.net/reader034/viewer/2022052621/557bcb98d8b42abd548b4793/html5/thumbnails/7.jpg)
Hay que reducir al máximo los riesgos
![Page 8: BDD para la mejora de la calidad software](https://reader034.vdocuments.net/reader034/viewer/2022052621/557bcb98d8b42abd548b4793/html5/thumbnails/8.jpg)
Malentendidos gastan tiempo Defectos provocan retrasos Fallos en la planificación dañan tu reputación
![Page 9: BDD para la mejora de la calidad software](https://reader034.vdocuments.net/reader034/viewer/2022052621/557bcb98d8b42abd548b4793/html5/thumbnails/9.jpg)
“”
56% of all bugs can be traced to errors made during the requirement stage.
Tom deMarco
![Page 10: BDD para la mejora de la calidad software](https://reader034.vdocuments.net/reader034/viewer/2022052621/557bcb98d8b42abd548b4793/html5/thumbnails/10.jpg)
“ ”68% failed projects
Standish Group Report 2009
![Page 11: BDD para la mejora de la calidad software](https://reader034.vdocuments.net/reader034/viewer/2022052621/557bcb98d8b42abd548b4793/html5/thumbnails/11.jpg)
“”
I had a problem (…) Programmers wanted to know where to start, what to test and what not to test, how much to test in one go, what to call their tests, and how to understand why a test fails.
Better Software, March 2006 Dan North @tastapod
![Page 12: BDD para la mejora de la calidad software](https://reader034.vdocuments.net/reader034/viewer/2022052621/557bcb98d8b42abd548b4793/html5/thumbnails/12.jpg)
![Page 13: BDD para la mejora de la calidad software](https://reader034.vdocuments.net/reader034/viewer/2022052621/557bcb98d8b42abd548b4793/html5/thumbnails/13.jpg)
Eng
ine
eri
ng Product
![Page 14: BDD para la mejora de la calidad software](https://reader034.vdocuments.net/reader034/viewer/2022052621/557bcb98d8b42abd548b4793/html5/thumbnails/14.jpg)
Centrémonos en la comunicación Definamos un lenguaje común Anticipémonos a los problemas Mantengamos una buena documentación
![Page 15: BDD para la mejora de la calidad software](https://reader034.vdocuments.net/reader034/viewer/2022052621/557bcb98d8b42abd548b4793/html5/thumbnails/15.jpg)
Behavior Driven Development
![Page 16: BDD para la mejora de la calidad software](https://reader034.vdocuments.net/reader034/viewer/2022052621/557bcb98d8b42abd548b4793/html5/thumbnails/16.jpg)
“”
BDD is a second-generation, outside-in, pull-based, multiple-stakeholder, multiple-scale, high-automation, agile methodology. It describes a cycle of interactions with well-defined outputs, resulting in the delivery of working, tested software that matters.
Agile specifications, BDD and Testing eXchange, November 2009 Dan North @tastapod
![Page 17: BDD para la mejora de la calidad software](https://reader034.vdocuments.net/reader034/viewer/2022052621/557bcb98d8b42abd548b4793/html5/thumbnails/17.jpg)
Definamos lo que el software debe de hacer en términos del comportamiento deseado
![Page 18: BDD para la mejora de la calidad software](https://reader034.vdocuments.net/reader034/viewer/2022052621/557bcb98d8b42abd548b4793/html5/thumbnails/18.jpg)
Definamos lo que el software debe de hacer en términos del comportamiento deseado
BUSIN
ESS
![Page 19: BDD para la mejora de la calidad software](https://reader034.vdocuments.net/reader034/viewer/2022052621/557bcb98d8b42abd548b4793/html5/thumbnails/19.jpg)
Outside - InDesde negocio a desarrollo
![Page 20: BDD para la mejora de la calidad software](https://reader034.vdocuments.net/reader034/viewer/2022052621/557bcb98d8b42abd548b4793/html5/thumbnails/20.jpg)
Comunicaciónentre stakeholders, producto, desarrollo, testing…
![Page 21: BDD para la mejora de la calidad software](https://reader034.vdocuments.net/reader034/viewer/2022052621/557bcb98d8b42abd548b4793/html5/thumbnails/21.jpg)
Gherkin
![Page 22: BDD para la mejora de la calidad software](https://reader034.vdocuments.net/reader034/viewer/2022052621/557bcb98d8b42abd548b4793/html5/thumbnails/22.jpg)
Creamos una narrativa¿Por qué? Para tener un lenguaje común que todos entendamos ¿Cómo? Escenarios y Pasos
![Page 23: BDD para la mejora de la calidad software](https://reader034.vdocuments.net/reader034/viewer/2022052621/557bcb98d8b42abd548b4793/html5/thumbnails/23.jpg)
Narrativa
Ejemplo Describe
ImplementaDiseña
![Page 24: BDD para la mejora de la calidad software](https://reader034.vdocuments.net/reader034/viewer/2022052621/557bcb98d8b42abd548b4793/html5/thumbnails/24.jpg)
Feature
In order to definir un objetivo
As a Rol/actor
I want to descripción de lo que se va a hacer
![Page 25: BDD para la mejora de la calidad software](https://reader034.vdocuments.net/reader034/viewer/2022052621/557bcb98d8b42abd548b4793/html5/thumbnails/25.jpg)
Scenario
Given setup
When interacción/cambio/acción
Then comprobamos que todo fue como esperamos
![Page 26: BDD para la mejora de la calidad software](https://reader034.vdocuments.net/reader034/viewer/2022052621/557bcb98d8b42abd548b4793/html5/thumbnails/26.jpg)
¿Y en la vida real?
![Page 27: BDD para la mejora de la calidad software](https://reader034.vdocuments.net/reader034/viewer/2022052621/557bcb98d8b42abd548b4793/html5/thumbnails/27.jpg)
¿Qué herramientas usamos?Nosotros usamos Cucumber Framework BDD escrito en Ruby ¿Por qué? Mucha documentación y fácil de aprender
![Page 28: BDD para la mejora de la calidad software](https://reader034.vdocuments.net/reader034/viewer/2022052621/557bcb98d8b42abd548b4793/html5/thumbnails/28.jpg)
¿Cómo funciona?
![Page 29: BDD para la mejora de la calidad software](https://reader034.vdocuments.net/reader034/viewer/2022052621/557bcb98d8b42abd548b4793/html5/thumbnails/29.jpg)
¿Qué proceso seguimos?Que pasos seguir para implementar BDD
![Page 30: BDD para la mejora de la calidad software](https://reader034.vdocuments.net/reader034/viewer/2022052621/557bcb98d8b42abd548b4793/html5/thumbnails/30.jpg)
Definimos los Acceptance Criteria
![Page 31: BDD para la mejora de la calidad software](https://reader034.vdocuments.net/reader034/viewer/2022052621/557bcb98d8b42abd548b4793/html5/thumbnails/31.jpg)
Features / Scenarios
![Page 32: BDD para la mejora de la calidad software](https://reader034.vdocuments.net/reader034/viewer/2022052621/557bcb98d8b42abd548b4793/html5/thumbnails/32.jpg)
Creamos una definición formal de un escenario
![Page 33: BDD para la mejora de la calidad software](https://reader034.vdocuments.net/reader034/viewer/2022052621/557bcb98d8b42abd548b4793/html5/thumbnails/33.jpg)
Hacemos algo de magia…
![Page 34: BDD para la mejora de la calidad software](https://reader034.vdocuments.net/reader034/viewer/2022052621/557bcb98d8b42abd548b4793/html5/thumbnails/34.jpg)
Creamos tests automáticos que hagan que prueben la funcionalidad
![Page 35: BDD para la mejora de la calidad software](https://reader034.vdocuments.net/reader034/viewer/2022052621/557bcb98d8b42abd548b4793/html5/thumbnails/35.jpg)
Creamos el entorno del proyecto
![Page 36: BDD para la mejora de la calidad software](https://reader034.vdocuments.net/reader034/viewer/2022052621/557bcb98d8b42abd548b4793/html5/thumbnails/36.jpg)
![Page 37: BDD para la mejora de la calidad software](https://reader034.vdocuments.net/reader034/viewer/2022052621/557bcb98d8b42abd548b4793/html5/thumbnails/37.jpg)
Evoluciona y adáptate
![Page 38: BDD para la mejora de la calidad software](https://reader034.vdocuments.net/reader034/viewer/2022052621/557bcb98d8b42abd548b4793/html5/thumbnails/38.jpg)
Personas antes que herramientasAdapta las herramientas a tu proceso no al revés
![Page 39: BDD para la mejora de la calidad software](https://reader034.vdocuments.net/reader034/viewer/2022052621/557bcb98d8b42abd548b4793/html5/thumbnails/39.jpg)
Podemos mejorar la comunicación Mantenemos a la gente involucrada Simplificamos el proceso Tenemos documentación actualizada
Entonces…
![Page 40: BDD para la mejora de la calidad software](https://reader034.vdocuments.net/reader034/viewer/2022052621/557bcb98d8b42abd548b4793/html5/thumbnails/40.jpg)
Preguntas?Gracias!