las claves del desarrollo dirigido por pruebas (o tdd)

33
Las claves del Desarrollo Dirigido por Pruebas (o TDD) [email protected] / @IWT2_Javier

Upload: javierj

Post on 04-Jul-2015

1.099 views

Category:

Technology


0 download

DESCRIPTION

Repasamos qué es TDD, algunas de las claves más importante para aplicarlo de manera productiva y cómo se aplica TDD en entornos concretos de bases de datos, videojuegos y desarrollo para Android

TRANSCRIPT

Page 1: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)

Las claves del Desarrollo Dirigido por

Pruebas (o TDD)

[email protected] / @IWT2_Javier

Page 2: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)

¿Quién soy yo?

Page 3: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)

Índice

Page 4: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)

• Sin pruebas

• No veía fácilmente el diseño

• Fallaba por sorpresa sin saber por qué

• Cambiaba por cambiar.

• Apechugar con las malas decisiones.

• No avanzaba.

• Presionado por fecha límite.

• Me sentía mal.

• Un cuadro típico de necesito TDD.

¿Por qué TDD?

Page 5: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)

¿Qué es TDD?

Page 6: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)

¿Qué es TDD?

Page 7: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)

¿Qué es TDD?

1. You are not allowed to write any production code unless it is to make a failing unit test pass.

2. You are not allowed to write any more of a unit test than is sufficient to fail; and compilation failures are failures.

3. You are not allowed to write any more production code than is sufficient to pass the one failing unit test.

Page 8: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)

TDD no es probar

Desarrollador TDD Tester

Escribo una prueba con un observador Vale

Escribo una prueba con dos observadores Es lo mismo !!!!

Page 9: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)

Puntos clave de TDD

• Pruebas sencillas

• ¿Por dónde empezamos?

• Babysteps

• De abajo a arriba.

• Usa papel y lápiz.

• Prepara tu código para el cambio.

• Pruebas son código de primera.

Page 10: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)

Pruebas Sencillas

Don't let yourself get attached to anything you are not willing to walk out on in 30 seconds flat if you

feel the heat around the corner.

Page 11: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)

Prueba son código de primera

Page 12: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)

Prueba son código de primera

Page 13: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)

Babysteps

Page 14: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)

Empieza por el ejemplo más sencillo

Page 15: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)

Empieza por el ejemplo más sencillo

Librería de fracciones

Page 16: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)

Prepárate para el cambio

Page 17: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)

Prepárate para el cambio

Page 18: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)

Usa siempre lápiz y papel

Page 19: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)

Buenas prácticas en TDD

Diario de diseño.

Page 20: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)

De abajo a arriba

Page 21: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)

De abajo a arriba

Do the double

Page 22: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)

TDD desde las trincheras

Page 23: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)

TDD en las trincheras

Every unit test you write is not production code solving someone's problem.

Page 24: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)

Trincheras. Bases de Datos

Page 25: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)

Trincheras. Bases de Datos

Código de negocio

Código de acceso a la

BBDDBBDD

Dobles de prueba Análisis de SQL

BBDD en memoria

Page 26: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)

Trincheras. Desarrollo para Android

Page 27: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)

Trincheras. Videojuegos.

NO

Page 28: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)

Conclusiones

Pruébalo y elige

Page 29: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)

Conclusiones

• Falsa sensación de velocidad.

• Falsa sensación de seguridad.

• No tener claro qué probar

• Set-up complejo.

• Módulos “Dios”

TDD requiere disciplina

Page 30: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)

Extra

10.000 líneas de código C#... Comprobado…. 124 assemblies .NET generados…. Comprobado…. 52 scripts de construcción… comprobado

Ahora que mis pruebas unitarias están escritas puedo empezar a construir mis componentes.

Page 31: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)

31

Extra

Page 32: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)

Onikami

Agradecimientos

Page 33: Las Claves del Desarrollo Dirigido por Pruebas (o TDD)

33

Enlaces

• Blog: http://iwt2-javierj.tumblr.com/

• Libro: http://www.iwt2.org/web/opencms/IWT2/comunidad/LibroTDD/?locale=es

• GameUS: http://www.gameus.es/

• IWT2 DojoUS: http://www.iwt2.org/web/opencms/IWT2/comunidad/dojous/?locale=es

• Twitter: @IWT2_Javier/ @GameUsSev / @TDDPractico

Fin