bdd para la mejora de la calidad software

41
BDD para la mejora de la calidad software

Upload: enrique-sanchez

Post on 13-Jun-2015

399 views

Category:

Software


1 download

TRANSCRIPT

Page 1: BDD para la mejora de la calidad software

BDD para la mejora de la calidad software

Page 2: BDD para la mejora de la calidad software

Enrique SánchezTechnical Team Lead @ Medianet Software

Page 3: BDD para la mejora de la calidad software

Más de 3 años de experiencia en empresas como

Evangelista BDD

Page 4: BDD para la mejora de la calidad software

¿Por qué esta charla?

Page 5: BDD para la mejora de la calidad software

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

Coste de un cambio

Tiempo

Page 7: BDD para la mejora de la calidad software

Hay que reducir al máximo los riesgos

Page 8: BDD para la mejora de la calidad software

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

“”

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

“ ”68% failed projects

Standish Group Report 2009

Page 11: BDD para la mejora de la calidad software

“”

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
Page 13: BDD para la mejora de la calidad software

Eng

ine

eri

ng Product

Page 14: BDD para la mejora de la calidad software

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

Behavior Driven Development

Page 16: BDD para la mejora de la calidad software

“”

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

Definamos lo que el software debe de hacer en términos del comportamiento deseado

Page 18: BDD para la mejora de la calidad software

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

Outside - InDesde negocio a desarrollo

Page 20: BDD para la mejora de la calidad software

Comunicaciónentre stakeholders, producto, desarrollo, testing…

Page 21: BDD para la mejora de la calidad software

Gherkin

Page 22: BDD para la mejora de la calidad software

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

Narrativa

Ejemplo Describe

ImplementaDiseña

Page 24: BDD para la mejora de la calidad software

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

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

¿Y en la vida real?

Page 27: BDD para la mejora de la calidad software

¿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

¿Cómo funciona?

Page 29: BDD para la mejora de la calidad software

¿Qué proceso seguimos?Que pasos seguir para implementar BDD

Page 30: BDD para la mejora de la calidad software

Definimos los Acceptance Criteria

Page 31: BDD para la mejora de la calidad software

Features / Scenarios

Page 32: BDD para la mejora de la calidad software

Creamos una definición formal de un escenario

Page 33: BDD para la mejora de la calidad software

Hacemos algo de magia…

Page 34: BDD para la mejora de la calidad software

Creamos tests automáticos que hagan que prueben la funcionalidad

Page 35: BDD para la mejora de la calidad software

Creamos el entorno del proyecto

Page 36: BDD para la mejora de la calidad software
Page 37: BDD para la mejora de la calidad software

Evoluciona y adáptate

Page 38: BDD para la mejora de la calidad software

Personas antes que herramientasAdapta las herramientas a tu proceso no al revés

Page 39: BDD para la mejora de la calidad software

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

Preguntas?Gracias!

Page 41: BDD para la mejora de la calidad software

Enrique Sánchez | [email protected] | @EnriqueSanchezB