Baby steps to tdd

Post on 23-Jun-2015

328 views 8 download

Transcript of Baby steps to tdd

BABY STEPS TO TDDEdson Chávez Montaño

edsonchavez@gmail.com

@Grubhart

DEFINICIONES

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

BENEFICIOS

Menor propensión a errores Rápidos Especificación ejecutable y viva del

comportamiento de un método

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

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

RIESGOS

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

QUE HAY DESPUÉS

Integration Tests Acceptance Tests Gui Tests

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).

RECURSOS

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

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

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