What do you think?
Rate this book
256 pages, Paperback
First published April 1, 2012
Having already tried TDD and gone through few months applying it gradually to an existent app, I started reading this book with the attempt of finding the best material on TDD first, and a chance to validate some ideas that I had in the process. This book has served these two goals to a good extent.
First of all, it's a good step-by-step guide. It demonstrates building a relatively small app from the grounds up with TDD in mind. The app is simple and looks like the average app one usually encounters.
The real merit of this book is the explanation of the real effect unit testing in general and TDD specifically have on the development process. For me, unit testing concluded many thoughts I had on the proper OOP architecture of any piece of software. Following specific architecture guidelines for the sake of testability should not sound like a good plan after reading this book. Yet, this hides the bigger picture; the fact that the all components of the system are clearly defined, explained well by their interfaces, and laid out within the larger map of the system.
I guess we can easily find a correlation between the quality of a software's architecture and its testability.
The first chapter had this very suitable and fitting quote
If testing is something we do to support our software projects, it must support the goal of making a profit. … If you can’t demonstrate that value, the customers may not buy the product.