Test Driven .NET Development with FitNesse
This book takes you on a journey through the wonderful world of FitNesse, a great web-based collaboration tool for software acceptance testing. FitNesse enables software developers and business people to build a shared understanding of the domain and helps produce software that is genuinely fit for purpose.
Test Driven .NET Development with FitNesse takes you on a journey through the wonderful world of FitNesse, a great web-based tool for software acceptance testing. FitNesse enables software developers and business people to build a shared understanding of the domain and helps produce software that is genuinely fit for purpose.

Review By: Matt Gelbwaks
06/19/2009The basic concept throughout the book is what Gojko expresses as the basic premise of test-driven development (TDD): "Problems are not allowed to grow ... we do a little bit more work up front, but that significantly reduces the effort required to support the code." The cost of software has always been recognized as being far more affected by the cost of maintenance than the cost of creation. In addition, these days, we talk about incorporating "legacy code"—that which last year's release produced or that which has no test support, into our development efforts. If we do not ensure that previous problems were not allowed to grow, then we'll just inherit all kinds of new/old issues and development cost could increase exponentially. To quote Gojko, "the first step of implementation is to decide how we are going to verify that the results behave correctly." As a nice touch, he then repeats the sentence in case you missed reading it the first time. This is the type of insight that the book is based upon.
I find Gojko's writing style very approachable. He goes into the details methodically and in what seems like a natural order. He has chosen an example project that is neither trivial nor so made up as to be unbelievable. In fact, I am currently consulting with a client who could/should consider implementing Gojko's example—it is germane for them and easily extensible to their actual product line. By reading this book and then either implementing the example as specified or by using the author's concepts, you would be hard pressed not to come out of the experience a much better developer.