
Learning Test-Driven Development
Saleem Siddiqui
- Editorial
- O'Reilly
- Año
- 2021
- Páginas
- ~280
- Nivel
- Básico
De qué trata
Guía práctica e introductoria sobre Desarrollo Guiado por Pruebas (TDD) que desmitifica la técnica enseñándola como una disciplina de diseño y estructuración de código limpio, desacoplado y simple. El libro adopta un enfoque políglota moderno trabajando en paralelo con tres lenguajes fundamentales: Go, JavaScript (Node.js / ES6+) y Python 3. Está dirigido a desarrolladores de software de nivel principiante e intermedio que conocen la sintaxis básica de al menos uno de estos lenguajes y buscan adquirir el hábito profesional de escribir pruebas automáticas antes de implementar la funcionalidad.
El autor guía al lector a través de la mecánica fundamental del ciclo Red-Green-Refactor, demostrando cómo descomponer requerimientos de negocio complejos en pequeños pasos incrementales y manejables. Explica cómo modelar Value Objects inmutables, aislar dependencias, calcular métricas de calidad de código (complejidad ciclomática, acoplamiento y cohesión) y realizar refactorizaciones estructurales seguras respaldadas por la suite de pruebas. El texto emplea las herramientas de prueba idiomáticas de cada lenguaje: el paquete estándar testing en Go, el módulo assert en JavaScript/Node.js y el framework unittest en Python, complementándose con la configuración de integración continua (CI) mediante Git y GitHub Actions.
La práctica se articula en torno a la construcción progresiva de una calculadora de portafolio multidivisa (inspirada en el problema clásico del dinero de Kent Beck), en la que se implementan operaciones aritméticas, tasas de cambio dinámicas y conversiones entre divisas (dólares, euros y wones coreanos), replicando la arquitectura paso a paso en Go, JavaScript y Python. La gran fortaleza del libro es evidenciar que el TDD es universal e independiente del lenguaje; sin embargo, prescinde de pruebas de interfaz de usuario, interacción con bases de datos o frameworks complejos de mocking para mantener el foco en la lógica de dominio.
- TDD
- Red-Green-Refactor
- Go
- JavaScript
- Python
- Pruebas unitarias
- Refactorización
- Diseño de software
- Integración continua
- GitHub Actions
¿Cómo enseña?
Con proyectos
- ✗ Sin ejercicios
- ✓ Incluye proyectos
Proyectos
Calculadora de portafolio multidivisa
Aplicación financiera que gestiona sumas, multiplicaciones y conversiones monetarias dinámicas entre múltiples monedas (USD, EUR, KRW); se construye, refactoriza y valida paso a paso en Go, JavaScript y Python integrándose con pipelines de CI en GitHub Actions.
