- Por María Dueñas
- ·
- Publicado 20 Feb 2024
Antipatrones de TDD: Serie completa
Matheus Marabesi, software craftsperson en Codurance, analiza en profundidad la lista de los 22 antipatrones de TDD recopilada por James Carr. A..
Una vez que hayas empezado a utilizar TDD y profundizado en conceptos básicos como condicionales, bucles y estructuras simples, es hora de añadir complejidad a tu práctica. Refuerza tus conocimientos de programación orientada a objetos (OOP), así como otros conceptos de testing, como los tests-doubles y distintos estilos de TDD, y cómo enfrentar problemas con estos enfoques.
Text processing: En esta se enseña el concepto de DTO donde lo que no queremos es acoplarnos a la salida que tenemos por pantalla sino a la información que realmente nos interesa También se busca que se trabaje una tarea de manera iterativa e incremental. NO te centres en la representación gráfica.
Bags: Kata para trabajar estructuras de datos, OOP
y polimorfismo
PrintDate: Kata para trabajar los colaboradores, los Dobles de test y la teoría de que tipo de doble sería un [Command]
y que tipo de doble sería un [Query]
.
Iteración 1: Utilización de dobles de test y comprender el “Don’t Mock What You Don’t Own” - Opcional, usa CRC cards
Iteración 2: Crear tus propios dobles de test
Tic tac toe: Kata diseñada para aprender 2 cosas importantes:
Iteración 1: TDD inside-out ver como evolucionan los test y trabajar como se quiere hacer si separando [Commands]
y [Queries]
o el juego podría devolver su estado
Iteración 2: TDD outside-in
sin acoplarse a la representación gráfica, esta parte se trabajará en la Bank kata (aunque si alguien termina pronto puede intentar ver como poder implementarlo)
Iteración 3: Aplicación de object calisthenic y utiliza mutant testing para que te ayude ha crear test más fuerte.
Smart Fridge:
Iteración 1: TDD inside-out
(introducción a colaboradores)
Iteración 2: TDD outside-in
(hacer solamente el test de contrato con dobles de test)
Iteración 3: Aplicación de object calisthenic
Guess the random number: Kata para aprender 3 cosas:
Iteración 1: TDD inside-out
(introducción a colaboradores)
Iteración 2: TDD outside-in
(hacer solamente el test de contrato con dobles de test)
Iteración 3: TDD outside-in haciendo el contrato y con este contrato crear los colaboradores haciendo TDD, Esto se podría hacer con un double loop haciendo ATDD
ATM machine: Kata iterativa incremental que tiene estado y que puede ser afrontada desde inside-out o outside-in
Iteración 1: Que eligan el estilo quecreen que deben trabajar más.
Iteración 2: Que lo hagan del estilo con el que más cómodo se sienten.
Iteración 3: Aplicación de object calisthenic
Shopping cart: Kata iterativa incremental que tiene estado y que puede ser afrontada desde inside-out o outside-in
Iteración 1: Que elijan el estilo que creen que deben trabajar más. - Opcional, usa CRC cards
Iteración 2: Que lo hagan del estilo con el que más cómodo se sienten.
Iteración 3: Aplicación de object calisthenic
Bank: Kata diseñada para trabajarla con outside-in
y utilizando ATDD
Iteración 1: TDD outside-in
Iteración 2: BDD
con Gherking o Cucumber
Salary slip kata: Kata diseñada para trabajar con OOP y con BDD
Iteración 1: Trabajar el outside-in
y utilizando ATDD
Iteración 2: Trabajar el inside-out
Iteración 2: Trabajar el BDD
. Centrate en aprender que es BDD, como sería una feature correcta, haz el setup para el lenguaje que necesites e invierte el tiempo necesario
Conway's Game of Life:
Iteración 1: TDD inside-out
(introducción a colaboradores)
Iteración 2: TDD outside-in
(hacer solamente el test de contrato con dobles de test)
Matheus Marabesi, software craftsperson en Codurance, analiza en profundidad la lista de los 22 antipatrones de TDD recopilada por James Carr. A..
Ser un líder técnico eficaz va más allá del establecimiento de tareas y objetivos: abarca la creación de un entorno donde los developers realmente..
Ya estás en el último nivel. Has ido completando fases de aprendizaje y vamos con las katas más complejas. Aquí hay un reto mayor en cada una de..
Suscríbete a nuestra newsletter para que podamos hacerte llegar recomendaciones de expertos y casos prácticos inspiradores
Suscríbete a nuestra newsletter para que podamos hacerte llegar recomendaciones de expertos y casos prácticos inspiradores