Growing Object-Oriented Software, Guided by Tests

Growing Object-Oriented Software, Guided by Tests

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 idea: 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, you'll 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 effectively: 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 difficult: managing complex test data, and testing persistence

and concurrency

Similar Books

ISBN 10: 0132350882
ISBN 13: 9780132350884

01 Mar 2009
Robert C. Martin

ISBN 10: 0321146530
ISBN 13: 9780321146533

22 Jan 2003
Kent Beck

ISBN 10: 0134494164
ISBN 13: 9780134494166

20 Sep 2017
Robert C. Martin

ISBN 10: 0321127420
ISBN 13: 9780321127426

27 Nov 2002
Martin Fowler

ISBN 10: 0134757599
ISBN 13: 9780134757599

04 Jan 2019
Martin Fowler

ISBN 10: 1680502395
ISBN 13: 9781680502398

02 Feb 2018
Michael T. Nygard

ISBN 10: 0201835959
ISBN 13: 9780201835953

30 Jan 2001
Frederick P. Brooks Jr.

ISBN 10: 0321125215
ISBN 13: 9780321125217

18 Sep 2003
Eric Evans

ISBN 10: 0201633612
ISBN 13: 9780201633610

01 Jul 1997
Erich Gamma

ISBN 10: 0137081073
ISBN 13: 9780137081073

06 Jun 2011
Robert C. Martin

ISBN 10: 1617293148
ISBN 13: 9781617293146

31 Dec 2017
Richard Rodger

ISBN 10: 0321278658
ISBN 13: 9780321278654

26 Nov 2004
Kent Beck