Aprende Test Driven Development
$4.99
Precio mínimo
$9.99
Precio sugerido

Aprende Test Driven Development

Empieza con los ejercicios más sencillos hasta ser capaz de incorporar TDD en proyectos profesionales.

Sobre este libro

This is a book aimed to help programmers of all levels and languages to start learning Test Driven Development step by step

Sobre el autor

Fran Iglesias
Fran Iglesias

Soy un desarrollador backend que trabaja sobre todo con PHP, aunque no dejo de explorar y probar otros lenguajes. Me interesan mucho las buenas prácticas, especialmente el testing y el test/behavior driven development.

Table of Contents

  • Prólogo
    •  
      • Cómo usar este libro
      • Disclaimer
  • Conceptos básicos de TDD
    • 1 ¿Qué es TDD y por qué debería importarme?
      • La metodología Test Driven Development
      • Qué no es Test Driven Development
      • Beneficios
      • Referencias
    • 2 Conceptos básicos
      • Test
      • Tipos de tests
      • Test Case
      • Test Suite
      • Código de producción
      • Unidad de software
      • Subject under test
      • Refactor
    • 3 Coding-dojo y katas
      • Kata
      • Coding-dojo
      • Consejos para realizar las katas individualmente
      • Cómo introducir TDD en equipos de desarrollo
      • Repositorios de katas
      • Referencias
  • TDD clásica
    • 4 Las leyes de TDD
      • Las leyes en detalle
      • El segundo test y las tres leyes
      • Violaciones de las tres leyes y sus consecuencias
      • Qué significa que un test pase nada más escribirlo
      • El ciclo red-green-refactor
      • Referencias
    • 5 Fizz Buzz
      • Entendiendo las leyes y ciclos de TDD
      • Historia
      • Enunciado
      • Orientaciones para resolverla
      • Enlaces de interés sobre la kata FizzBuzz
    • 6 Resolviendo la kata Fizz Buzz
      • Enunciado de la kata
      • Lenguaje y enfoque
      • Definir la clase
      • Definir el método generate
      • Definir un comportamiento para generate
      • Generar una lista de números
      • Seguimos generando números
      • El test que no falla
      • Aprendiendo a decir “Fizz”
      • Decir “Fizz” cuando toca
      • Aprendiendo a decir “Buzz”
      • Decir “Buzz” cuando toca
      • Aprender a decir “FizzBuzz”
      • Decir “FizzBuzz” cuando toca
      • Finalizando
      • Qué hemos aprendido con esta kata
    • 7 Elección de los ejemplos y criterio de finalización
      • Checklist driven testing
      • Selección de ejemplos
      • Uso de varios ejemplos para generalizar un algoritmo
      • En búsqueda de la abstracción incorrecta
      • La abstracción correcta
    • 8 Evolución del comportamiento mediante tests
      • Construir la interfaz pública de una clase dirigida por tests
      • Dirigir el desarrollo de un comportamiento con ejemplos
      • Referencias
    • 9 Prime Factors
      • Desarrollando algoritmos
      • Historia
      • Enunciado
      • Orientaciones para resolverla
      • Enlaces de interés sobre la kata Prime Factors
    • 10 Resolviendo la kata Prime Factors
      • Enunciado de la kata
      • Lenguaje y enfoque
      • Definir la función
      • Definir la signatura de la función
      • Obteniendo más información sobre el problema
      • Introduciendo un test que no falla
      • Cuestionando nuestro algoritmo
      • Descubriendo los múltiplos de 2
      • Introduciendo más factores
      • Nuevos divisores
      • El camino más corto no siempre es el más rápido
      • Introduciendo nuevos factores, segundo intento
      • Más de dos factores
      • ¿Tenemos criterios para elegir buenos ejemplos?
      • Qué hemos aprendido con esta kata
    • 11 La elección del primer test
      • A la búsqueda del primer test más sencillo que pueda fallar
      • La felicidad de los paths
    • 12 NIF
      • Comienza por los sad paths y aplaza las soluciones
      • Historia
      • Enunciado
      • Orientaciones para resolverla
      • Enlaces de interés sobre la kata
    • 13 Resolviendo la Kata NIF
      • Enunciado de la kata
      • Lenguaje y enfoque
      • Creando la función constructora
      • Implementar la primera validación
      • Un test para dominarlos a todos
      • Completar la validación de la longitud y empezar a examinar la estructura
      • Unificar la validación por longitud del string
      • Avanzando en la estructura
      • Invertir la condicional
      • El final de la estructura
      • Compactando el algoritmo
      • Terminando la validación estructural
      • Compactando la validación
      • Seamos optimistas
      • Cambiando la interfaz pública
      • Ahora sí
      • Avanzando el algoritmo
      • Más refactor
      • Validando más letras de control
      • Un refactor para más simplicidad
      • Dar soporte a NIE
      • Qué hemos aprendido con esta kata
      • Referencias
    • 14 La fase de refactor
      • La función del refactor en TDD
      • Que refactors ejecutar
      • Límites del refactor
      • Cuando es el momento de hacer refactor
    • 15 Bowling game
      • La fase de refactor
      • Historia
      • Enunciado
      • Orientaciones para resolverla
      • Enlaces de interés sobre la kata Bowling Game
    • 16 Resolviendo la kata Bowling Game
      • Enunciado de la kata
      • Lenguaje y enfoque
      • Iniciando el juego
      • Lancemos la bola
      • Hora de refactorizar
      • Contando los puntos
      • El peor lanzador del mundo
      • Organizando el código
      • Enseñando a contar a nuestro juego
      • Un paso atrás para llegar más lejos
      • Recuperando un test anulado
      • Poniéndonos más cómodas
      • Cómo manejar un spare
      • Introduciendo el concepto de frame
      • Seguimos manejando el spare
      • Eliminando números mágicos y otros refactors
      • Strike!
      • Reorganizando el conocimiento del juego
      • La mejor jugadora del mundo
      • Qué hemos aprendido con esta kata
    • 17 Greeting
      • Una kata funcional para dominarlas todas
      • Historia
      • Enunciado
      • Orientaciones para resolverla
      • Enlaces de interés sobre la kata Greetings
    • 18 Resolviendo la kata Greetings
      • Enunciado de la kata
      • Lenguaje y enfoque
      • Saludo básico
      • Saludo genérico
      • Usar el parámetro
      • Un saludo genérico
      • Responder a gritos
      • Poder saludar a dos personas
      • Preparándose para varios nombres
      • Un refactor antes de seguir
      • Reintroduciendo un test
      • Manejar un número indeterminado de nombres
      • Gritar a los gritones, pero sólo a ellos
      • Separar nombres que contienen comas
      • Escapar comas
      • Qué hemos aprendido con esta kata
  • Outside-in TDD
    • 19 Enfoques en TDD
      • TDD Clásico o Detroit School
      • Outside-in, London School o mockista
      • Behavior Driven Development
      • Entonces, ¿qué enfoque seguir? Y ¿Cómo aprender TDD a la luz de estos enfoques?
      • Referencias
    • 20 Proyecto Todo-List
      • Diseño
    • 21 Outside-in mockista
      • Desarrollo
      • Diseñando el test de aceptación
      • Primer test unitario
      • De vuelta en el ciclo de aceptación
      • Nueva visita al test de aceptación
      • Finalizando la primera historia de usuario
      • Últimos pasos
      • Qué hemos aprendido con esta kata
    • 22 Outside-in TDD clásico
      • Planteando el problema
      • Extracción del caso de uso
      • Implementando un repositorio
      • Obtener la lista de las tareas
      • Marcar una tarea completada
      • Qué hemos aprendido con esta kata
  • TDD en la vida real
    • 23 Lista de tareas, outside-in TDD por historias de usuario
      • Añadir tareas a una lista
      • Diseñando en rojo
      • Volviendo al test de aceptación
      • Nuevo ciclo
      • Ver las tareas de la lista
      • Marcar tareas completadas
      • Siguientes pasos
    • 24 Resolviendo bugs con TDD
      • Defectos en To-do list
      • Payload inválida
      • Valores de negocio no válidos
      • Garantizando reglas de dominio
      • Tareas no encontradas
      • Resolviendo defectos
    • 25 Introducción de nuevas características
      • Nueva historia de usuario
      • Completar la historia
  • Epílogo
    • 26 TDD y calidad de vida (la tuya)
      • Conocimiento en el mundo, conocimiento en la cabeza
      • La capacidad de nuestra memoria de trabajo
      • Un día en la vida
      • Un consejo final
  • Notas

Leanpub incondicional, sin riesgo, 100% de felicidad garantizada

Durante los primeros 45 días de compra, puedes obtener un reembolso del 100% de cualquier compra Leanpub, en dos clics. Procesamos las restituciones manualmente, así que puede tomarse unos días en aparecer. Véase términos completos.

Do Well. Do Good.

Authors have earned$10,444,831writing, publishing and selling on Leanpub, earning 80% royalties while saving up to 25 million pounds of CO2 and up to 46,000 trees.

Más información sobre cómo escribir en Leanpub

Actualizaciones gratis. Libre de DRM.

¡Si compras un libro Leanpub obtienes actualizaciones gratis siempre y cuando el autor actualice el libro! Varios autores usan Leanpub para publicar sus libros en progreso mientras los escriben. Todos los lectores obtienen actualizaciones gratis, independientemente de cuándo compraron el libro o cuánto pagaron (incluyendo si fue gratis).

La mayoría de los libros Leanpub se encuentran disponibles en PDF (para computadores), EPUB (para teléfonos y tabletas) y MOBI (para Kindle). Los formatos que un libro incluye se muestran en la esquina superior derecha de esta página.

Finalmente, los libros Leanpub no tienen ninguna de las cosas sin sentido sobre protección de copia DRM, así que puedes leerlos fácilmente en cualquier dispositivo que se soporta.

Aprende más sobre los formatos de Leanpub y dónde puedes leerlos

Escribir y publicar en Leanpub

Los autores y editores usan Leanpub para publicar libros electrónicos sorprendentes en curso y completados, como éste. ¡También puedes utilizar Leanpub para escribir, publicar y vender tu libro! Leanpub es una potente plataforma para autores serios, que combina un flujo de trabajo de escritura y publicación simple y elegante con una tienda centrada en la venta de libros electrónicos en progreso. Leanpub es una máquina de escribir mágica para los autores: basta con escribir en texto plano, y para publicar tu libro electrónico, simplemente haz clic en un botón. Realmente es así de fácil.

Más información sobre cómo escribir en Leanpub