Essential Test-Driven Development : 9780134494159

Essential Test-Driven Development

Published by
Pearson Higher Ed USA
Available once published
Title type
Test-Driven Development (TDD) is at the heart of low-defect agile software development, enabling incremental development and emergent design without degrading quality. By allowing software teams to create comprehensive regression tests that immediately pinpoint tiny errors, it gives them confidence to enhance functionality with incredible speed.

Essential Test-Driven Development will help you discover how TDD helps developers take back the joy of software development, as you glimpse of the future of TDD and software development as a profession. Leading TDD coach and instructor Rob Myers shares his experiences, suggestions, and stories, plus focused and fun self-directed Java, C#, C++, and JavaScript lab work from his acclaimed TDD course.

Throughout, this guide reflects the author's unsurpassed experience practicing TDD on real production code and helping hundreds of teams adopt TDD practices. Myers addresses both human motivations and technical challenges, and stresses benefits to individual programmers, not just companies. He also offers exceptional coverage of massive refactoring and legacy code, reflecting the actual realities most developers face.

Table of contents
  • 1. The Trouble with Software
  • 2. A Brief History of TDD
  • 3. This is Your Brain on TDD
  • 4. Test-Driven Development Overview
  • 5. The Recipe
  • 6. The Fab Five
  • 7. Relentless Refactoring
  • 8. Test-First 9. First Labs
  • 10. Mocks and Fakes
  • 11. The Legacy Code Challenge
  • 12. Top Ten Challenges and Pitfalls, and What to Do About Them.
  • 13. Advanced TDD
  • 14. ATDD and BDD
  • 15. Emergent Design
  • 16. Black Swans
  • 17. The Future of TDD
  • 18. Appendices and Extras
  • 19. Other Helpful Agile Engineering Practices
Features & benefits
  • Understand TDD's real practical value for individual contributors as well as organizations
  • TDD for the next generation: today's best ways to begin (and then master) TDD
  • Use TDD, Relentless Refactoring, and Characterization Testing to improve existing code, and maintain and extend software products
  • Master proven team collaboration for establishing and preserving a strong TDD practice and a healthy TDD environment