Baby steps to tdd

11
BABY STEPS TO TDD Edson Chávez Montaño [email protected] @Grubhart

Transcript of Baby steps to tdd

Page 1: Baby steps to tdd

BABY STEPS TO TDDEdson Chávez Montaño

[email protected]

@Grubhart

Page 2: Baby steps to tdd

DEFINICIONES

Probar comportamiento de componentes Evitar dependencia entre componentes Estado conocido No es trabajo de QA

Page 3: Baby steps to tdd

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

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

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

RIESGOS

Probar por lograr un indicador Probar sin saber que se prueba Dejar pruebas sin pasar

Page 7: Baby steps to tdd

QUE HAY DESPUÉS

Integration Tests Acceptance Tests Gui Tests

Page 8: Baby steps to tdd

TDD

Page 9: Baby steps to tdd

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

RECURSOS

• 12 meses 12 katas (http://12meses12katas.com/)

• Coding Dojo (http://codingdojo.org/)

Page 11: Baby steps to tdd

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