Growing Object-Oriented Software, Guided by Tests (Addiso... and over 2 million other books are available for Amazon Kindle . Learn more

Buy New

or
Sign in to turn on 1-Click ordering.
Buy Used
Used - Good See details
Price: £24.22

or
 
   
Trade in Yours
For a £9.85 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Sorry, this item is not available in
Image not available for
Colour:
Image not available

 
Start reading Growing Object-Oriented Software, Guided by Tests on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Growing Object-Oriented Software, Guided by Tests (Beck Signature) [Paperback]

Steve Freeman , Nat Pryce
4.9 out of 5 stars  See all reviews (22 customer reviews)
RRP: £36.99
Price: £29.59 & FREE Delivery in the UK. Details
You Save: £7.40 (20%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In stock.
Dispatched from and sold by Amazon. Gift-wrap available.
Want it Saturday, 20 Sep.? Choose Express delivery at checkout. Details

Formats

Amazon Price New from Used from
Kindle Edition £25.57  
Paperback £29.59  
Trade In this Item for up to £9.85
Trade in Growing Object-Oriented Software, Guided by Tests (Beck Signature) for an Amazon Gift Card of up to £9.85, which you can then spend on millions of items across the site. Trade-in values may vary (terms apply). Learn more

Book Description

12 Oct 2009 0321503627 978-0321503626 1

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

 


Frequently Bought Together

Growing Object-Oriented Software, Guided by Tests (Beck Signature) + Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin) + Refactoring: Improving the Design of Existing Code (Object Technology Series)
Price For All Three: £95.17

Buy the selected items together


Product details

  • Paperback: 384 pages
  • Publisher: Addison Wesley; 1 edition (12 Oct 2009)
  • Language: English
  • ISBN-10: 0321503627
  • ISBN-13: 978-0321503626
  • Product Dimensions: 21.5 x 16.8 x 2.2 cm
  • Average Customer Review: 4.9 out of 5 stars  See all reviews (22 customer reviews)
  • Amazon Bestsellers Rank: 17,806 in Books (See Top 100 in Books)
  • See Complete Table of Contents

More About the Authors

Discover books, learn about writers, and more.

Product Description

From the Back Cover

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

 

About the Author

Steve Freeman is an independent consultant specializing in Agile software development. A founder member of the London Extreme Tuesday Club, he was chair of the first XPDay and is a frequent organizer and presenter at international conferences. Steve has worked in a variety of organizations, from writing shrink-wrap software for IBM, to prototyping for major research laboratories. Steve has a Ph.D. from Cambridge University, and degrees in statistics and music. Steve is based in London, UK.

 

Nat Pryce has worked as a programmer, architect, trainer, and consultant in a variety of industries, including sports reportage, marketing communications, retail, telecoms, and finance. With a Ph.D. from Imperial College London, he has also worked on research projects and does occasional university teaching. An early adopter of Extreme Programming, he has written or contributed to several open source libraries that support Test Driven Development. He was one of the founding organizers of the London XPDay and regularly presents at international conferences. Nat is based in London, UK.

 

Freeman and Pryce were joint winners of the 2006 Agile Alliance Gordon Pask award.

 


Inside This Book (Learn More)
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index
Search inside this book:


Customer Reviews

3 star
0
2 star
0
1 star
0
4.9 out of 5 stars
4.9 out of 5 stars
Most Helpful Customer Reviews
27 of 27 people found the following review helpful
5.0 out of 5 stars Finally an advanced TDD book 20 Nov 2009
Format:Paperback
Growing Object Oriented Software, Guided by Tests, by Steve Freeman and Nat Pryce is a TDD book, but unlike any other on the market today. First of all, the book deals mostly with advanced unit testing topics, such as designing tests for readability and mocking, and addresses many common stumbling points that people experience with unit testing a few years after they started their journey, such as applying unit testing in multi-threaded and asynchronous environments. Second, it explains and demonstrates in practice the dynamics of designing software through TDD, which is still a dark art for many programmers. And third, it gives the reader insight into Freeman's and Pryce's brains, which is why this book is a must-read for anyone serious about unit testing, even to people that have been doing it in the last century.

Given the authors' backgrounds, it's not surprising that this book has a lot to say about using mock object libraries. Mock objects are arguably the most misunderstood and misused concept in software development today, so this book should be a valuable resource for most software development teams. In the part dealing with mock objects you will find strategies for using them successfully for software design, guidelines what to mock and what not to mock and lots of examples how all that looks in code.

The book isn't written in the usual imperative way ("you should use this because of...") but reads much more as an experience report ("we use this because of"). This might be unusual at first but I really like it, as it puts the things into a much more different perspective. Many of the topics addressed by this book are quite controversial and the authors have wisely chosen the voice to avoid any notion of preaching.
Read more ›
Comment | 
Was this review helpful to you?
9 of 9 people found the following review helpful
5.0 out of 5 stars An Excellent Coverage of TDD Principles 4 Dec 2009
Format:Paperback|Verified Purchase
Some of the other reviewers are referring to this book as 'advanced'. I think it's advanced if you're relatively new to TDD. It would certainly help if you're a competent developer (which is probably why you're looking at TDD anyway), but it's 'advanced' if you want to change the way that you develop software.

It's a good read and I found quite a few "aha" paragraphs (my copy's now punctuated with permanently folded corners/post it notes).

It's nicely written without sounding arrogant. I think it's quite a hard topic to cover without getting bogged down in the minutiae of whys and wherefores of decisions, which it covers at exactly the right level

My only criticism is that I found it wee bit annoying the way it referred to the latter worked example when introducing an aspect of TDD, forcing me to skip back and forth a bit - but I think that's just a personal book reading preference.

I'm not sure how much an experienced TDD practioner would gain from it (except to see some of your own thoughts mirrored in black and white), but would very much recommend it to those new or getting started with TDD, wishing to `do it right'

Although the code samples are in Java it is applicable to other languages, such as C#, as the concepts are language independent
Comment | 
Was this review helpful to you?
4 of 4 people found the following review helpful
5.0 out of 5 stars Demonstrates Evolutionary Design 15 Jan 2010
Format:Paperback
This book is excellent, showing you not only how to do great TDD, but also how to do great design.
I would recommend it to all programmers out there who can read Java.
(The one caveat is that the book is all in Java, and so if you find reading Java hard you won't get as much out of the book.)

Steve and Nat walk you though a non-trivial example over many chapters which allows you to see how they think and how they write code.
Of course they use evolutionary design. So if you haven't got much experience with evolutionary design this book will show you how it works in practice.

TDD has improved and evolved over the years, making many of the earlier books on TDD seem outdated.

This books is full of personality and show how Steve and Nat approach TDD today.

I liked the state transition diagrams they used to visualise the system, and show which bits have been tested, and which bit is currently being worked on.
Comment | 
Was this review helpful to you?
5 of 5 people found the following review helpful
5.0 out of 5 stars An imperfect but must read book 25 Mar 2010
Format:Paperback|Verified Purchase
This book has changed the way I code. As someone that has been coding for 20 years and using TDD for 3 or 4 years that is as clear a recommendation as I can think of. I thought I understood TDD and the reasons for it but this book exposes the true beauty of the approach. There is some excellent advice in here that any developer using TDD should know. If you are using TDD (and why not by now) then read this book.

My only complaint with the book was in Part III which is a worked example. This is a large part of the book that uses a development example to demonstrate their approach to software development. As such the code goes through a lot of refactorings and this is where the problem lies. Too often they discuss a refactoring that is required without showing the code that they are considering refactoring. As the code has already gone through so many changes it is very difficult to keep track of what it currently looks like.
Comment | 
Was this review helpful to you?
4 of 4 people found the following review helpful
Format:Paperback
This is the best book on TDD that I've read. It's more than just about testing though - it's about object oriented design. It's very well written - clear without being verbose. It's suitable for all levels of experience of TDD. Unlike other books on TDD I've read, there is plenty in this book even for people who have done plenty of TDD before.
Comment | 
Was this review helpful to you?
Would you like to see more reviews about this item?
Were these reviews helpful?   Let us know
Most Recent Customer Reviews
4.0 out of 5 stars Very well written
Very well written, some very interesting concepts and examples, definitely worth a read! Only problem for me was that it was in Java and i m a C# guy but you cannot please... Read more
Published 7 months ago by dimos banis
5.0 out of 5 stars Defines the essence of TDD
This book clearly illustrates not only "What" TDD is all about but also "How" to go about doing it. This is done in the style of a tutorial type format where a fictitious Auction... Read more
Published 11 months ago by Martin Etherton
5.0 out of 5 stars Bible of being a great coder
This book shows the difference between a good coder, and a great coder. And the difference is tests. Read more
Published 13 months ago by Mr. C. Hoskin
5.0 out of 5 stars One of the few must reads in Computer Science
I've been a programmer for 18 years now, and there a few cornerstone books that changed my world view - this is one of them. Read more
Published 13 months ago by Alex Reis
5.0 out of 5 stars Book
This was a present for a clever son! I've no idea what this is about but he was very pleased with it - so I'm happy!
Published 15 months ago by V. E. Cairns
5.0 out of 5 stars Excellent TDD and design book
This is an excellent book, well written, and it gives a good insight into a method of doing TDD, and how to listen to and use tests to improve design. Read more
Published 24 months ago by Gareth
5.0 out of 5 stars Changed the way I think
This book fundamentally changed my understanding of TDD.

It is the first clear, detailed description I have seen of how test-driven development (TTD) not just improves... Read more
Published on 8 April 2012 by David Allsopp
5.0 out of 5 stars Excellent
This is a very clear and well thought out book. The authors have a wealth of real programming experience behind them and present a series of techniques and ideas that should help... Read more
Published on 12 Jun 2011 by Ian Miller
5.0 out of 5 stars I'll cut straight to the chase: This is a great book!
I'll cut straight to the chase: This is a great book! In fact I'd put it second, behind Test Driven Development by Kent Beck, on my must read list for developers. Read more
Published on 31 May 2011 by Mr. Paul J. Grenyer
5.0 out of 5 stars Essential
I think this is the single most important contribution to software engineering that I have read in the last two years.
Published on 22 Mar 2011 by Wee Engineer
Search Customer Reviews
Only search this product's reviews

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 

Search Customer Discussions
Search all Amazon discussions
   


Look for similar items by category


Feedback