Growing Object-Oriented Software, Guided by Tests and over 670,000 other books are available for Amazon Kindle – Amazon’s new wireless reading device. Learn more

 

or
Sign in to turn on 1-Click ordering.
Express Checkout with PayPhrase
What's this? | Create PayPhrase
More Buying Choices
Have one to sell? Sell yours here
or
Get a $17.56 Amazon.com Gift Card
Growing Object-Oriented Software, Guided by Tests
 
 
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 [Paperback]

Steve Freeman (Author), Nat Pryce (Author)
4.8 out of 5 stars  See all reviews (13 customer reviews)

List Price: $49.99
Price: $34.05 & this item ships for FREE with Super Saver Shipping. Details
You Save: $15.94 (32%)
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
Back-ordered. Due in stock September 10--order now to reserve yours! Ships from and sold by Amazon.com. Gift-wrap available.
Want it delivered Monday, September 13? Choose One-Day Shipping at checkout. Details
24 new from $29.99 10 used from $35.95
Textbook StudentJoin Amazon Student and get FREE Two-Day Shipping for one year with Amazon Prime shipping benefits.

Formats

Amazon Price New from Used from
Kindle Edition $28.79  
Paperback $34.05  
Sell This Book Back for $17.56
Whether you buy it new on Amazon for $34.05 or somewhere else, you can sell it back to our Textbook Buyback Store at the current price of $17.56 through December 31, 2010. Restrictions Apply
New Price$34.05
Buyback Price$17.56
Price after
Buyback
$16.49

Frequently Bought Together

Growing Object-Oriented Software, Guided by Tests + Clean Code: A Handbook of Agile Software Craftsmanship + Working Effectively with Legacy Code
Price For All Three: $119.32

Show availability and shipping details

Buy the selected items together
  • In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • Clean Code: A Handbook of Agile Software Craftsmanship$35.99

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • Working Effectively with Legacy Code$49.28

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details


Customers Who Bought This Item Also Bought


Editorial Reviews

Product 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

 

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

 


Product Details

  • Paperback: 384 pages
  • Publisher: Addison-Wesley Professional; 1 edition (October 22, 2009)
  • Language: English
  • ISBN-10: 0321503627
  • ISBN-13: 978-0321503626
  • Product Dimensions: 9.1 x 6.9 x 0.9 inches
  • Shipping Weight: 1.4 pounds (View shipping rates and policies)
  • Average Customer Review: 4.8 out of 5 stars  See all reviews (13 customer reviews)
  • Amazon Bestsellers Rank: #26,338 in Books (See Top 100 in Books)
    #50 in  Books > Computers & Internet > Programming > Software Design, Testing & Engineering > Object-Oriented Design
    #7 in  Books > Computers & Internet > Programming > Software Design, Testing & Engineering > Testing

More About the Authors

Discover books, learn about writers, read author blogs, and more.

Inside This Book (learn more)
Browse Sample Pages:
Front Cover | Table of Contents | First Pages | Index | Back Cover | Surprise Me!
Search Inside This Book:

What Do Customers Ultimately Buy After Viewing This Item?

Growing Object-Oriented Software, Guided by Tests
86% buy the item featured on this page:
Growing Object-Oriented Software, Guided by Tests 4.8 out of 5 stars (13)
$34.05
Clean Code: A Handbook of Agile Software Craftsmanship
5% buy
Clean Code: A Handbook of Agile Software Craftsmanship 4.3 out of 5 stars (73)
$35.99
Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation (Addison-Wesley Signature Series (Fowler))
4% buy
Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation (Addison-Wesley Signature Series (Fowler))
$38.99
Working Effectively with Legacy Code
3% buy
Working Effectively with Legacy Code 4.8 out of 5 stars (32)
$49.28

Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 
(10)

Your tags: Add your first tag
 

 

Customer Reviews

13 Reviews
5 star:
 (11)
4 star:
 (2)
3 star:    (0)
2 star:    (0)
1 star:    (0)
 
 
 
 
 
Average Customer Review
4.8 out of 5 stars (13 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

 
25 of 25 people found the following review helpful:
5.0 out of 5 stars Deep OO and TDD in one book, November 25, 2009
This review is from: Growing Object-Oriented Software, Guided by Tests (Paperback)
There are many books about Test-Driven Development on the market, but this book is unique. It presents a style of TDD which originated in the London software development community. It's a style which pushes several key ideas to the extreme: "tell, don't ask" object design, fully end-to-end incremental development, and the deep synergy between testability and good design. Steve and Nat have done a stellar job refining and presenting these ideas. The text is lucid and precise. When you read this book you'll be exposed to far more than just another style of TDD, you'll be exposed to a depth of insight about emergent object oriented design which is both rare and extremely valuable.
Help other customers find the most helpful reviews  
Was this review helpful to you? Yes No


 
13 of 13 people found the following review helpful:
5.0 out of 5 stars Excellent TDD book for actual practitioners, January 13, 2010
By Bas Vodde (Singapore) - See all my reviews
Amazon Verified Purchase(What's this?)
This review is from: Growing Object-Oriented Software, Guided by Tests (Paperback)

This book has been in my Amazon pre-ordered list for quite a while and I was looking forward to this. I found the title alone already excellent. Steven and Nat (authors of jMock) are well known expert TDD practitioners, so I was looking forward to what they had to say. The book was better than I had expected.

The book consists of 5 parts. The first part of a very quick introduction to TDD and jMock. The second part discusses the tdd cycle in more detail. The third part (150 pages) is a very large example of growing a piece of software. The fourth part discusses topics on how to sustain TDD and the last part covers some advanced topics.

In this review, I'll skip part 1 as it was short and nothing special. Part two covers the TDD cycle and the link to evolutionary design. Steve and Nat have a design style that focuses almost purely on the interactions between classes which are most frequently tested using expectations on mock objects (which, as authors of jMock, they have lots of experience with). Most notable from part 2, for me, were the classifications of objects that they used, the strong focus on interaction and mocking (more than I usually have when test-driving) and their lack of focus on classes but focus on roles and responsibilities. Nat and Steve clarify their thinking exceptionally well which makes it all easy to understand.

Part 3 takes the largest part of the book, which is where they test-drive an AuctionSniper application. It is a small application, but large for a book example. The authors show how they gradually build up the application by adding one test at the time and how they gained insights during this process which made them adjust their design. I had mixed feelings about this part as a book didn't seem like the best medium for doing this, but still I appreciate the insights they had and also their attempt to make it as close to "real world" as possible.

Writing tests is one thing, maintaining them in another. Part 4 discusses how to make the tests maintainable and the tdd cycle sustainable. Personally, I found this part very insightful and the authors discipline exemplar. The authors start of with different test smells and what to do about it. They then discuss readability of the tests and of the error messages and spend some time of test object creation. Most notable from that part (for me) was their focus on using builders for creating test data, rather than object mothers.

The final part covers three (or actually two!) advanced topics. First is testing persistence where most interesting was how the authors seemed to prefer to "go all the way" whereas the common advise (for test speed) is to rollback and mock more. (this was actually a common theme in their book). The last two chapters deal with multi-threading and async code. I was unclear why these were separated in two chapters and they they were in this particular order. The content was excellent though, except that I missed some typical design guidelines related to multi-threading design. It almost felt they were in a hurry to write the last two chapters...

Anyways, in conclusion, this will definitively be one of my favorite (if not the favorite) TDD books and general design books. Steven and Nat did a wonderful job on this one. Though the book is not perfect, I enjoyed it thoroughly. A definite recommendation for anyone interested in modern design and TDD.
Help other customers find the most helpful reviews  
Was this review helpful to you? Yes No


 
5 of 6 people found the following review helpful:
4.0 out of 5 stars Food for nurturing your TDD mastery, December 17, 2009
By Johannes Link (Heidelberg) - See all my reviews
(REAL NAME)   
This review is from: Growing Object-Oriented Software, Guided by Tests (Paperback)
In a way this book presents the essence of a decade of test-driven development practice. The authors bring together the various tools of uptodate TDD like mock objects, bdd-style naming and acceptance tests. Open the book on any chapter and you will most likely find useful and deep advice, even if you consider yourself already a TDD expert.

There's one catch, though, that made me lower the rating to 4 stars: The authors go for an extended example which covers the full TDD cycle; from a walking skeleton, to the first acceptance test, into many obvious and some non-obvious refactorings. As noble as this endeavour is, it didn't work for me as a reader. Coming back to the text - and the code - after a day or two I often got lost trying to grasp the subtle nuances; I just couldn't remember all the necessary details of previous chapters.

Nonetheless, it's an excellent book and I enjoyed it. Get a copy, read it and become a better TDD practitioner.
Help other customers find the most helpful reviews  
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews

5.0 out of 5 stars Worth the Read!
I've been a TDD programmer for a few years now. I really enjoy the process. But, I was only doing it at the class level. Read more
Published 2 months ago by Paul

5.0 out of 5 stars A must read for all OO developers
This book deserves its place among the most important writings in the TDD and OOD field in the recent years. Read more
Published 3 months ago by Wojciech Buras

5.0 out of 5 stars Challenge your thoughts on growing your software with tests, constantly
The book "Growing Object-Oriented Software, Guided by Tests" By Steve Freeman and Nat Pryce is packed with so many extremely useful information about writing object-oriented... Read more
Published 3 months ago by Jacek Laskowski

5.0 out of 5 stars A unique book
This is one of the best books on TDD, it demonstrates how the TDD process complements OO design, in particular how they work at different levels. Read more
Published 5 months ago by I. Perumalla

5.0 out of 5 stars Developer collections need this
Steve Freeman and Nat Pryce's GROWING OBJECT-ORIENTED SOFTWARE, GUIDED BY TESTS provides tips to TDD that goes beyond basics to build upon real-world experience. Read more
Published 5 months ago by Midwest Book Review

5.0 out of 5 stars The best book yet on TDD and insights into behavioral aspects of modeling
Excellent book. If you want to learn TDD - this is the book to read. Very valuable insights, presented with great clarity and lucidity. One of the best books I have ever read. Read more
Published 6 months ago by Dron

4.0 out of 5 stars Good Start for Beginners
It's a very good start for beginners to OOP and TDD. However, I couldn't find any advanced topic in it. Honestly I was expecting a little in-depth knowledge. Read more
Published 9 months ago by Isa Goksu

5.0 out of 5 stars Excellent advanced TDD book
As other reviewers have mentioned, this is an advanced book. It covers TDD methodology and programming concepts in great depth. Read more
Published 9 months ago by Jim Kuo

5.0 out of 5 stars A book by expert developers for expert developers
This isn't a book for beginners. It's a book for competent or expert programmers looking to become even better. Read more
Published 9 months ago by Mr. David Peterson

5.0 out of 5 stars Very good book to learn test driven development
TDD books are now a dime a dozen. Some of them are pretty good too. I have read several books on unit testing and TDD but I found this book refreshing in treatment of the subject... Read more
Published 9 months ago by PC

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
 


Active discussions in related forums
Search Customer Discussions
Search all Amazon discussions
   



So You'd Like to...



Look for Similar Items by Category


Look for Similar Items by Subject

 

Feedback

If you need help or have a question for Customer Service, contact us.
 Would you like to update product info or give feedback on images?
Is there any other feedback you would like to provide?

Your comments can help make our site better for everyone.


Your Recent History

 (What's this?)

After viewing product detail pages or search results, look here to find an easy way to navigate back to pages you are interested in.