Vous voulez voir cette page en français ? Cliquez ici.


or
Sign in to turn on 1-Click ordering.
More Buying Choices
Have one to sell? Sell yours here
Test-Driven Development: A Practical Guide: A Practical Guide
 
 

Test-Driven Development: A Practical Guide: A Practical Guide [Paperback]

David Astels
4.2 out of 5 stars  See all reviews (13 customer reviews)
List Price: CDN$ 62.99
Price: CDN$ 39.68 & this item ships for FREE with Super Saver Shipping. Details
You Save: CDN$ 23.31 (37%)
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
Temporarily out of stock.
Order now and we'll deliver when available. We'll e-mail you with an estimated delivery date as soon as we have more information. Your account will only be charged when we ship the item.
Ships from and sold by Amazon.ca. Gift-wrap available.

Frequently Bought Together

Customers buy this book with Test Driven Development: By Example CDN$ 32.75

Test-Driven Development: A Practical Guide: A Practical Guide + Test Driven Development: By Example
Price For Both: CDN$ 72.43

One of these items ships sooner than the other. Show details

  • This item: Test-Driven Development: A Practical Guide: A Practical Guide

    Temporarily out of stock.
    Order now and we'll deliver when available. We'll e-mail you with an estimated delivery date as soon as we have more information. Your account will only be charged when we ship the item.
    Ships from and sold by Amazon.ca.
    This item ships for FREE with Super Saver Shipping. Details

  • Test Driven Development: By Example

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


Product Details


Product Description

Product Description

Test-Driven Development: A Practical Guide presents TDD from the perspective of the working programmer: real projects, real challenges, real solutions, ...real code. Dave Astels explains TDD through a start-to-finish project written in Java and using JUnit. He introduces powerful TDD tools and techniques; shows how to utilize refactoring, mock objects, and "programming by intention"; even introduces TDD frameworks for C++, C#/.NET, Python, VB6, Ruby, and Smalltalk. Invaluable for anyone who wants to write better code... and have more fun doing it!

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!


Inside This Book (Learn More)
First Sentence
From programmers to users, everyone involved in software development agrees: testing is good. Read the first page
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index | Back Cover
Search inside this book:

Tag this product

 (What's this?)
Think of a tag as a keyword or label you consider is strongly related to this product.
Tags will help all customers organize and find favorite items.
Your tags: Add your first tag
 

What Other Items Do Customers Buy After Viewing This Item?


 

Customer Reviews

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

3 of 3 people found the following review helpful
2.0 out of 5 stars Falls short of its goal, April 17 2004
By A Customer
This review is from: Test-Driven Development: A Practical Guide: A Practical Guide (Paperback)
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.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


1 of 1 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
This review is from: Test-Driven Development: A Practical Guide: A Practical Guide (Paperback)
(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.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


1 of 1 people found the following review helpful
3.0 out of 5 stars No revelations, July 22 2003
This review is from: Test-Driven Development: A Practical Guide: A Practical Guide (Paperback)
Maybe I'd be more enthusiastic about this book if it wasn't the third one about TDD (test driven development) in a row (K. Beck: "Test-Driven Development: By Example"; J. Link: "Unit Testing in Java - How Tests Drive the Code"). The first two parts of the book explain the basics of TDD, JUnit, a couple of add-on tools and special techniques; hardly anything there which hasn't been covered equally well - and sometimes better - before. It seems to me that a beginner will have a hard time to grasp the chapters about mocks and GUI testing without additional reading. The third part describes the test-driven development of a small Swing application from start to end. These chapters are easy to read and make sense, they come with lots of repetition though. I like chapter 20 which reviews design and quality of the final piece of software using coverage metrics and alike. There are additional chapters on xUnit for other programming languages and appendices on unrelated stuff like Extreme Programming and Agile Modeling. Those make the book somewhat too bloated for my taste (500+ pages).

All in all it's an okay book but with too little focus on coherence and didactics. Moreover it misses out some important topics like databases, Web applications and EJBs. Go with the competition if you are interested in that. One last thing: the copy I have has a couple of pages with blurred or very thin print; that makes some of the figures hard to decipher.

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
Want to see more reviews on this item?
 Go to Amazon.com to see all 15 reviews  4.2 out of 5 stars 
 
 
Most recent customer reviews











Only search this product's reviews



Listmania!

Create a Listmania! list

Look for similar items by category


Look for similar items by subject


Feedback


Amazon.ca Privacy Statement Amazon.ca Shipping Information Amazon.ca Returns & Exchanges