Join Amazon Prime and ship Two-Day for free and Overnight for $3.99. Already a member? Sign in.

 

or
Sign in to turn on 1-Click ordering.
 
 
More Buying Choices
51 used & new from $8.16

Have one to sell? Sell yours here
 
   
Test-Driven Development: A Practical Guide (Coad Series)
 
 
Tell the Publisher!
I’d like to read this book on Kindle

Don’t have a Kindle? Get yours here.
 
  

Test-Driven Development: A Practical Guide (Coad Series) (Paperback)

by David Astels (Author) "From programmers to users, everyone involved in software development agrees: testing is good..." (more)
Key Phrases: duplicate movie, expectation list, prescription database, Star Wars, Star Trek, Action Event (more...)
4.1 out of 5 stars See all reviews (14 customer reviews)

List Price: $59.99
Price: $48.34 & this item ships for FREE with Super Saver Shipping. Details
You Save: $11.65 (19%)
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.

Only 1 left in stock--order soon (more on the way).

Want it delivered Tuesday, July 14? Choose One-Day Shipping at checkout. Details
26 new from $9.14 25 used from $8.16

Frequently Bought Together

Test-Driven Development: A Practical Guide (Coad Series) + Test Driven Development: By Example (Addison-Wesley Signature Series) + Working Effectively with Legacy Code (Robert C. Martin Series)
Price For All Three: $138.11

Show availability and shipping details


Customers Who Bought This Item Also Bought

Working Effectively with Legacy Code (Robert C. Martin Series)

Working Effectively with Legacy Code (Robert C. Martin Series)

by Michael Feathers
4.9 out of 5 stars (28)  $49.28
Agile Estimating and Planning (Robert C. Martin Series)

Agile Estimating and Planning (Robert C. Martin Series)

by Mike Cohn
4.7 out of 5 stars (49)  $44.45
Code Complete: A Practical Handbook of Software Construction

Code Complete: A Practical Handbook of Software Construction

by Steve McConnell
4.8 out of 5 stars (106)  $31.49
Refactoring: Improving the Design of Existing Code (Addison-Wesley Object Technology Series)

Refactoring: Improving the Design of Existing Code (Addison-Wesley Object Technology Series)

by Martin Fowler
4.5 out of 5 stars (138)  $47.99
User Stories Applied: For Agile Software Development (Addison-Wesley Signature Series)

User Stories Applied: For Agile Software Development (Addison-Wesley Signature Series)

by Mike Cohn
4.8 out of 5 stars (44)  $44.51
Explore similar items

Editorial Reviews

Product Description
This book teaches programmers how to make Test Driven Development (TDD) work in their organization. TDD is unique because it forces the programmer to write tests for code before the code is actually written. This process is the reverse of how software testing has traditionally been conducted, but TDD ensures that software is produced more efficiently. A test-first mentality allows the programmer to define, specify, illustrate, limit, and drive the code, resulting in documented, tested, code that is as simple and lean as possible. The book also presents tools and techniques, and all major points are supported by numerous examples (including an entire project, end-to-end) and exercises.

From the Back Cover

Test-Driven Development: A Practical Guide

David R. Astels

Foreword by Ron Jeffries

  • The relentlessly practical TDD guide: real problems, real solutions, real code
  • Includes a start-to-finish project written in Java and using JUnit
  • Introduces TDD frameworks for C++, C#/.NET, Python, VB6, and more
  • For every developer and project manager interested test-driven development

Make Test-Driven Development work for you!

Test-Driven Development: A Practical Guide enables developers to write software that's simpler, leaner, more reliable... just plain better.

Now, there's a TDD guide focused on real projects, real developers, real implementation challenges, and real code.

Renowned agile development expert Dave Astels shows TDD at work in a start-to-finish project written in Java and using the JUnit testing framework. You'll learn how "test first" works, why it works, what obstacles you'll encounter, and how to transform TDD's promise into reality.

  • o Relentlessly practical! Full of downloadable code examples, hands-on exercises, and a fully hyperlinked version of the "resources" appendix
  • o Introduces powerful TDD tools and techniques--including key JUnit extensions, presented by their creators (Scott Ambler, Tim Bacon, Mike Bowler, Mike Clark, Bryan Dollery, James Newkirk, Bob Payne, Kay Pentacost, and Jens Uwe Pipka)
  • o Covers refactoring, "programming by intention," mock objects, and much more
  • o Discusses TDD frameworks for C++, C#/.NET, Python, VB6, Ruby, and Smalltalk
  • o Introduces previously unpublished test-first techniques for GUI software
  • o Contains appendices introducing eXtreme Programming and Agile Modeling
  • o For all programmers and project managers

Read this book if you're ready to write code that's clearer, more robust, and easier to extend & maintain--in short, if you're ready to write better code!



See all Editorial Reviews

Product Details

  • Paperback: 592 pages
  • Publisher: Prentice Hall PTR; Second edition (July 12, 2003)
  • Language: English
  • ISBN-10: 0131016490
  • ISBN-13: 978-0131016491
  • Product Dimensions: 9.1 x 6.9 x 1.3 inches
  • Shipping Weight: 2 pounds (View shipping rates and policies)
  • Average Customer Review: 4.1 out of 5 stars See all reviews (14 customer reviews)
  • Amazon.com Sales Rank: #204,867 in Books (See Bestsellers in Books)

    Popular in this category: (What's this?)

    #66 in  Books > Computers & Internet > Programming > Software Design, Testing & Engineering > Testing

Inside This Book (learn more)


What Do Customers Ultimately Buy After Viewing This Item?


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
Check the boxes next to the tags you consider relevant or enter your own tags in the field below.
(2)

Your tags: Add your first tag
 
Help others find this product — tag it for Amazon search
No one has tagged this product for Amazon search yet. Why not be the first to suggest a search for which it should appear?

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

 

Customer Reviews

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

 
42 of 44 people found the following review helpful:
2.0 out of 5 stars Falls short of its goal, April 17, 2004
By A Customer
This book is about Test-Driven Development (TDD). Its purpose is to help you write better code (by having more tests) and give you a head start with existing tools to achieve this.

The book falls short of these goals: The explanations about writing tests are short on advice and are sometimes misleading. The presentation of the tools is long, with little useful facts.

The book is organized into four parts: Background on TDD, refactoring and programming by intention; A look at JUnit and related tools used to write and run tests; A lengthy example of TDD; An overview of other tools in the xUnit family. The book is targeted at a Java audience but programmers using other languages should have little difficulties understanding the code.

I have a major problem with the background section. The author repeatedly claims that TDD provides exhaustive test coverage and ensures that you can refactor your code with confidence. Any error will be caught by the tests. This is foolish. First, tests rarely reach 100% code coverage. Even the sample that the author provides in the book ends up with less than 90% coverage. This leaves many gaps where tests will fail to detect errors. Even if tests cover 100% branches in the code tests are not exhaustive. Depending on the data used, the same branch may exhibit different behavior. (Not to speak about race conditions and other sources of hard to find bugs.) I fully agree with the author that writing unit tests will improve the quality of the code and help find bugs. But claiming that this is a silver bullet is not wise. I would recommend reading books about tests (e.g., Myers' The Art of Software Testing and McConnell's Code Complete chapter on unit testing) in addition to this book. The section on refactoring is a summary of Martin Fowler's Refactoring book which I recommend.

The second part presents JUnit. JUnit is a framework used to write and run tests. It is a good presentation. However I would have liked to get pieces of advices on what tests to write in addition to how to write them. The author briefly mentions boundary testing but does not have much to say about the tests themselves. Again a test book is invaluable for this. The author recommends using a test coverage tool as well as Jester to measure the tests coverage. This is a great idea.

The third section is an (overly) extended example: the author walks us through writing TDD code. This could have been a great part, giving meaning to the `practical' adjective in the book title. Unfortunately it is a long rambling, showing lots of code but short on insights. The actual `meat' of this part could be summarized in less than five pages.

The last section presents variations on the JUnit tool. Many languages (C++, C#, VB, Python, etc) are discussed. This part would have been better put on a website rather than printed in the book. Given the changes in some of these frameworks the information is obsolete.

The books ends with several appendices dealing with extreme programming and agile modeling.

Unit tests are a great tool to improve code quality. Whether or not you actively practice TDD, a good book on it can provide insights into improving your code. This book contains some interesting bits of wisdom. However much of it is buried by the rest of the material.

Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
16 of 16 people found the following review helpful:
5.0 out of 5 stars Great work covering TDD from the ground up to adv. topics, May 12, 2004
By dkroot (Washington, DC USA) - See all my reviews
(Disclaimer: I worked with the author on one large project).
Dave Astels' book is a comprehensive work covering TDD from the ground up to advanced topics. While most of the book examples use Java and JUnit, it does cover unit testing frameworks in several other languages as well. I've read two books on the topic (the other one is Kent Beck's "TDD By Example") and I liked Dave's book better. The basics of TDD can be explained in 10 minutes however when it is applied on practice it gets complicated in at least 3 areas: 1) testing UI 2) testing with database - data setup, isolation, etc. and 3) mocks. Kent's book is more about a philosophy of TDD but it only goes through a very simple "toy" example. Dave's book really helped me to understand mocks and it does cover UI testing in great length. Mocks are an advanced topic, so it does require a good knowledge of Java and OOP. The rest of the book seems to be on intermediate technical level.

The only thing this book is missing, I think, is a discussion about data setup and database-related testing, dbUnit, etc., other than an advice to avoid it altogether (p. 83). While you can indeed use mocks to avoid it, on the large real projects some kind of integration testing (including testing with the database) will be necessary. I hope the second edition will come out at some point!

Overall, it's a great book for both newcomers and developers with unit testing experience. BTW, it won SD West 2004 Jolt Award.

Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
15 of 16 people found the following review helpful:
4.0 out of 5 stars A practical guide to test-driven development, August 6, 2003
By Jason Menard (Columbia, MD United States) - See all my reviews
  
Test-driven development (TDD) is one of the hot topics in the recent "agile revolution". Unfortunately, there aren't too many texts currently available that take an in-depth look at the subject. David Astels jumps into the fray with his new book, "Test-Driven Development: A Practical Guide", in order to help fill that void. Giving a nod to Kent Beck's "Test Driven Development By Example", Astels views his work as a complement to Beck's, focusing on the practical techniques and tools necessary to best make use of TDD.

The book first touches on some topics fundamental to TDD, such as refactoring, programming by intention, and of course the basic theory behind TDD. Appendices further flesh out this material by addressing extreme programming and agile modeling.

Although other members of the xUnit family are looked at, this book is squarely focused on JUnit and Java. As such, the text goes into detail about using JUnit, including the API, and how to go about the task of writing tests. Along with the JUnit coverage, the reader is presented with information on several JUnit extensions and JUnit related tools designed to aid the TDD process. Where this book really shines is in its coverage of mock objects and techniques for testing GUIs within JUnit.

The meat of this book rests in a very detailed walkthrough of a project using TDD. Astels leads the reader through every test and every refactoring along the way, from inception to the finished product. This is probably the next best thing to sitting down for a pair-programming session with a TDD guru.

Unfortunately, there are a couple of complaints I feel the need to point out. The project presented is a Swing application that persists its data in a flat file. There is no coverage provided for testing web based enterprise applications. While mention is made of DatabaseChecker, a test utility suitable for simple database tests, Astels chose not to have the example project use a database for persistence. As a consequence of this decision, this common task is left unaddressed.

Despite these omissions, there is still much to be gained from this book. I feel a reader may obtain the most benefit by downloading the sample code and working through the example project step-by-step along with the text. If you are interested in a practical guide to TDD, this book is definitely worth a look.

Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)


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

4.0 out of 5 stars Very helpful but not perfect
Context: I've read a fair amount about TDD (including being a technical reviewer for Kent Beck's "By Example" book), but went a long time without getting a chance to use TDD... Read more
Published on November 5, 2006 by Paul S. R. Chisholm

5.0 out of 5 stars Great book!
Whether you are a novoice or have been practicing TDD, this book is worth reading. It is really well organized, has great examples and explains how to use available TDD... Read more
Published on June 27, 2004 by Alex Iskold

4.0 out of 5 stars Finally, not just another book about web applications!
Dave's book does one thing that most other books in this field do not do: it avoids the web application. Hallelujah! Read more
Published on February 13, 2004 by J. B. Rainsberger

4.0 out of 5 stars TDD with some UI examples!
The single best thing that distinguishes this book from the other TDD books on the market is its effort to produce a believable application during the course of using TDD. Read more
Published on December 22, 2003 by Lars Bergstrom

5.0 out of 5 stars Mock object frameworks explained
For the first time I now understand the following mock object related frameworks,
- Mock Objects Framework
- Mock Maker
- Easy Mock
Alone, the chapter that explained... Read more
Published on October 10, 2003 by Keith S. Thomas

5.0 out of 5 stars Demystifies Test-Driven Development (TDD)
This book has changed the way I write software. It clearly states why you should do test-driven development and what tools are available, then backs this up with 200+ pages of... Read more
Published on September 1, 2003 by Luis de la Rosa

4.0 out of 5 stars My First TTD book, and a great one
This was my first book on TDD, and I thought it did a great job of explaining the concept and working through it step-by-step. Read more
Published on August 8, 2003 by Stewart Stryker

5.0 out of 5 stars Excellent Practical Resource
I have read Kent Beck's book also. That book is good, but this book really provides more practical advice on doing TDD development with JUnit. Read more
Published on August 8, 2003 by Roger Jack

3.0 out of 5 stars Wait for second edition
This book contains a lot of valuable information. Unfortunately, it is VERY much a first edition.

The bulk of the book is a TDD project of realistic scope. Read more

Published on August 8, 2003 by Clayton Carney

5.0 out of 5 stars Collection of Best Practices
This books provide a very compact but nevertheless broad overview how to apply test driven development in practice. Read more
Published on August 8, 2003

Only search this product's reviews



Customer Discussions

 Beta (What's this?)
New! See all customer communities, and bookmark your communities to keep track of them.
This product's forum (0 discussions)
  Discussion Replies Latest Post
  No discussions yet

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


   


Product Information from the Amapedia Community

Beta (What's this?)



Look for Similar Items by Category


Lithium Ion Stays Powered Longer

Shop lithium ion tools at Amazon.com
Work longer and charge batteries less often with lithium ion tools from Amazon.com. Our large selection of lithium ion power tools offers many choices.

Start shopping

 

Best Books of 2008

Best of 2008
Find our top 100 editors' picks as well as customers' favorites in dozens of categories in our Best Books of 2008 Store.
 

Comfortable and Cozy

Shop for Furnace Accessories
Maintain the efficiency and heating power of your furnace during the cooler months with filters and accessories. Don't be left in the cold.

Shop all heating and cooling products

 

Best Books

Best of the Month
See our editors' picks and more of the best new books on our Best of the Month page.
 

 

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.


Where's My Stuff?

Shipping & Returns

Need Help?

Your Recent History

  (What's this?)
You have no recently viewed items or searches.

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

Look to the right column to find helpful suggestions for your shopping session.

Continue shopping: Top Sellers

Conditions of Use | Privacy Notice © 1996-2009, Amazon.com, Inc. or its affiliates