Download - Baby steps to tdd
![Page 2: Baby steps to tdd](https://reader036.vdocuments.pub/reader036/viewer/2022081508/55896494d8b42aa74b8b460e/html5/thumbnails/2.jpg)
DEFINICIONES
Probar comportamiento de componentes Evitar dependencia entre componentes Estado conocido No es trabajo de QA
![Page 3: Baby steps to tdd](https://reader036.vdocuments.pub/reader036/viewer/2022081508/55896494d8b42aa74b8b460e/html5/thumbnails/3.jpg)
BENEFICIOS
Menor propensión a errores Rápidos Especificación ejecutable y viva del
comportamiento de un método
![Page 4: Baby steps to tdd](https://reader036.vdocuments.pub/reader036/viewer/2022081508/55896494d8b42aa74b8b460e/html5/thumbnails/4.jpg)
BENEFICIOS
Permite encapsular un error y enfocar el esfuerzo realizado
Paso necesario a técnicas que han demostrado su eficacia como TDD, Continuous Integration, Continuous Delivery
![Page 5: Baby steps to tdd](https://reader036.vdocuments.pub/reader036/viewer/2022081508/55896494d8b42aa74b8b460e/html5/thumbnails/5.jpg)
INVERSIÓN
Tiempo Metódico Disciplina Tener claro el concepto de prueba unitaria Capacidad de abstracción y encapsulamiento Decidir que probar y que no
![Page 6: Baby steps to tdd](https://reader036.vdocuments.pub/reader036/viewer/2022081508/55896494d8b42aa74b8b460e/html5/thumbnails/6.jpg)
RIESGOS
Probar por lograr un indicador Probar sin saber que se prueba Dejar pruebas sin pasar
![Page 7: Baby steps to tdd](https://reader036.vdocuments.pub/reader036/viewer/2022081508/55896494d8b42aa74b8b460e/html5/thumbnails/7.jpg)
QUE HAY DESPUÉS
Integration Tests Acceptance Tests Gui Tests
![Page 8: Baby steps to tdd](https://reader036.vdocuments.pub/reader036/viewer/2022081508/55896494d8b42aa74b8b460e/html5/thumbnails/8.jpg)
TDD
![Page 9: Baby steps to tdd](https://reader036.vdocuments.pub/reader036/viewer/2022081508/55896494d8b42aa74b8b460e/html5/thumbnails/9.jpg)
CICLO
Escribir el Test (dado <escenario>, cuando <comportamiento> entonces <asserts>) y verlo fallar
Escribir la implementación mas simple para que el test pase (cometiendo todos los pecados imaginables)
Refactor: mejorar el diseño sin afectar el comportamiento, detectar y corregir smells (código de producción y código de pruebas).
![Page 10: Baby steps to tdd](https://reader036.vdocuments.pub/reader036/viewer/2022081508/55896494d8b42aa74b8b460e/html5/thumbnails/10.jpg)
RECURSOS
• 12 meses 12 katas (http://12meses12katas.com/)
• Coding Dojo (http://codingdojo.org/)
![Page 11: Baby steps to tdd](https://reader036.vdocuments.pub/reader036/viewer/2022081508/55896494d8b42aa74b8b460e/html5/thumbnails/11.jpg)
FIBALLson dos jugadores
el puntaje de cada jugador empieza en 0 puntos,
Cada vez que un jugador anota un punto su puntaje obtiene puntos equivalentes a la siguiente variación de la serie fibonacci (hasta 21 puntos)0,1,2,3,5,8,13,21
si luego de obtener 21 puntos un jugador hace un punto mas, gana el partido (excepto si aplica la siguiente regla)
si dos jugadores empatan en 21 puntos entran a "suspenso"
Si un jugador hace un punto cuando el juego esta en "suspenso" el jugador se pone en "ventaja"
Si un jugador esta en ventaja y el otro jugador marca un punto el juego vuelve a "suspenso" y el jugador pierde la condición de "ventaja"
si un jugador en ventaja hace un punto mas gana la partida