Book Review: Growing Object-Oriented software guided by tests

Growing Object-Oriented Software, Guided by TestsFinally I finished reading Growing Object-Oriented software guided by tests, by Steve Freeman and Nat Pryce. We ran it as a reading circle at RemoteX but I think I’m the only one that will finish it, and I did so last week. So the circle quickly lost it’s members.

I would like to mention that my expectations on this book was very high, which could make them hard to live up to.

The book starts by describing testing, and the takes us through a fictive scenario where we gradually build up software guided by tests all the way. Then at the end it covers advanced topics.

I had trouble reading the scenario part of the book. Part because I do not like the use of mock-frameworks. But also due to not really buying in to the scenario. Some paragraphs were written to add realism to the scenario, such as sudden changes of UI. But these paragraphs seems taken out of thin air, and adds no value to the chapters. This annoys me. I also disliked how the book kept defending the technology choices of the example, it was quite clear that this was an example after all.

Now the advanced chapters at the end did indeed pick up the book quite a bit, some aspects of it I already knew, while others provided fruitful suggestions on how I could improve certain aspects of one of RemoteX’s test-suites.

The beginning of the book structures out testing and the terms used quite well, and I did like the last parts of the books discussing advanced topics.

I’m not sure if I would recommend this book. The approach in the book isn’t bad. It’s intended for beginners, however I’ve seen what a junior team can do to a test-suite armed with a mocking framework. I would recommend that junior developer would start by using OO-design to do their testing simply because they will learn much more and their tests will be much clearer. An intermediate level of developer could extract great value from this book however.