num_pages: 345
description: Foreword by Kent Beck The authors of this book have led a revolution in the craft of programming by controlling the environment in which software grows. --Ward Cunningham At last a book suffused with code that exposes the deep symbiosis between TDD and OOD. This one's a keeper. --Robert C. Martin If you want to be an expert in the state of the art in TDD you need to understand the ideas in this book.-- Michael Feathers Test-Driven Development (TDD) is now an established technique for delivering better software faster. TDD is based on a simple Write tests for your code before you write the code itself. However this simple idea takes skill and judgment to do well. Now there's a practical guide to TDD that takes you beyond the basic concepts. Drawing on a decade of experience building real-world systems two TDD pioneers show how to let tests guide your development and grow software that is coherent reliable and maintainable. Steve Freeman and Nat Pryce describe the processes they use the design principles they strive to achieve and some of the tools that help them get the job done. Through an extended worked example youll learn how TDD works at multiple levels using tests to drive the features and the object-oriented structure of the code and using Mock Objects to discover and then describe relationships between objects. Along the way the book systematically addresses challenges that development teams encounter with TDD--from integrating TDD into your processes to testing your most difficult features. Coverage includes  Implementing TDD getting started and maintaining your momentum throughout the project  Creating cleaner more expressive more sustainable code  Using tests to stay relentlessly focused on sustaining quality  Understanding how TDD Mock Objects and Object-Oriented Design come together in the context of a real software development project  Using Mock Objects to guide object-oriented designs  Succeeding where TDD is managing complex test data and testing persistence and concurrency. 
language: English
title: Growing Object-Oriented Software, Guided by Tests
publisher: Addison-Wesley Professional