testing - paper - test driven development java
Test driven development book (7)
¿Qué libro recomendarías para aprender el desarrollo impulsado por pruebas? Preferiblemente idioma agnóstico.
Bastante reciente libro razonablemente escrito The Art of Unit Testing . Me sorprende que no haya sido mencionado aquí.
El libro de Astels es una introducción sólida, el libro de Beck es bueno sobre los conceptos subyacentes, Lasse Koskela tiene uno nuevo (Test Driven: TDD y Acceptance TDD para desarrolladores de Java) . El libro de Osherove , como él dice, trata de Unit Testing, en lugar de TDD. No estoy seguro de que el libro TDD de Pragmatics haya envejecido tan bien como su libro original.
La mayoría de todo es Java o C #, pero deberías ser capaz de resolverlo tú mismo.
El desarrollo basado en pruebas de Dave Astels : una guía práctica
Para mí, este es el mejor:
- Desarrollo impulsado por prueba: por ejemplo por Kent Beck
Soy un gran admirador de casi cualquier cosa de Pragmatic Bookshelf , pero estos dos realmente me ayudaron a hacerme entender:
El programador pragmático: de oficial a maestro . Esto envejece realmente bien. Lo recomendaría a cualquier desarrollador.
Prueba unitaria pragmática en C # con NUnit, 2da edición . No dejes que el título te asuste. Los conceptos son bastante independientes del lenguaje, incluso con los ejemplos de C #.
Creciente software orientado a objetos, guiado por las pruebas de Addison-Wesley: se trata de marcos de burla, JMock y Hamcrest en particular.
De la descripción del libro:
Steve Freeman y Nat Pryce describen los procesos que utilizan, los principios de diseño que se esfuerzan por lograr y algunas de las herramientas que les ayudan a hacer el trabajo. A través de un ejemplo extendido trabajado, aprenderá cómo funciona TDD en múltiples niveles, usando pruebas para manejar las características y la estructura del código orientada a objetos, y utilizando Objetos Simulados para descubrir y luego describir las relaciones entre los objetos. En el camino, el libro trata sistemáticamente los desafíos que los equipos de desarrollo encuentran con TDD, desde integrar TDD en sus procesos hasta probar sus características más difíciles.
EDIT: ahora estoy leyendo Working Effectively with Legacy Code por Michael Feathers, que es bastante bueno. De la descripción del libro:
- Comprender la mecánica del cambio de software: agregar funciones,
corrigiendo errores, mejorando el diseño, optimizando el rendimiento- Obtener código heredado en un arnés de prueba
- Escritura de pruebas que lo protegen contra la introducción de nuevos problemas
- Este libro también incluye un catálogo de veinticuatro técnicas de interrupción de la dependencia que lo ayudan a trabajar con los elementos del programa de forma aislada y a realizar cambios más seguros.
Ya lo leí, es uno de los mejores libros de programación que jamás haya leído (personalmente creo que debe llamarse Refactoring to Testability: describe los procesos para hacer que tu código sea comprobable). Porque un código comprobable es un buen código.