Las Claves del Desarrollo Dirigido por Pruebas (o TDD)

Preview:

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

Citation preview

Las claves del Desarrollo Dirigido por

Pruebas (o TDD)

javierj@us.es / @IWT2_Javier

¿Quién soy yo?

Índice

• 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?

¿Qué es TDD?

¿Qué es 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.

TDD no es probar

Desarrollador TDD Tester

Escribo una prueba con un observador Vale

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

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.

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.

Prueba son código de primera

Prueba son código de primera

Babysteps

Empieza por el ejemplo más sencillo

Empieza por el ejemplo más sencillo

Librería de fracciones

Prepárate para el cambio

Prepárate para el cambio

Usa siempre lápiz y papel

Buenas prácticas en TDD

Diario de diseño.

De abajo a arriba

De abajo a arriba

Do the double

TDD desde las trincheras

TDD en las trincheras

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

Trincheras. Bases de Datos

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

Trincheras. Desarrollo para Android

Trincheras. Videojuegos.

NO

Conclusiones

Pruébalo y elige

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

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.

31

Extra

Onikami

Agradecimientos

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