Learn more Download now Shop now Shop now Shop now Shop now Shop now Shop now Shop now Shop now Learn More Shop now Learn more Shop Fire Shop Kindle Learn More Shop now Shop now Learn more

on 27 September 2017
One of those books that in part is really nice, but in part I hate. The reason is that after reading it you won't be able to do any TDD yet, you will have many tips, many concepts, lot of theory, but nothing practical to apply in your real life every day, you just cannot read this book and start to write TDD (even slowly). So the goal of the book for me is failed.
0Comment|Was this review helpful to you? Report abuse
on 1 May 2017
It's a good book but almost impossible to follow in some parts because you need to keep so many moving parts of code in your head. Due to space constraints the authors abbreviate code fragments forcing you to remember all previous code to be able to follow. It would've been immensely helpful if the book was accompanied by an online git repo with commits for each change the authors make. This way we don't have to remember the entire code to understand what's going on.
0Comment|Was this review helpful to you? Report abuse
on 4 December 2009
Some of the other reviewers are referring to this book as 'advanced'. I think it's advanced if you're relatively new to TDD. It would certainly help if you're a competent developer (which is probably why you're looking at TDD anyway), but it's 'advanced' if you want to change the way that you develop software.

It's a good read and I found quite a few "aha" paragraphs (my copy's now punctuated with permanently folded corners/post it notes).

It's nicely written without sounding arrogant. I think it's quite a hard topic to cover without getting bogged down in the minutiae of whys and wherefores of decisions, which it covers at exactly the right level

My only criticism is that I found it wee bit annoying the way it referred to the latter worked example when introducing an aspect of TDD, forcing me to skip back and forth a bit - but I think that's just a personal book reading preference.

I'm not sure how much an experienced TDD practioner would gain from it (except to see some of your own thoughts mirrored in black and white), but would very much recommend it to those new or getting started with TDD, wishing to `do it right'

Although the code samples are in Java it is applicable to other languages, such as C#, as the concepts are language independent
0Comment| 10 people found this helpful. Was this review helpful to you? Report abuse
on 5 January 2018
I find myself revisiting the book a lot and taking notes. The content is very rich and anyone can easily pick up topics that sometimes the common developer is lacking regarding testing. I enjoy the overall way the book is divided covering all common topics of testing with a focus on different fronts.
0Comment|Was this review helpful to you? Report abuse
on 20 January 2011
Having read Test Driven development by Koskela (Manning) and having some experience in the 'art' I felt that this book added just a few bits and pieces. Most of the book felt like repetition, but they definitely are detailed in their writing. Compared with the book by Koskela they include the use of mock objects, hamcrest matchers and generally go down to a lower level. I did, however, find it more than slightly annoying that jMock was constantly referred to so often that this book has to be considered a promotional book for this particular framework. Reading the book you could easily get the impression that jMock is the only framework around which can get the work done.

With the above in mind it is still a good book. The target audience seems to be developers with interest in, but no experience in TDD. They show how to incrementally grow the software, writing the tests first. They mention TDD best practices, pitfalls and how to efficiently work with mock objects in order to test 'the right thing'.

If you have TDD experience this book will merely be a reminder of the things you should and should not do and admittedly you will quite often think "I am doing that".

If you do not have TDD experience then I believe this book would be much more beneficial as it shows how TDD is practised day-to-day.
0Comment| 4 people found this helpful. Was this review helpful to you? Report abuse
on 20 November 2009
Growing Object Oriented Software, Guided by Tests, by Steve Freeman and Nat Pryce is a TDD book, but unlike any other on the market today. First of all, the book deals mostly with advanced unit testing topics, such as designing tests for readability and mocking, and addresses many common stumbling points that people experience with unit testing a few years after they started their journey, such as applying unit testing in multi-threaded and asynchronous environments. Second, it explains and demonstrates in practice the dynamics of designing software through TDD, which is still a dark art for many programmers. And third, it gives the reader insight into Freeman's and Pryce's brains, which is why this book is a must-read for anyone serious about unit testing, even to people that have been doing it in the last century.

Given the authors' backgrounds, it's not surprising that this book has a lot to say about using mock object libraries. Mock objects are arguably the most misunderstood and misused concept in software development today, so this book should be a valuable resource for most software development teams. In the part dealing with mock objects you will find strategies for using them successfully for software design, guidelines what to mock and what not to mock and lots of examples how all that looks in code.

The book isn't written in the usual imperative way ("you should use this because of...") but reads much more as an experience report ("we use this because of"). This might be unusual at first but I really like it, as it puts the things into a much more different perspective. Many of the topics addressed by this book are quite controversial and the authors have wisely chosen the voice to avoid any notion of preaching. I found myself disagreeing with parts, especially around bundling acceptance and end-to-end testing together. However, as the material doesn't preach but tell what the authors are thinking about, this did not bother me at all.

All in all, an excellent book. Grab a copy now.
0Comment| 32 people found this helpful. Was this review helpful to you? Report abuse
on 15 January 2010
This book is excellent, showing you not only how to do great TDD, but also how to do great design.
I would recommend it to all programmers out there who can read Java.
(The one caveat is that the book is all in Java, and so if you find reading Java hard you won't get as much out of the book.)

Steve and Nat walk you though a non-trivial example over many chapters which allows you to see how they think and how they write code.
Of course they use evolutionary design. So if you haven't got much experience with evolutionary design this book will show you how it works in practice.

TDD has improved and evolved over the years, making many of the earlier books on TDD seem outdated.

This books is full of personality and show how Steve and Nat approach TDD today.

I liked the state transition diagrams they used to visualise the system, and show which bits have been tested, and which bit is currently being worked on.
0Comment| 4 people found this helpful. Was this review helpful to you? Report abuse
on 18 May 2017
Really awesome book, one of the few about unit testing that are really worth every penny!

Thanks for this, I really enjoyed it :)
0Comment|Was this review helpful to you? Report abuse
on 21 November 2009
As other reviewers have mentioned, this is an advanced book. It covers TDD methodology and programming concepts in great depth. The book explains in detail what should a good test achieve and shows you many techniques that could help improving your tests. Moreover, it emphasises the importance of code quality not only in production code, but also in tests.

This book doesn't read like a boring text book. Reading the book feels like going through Steve and Nat's secret notebook, containing their valuable experiences and lessons learnt.

Although the code examples in this book is Java, I find most concepts are very applicable to other languages if you do TDD. Beginners may find this book too high level, but I think it's a must read for TDD practitioners who want to further improve their art.
0Comment| 3 people found this helpful. Was this review helpful to you? Report abuse
on 9 December 2009
This is the best book on TDD that I've read. It's more than just about testing though - it's about object oriented design. It's very well written - clear without being verbose. It's suitable for all levels of experience of TDD. Unlike other books on TDD I've read, there is plenty in this book even for people who have done plenty of TDD before.
0Comment| 4 people found this helpful. Was this review helpful to you? Report abuse

Sponsored Links

  (What is this?)