Today I review book „Everyday Unit Testing” from author Gil Zilberfeld
This book in my opinion must have for any developer who practice TDD!
Let me explain why:
When you read most common TDD books you always see 2 things in common: books can be very theoretical or way to practical and the tests itself which those books present sometimes are of bad quality.
You always ask yourself does it really necessary?
Maybe there exist “the book” about test driven development, which is well balanced and allow you really to improve your skills and not getting you lost into deep details and losing the authors point and overall understanding why we need to write tests?
Your search will be final with the book „Everyday Unit Testing”!
This book will guide you through small code examples, but even more it give you reasoning why you need to write unit tests for your code. This book truly explain why in some cases you can’t write good unit tests and that before you test , you need to refactor your code base and only then apply unit tests.
It explains from practical view how you should go about writing unit test on day to day basis.
Writing unit test is not a simple task, you basically need to be able as developer to change your code so that it can be tested, some developers don’t like it and in some cases its reasonable, but I highly doubt that such strategy against unit testing is effective in reference of achieving the ultimate goal for creating high quality software and being really agile.
The Author Gil Zilberfeld make clear point about that, writing unit tests on daily basis is an organizational policy and one person in team which do or try tdd cant save the project, if all other team members dont do tdd.
Some teams actually fail while using TDD, because they don’t have much experience with it and most times the reason behind of this, that they don’t understand that you have a software design in mind when you use TDD. It means that your team must design test strategies and always iterate on it and come with even better design at the end.
In this book you will find definitive description of testability and good design ideas for your tests and in my opinion they are very effective and can be used in production.
Summary: If you know TDD or even you think you know TDD, then I highly recommend to read this book.
If you don’t know what TDD is, you should read this book, if you a project manager/product owner/scrum master and wish to know how TDD can be efficient for your project you can and should read this book too!
My final thoughts about this book: we need more such books , which have good balance both in theory and on the practical side of the topic.
We people who doing TDD on daily basis should start demand the knowledge of TDD from the architects and all of our team members, because what I discover more and more about architects , that they clearly luck of knowledge about testing strategies or even taste for good design.
This book definitely will change your mindset about TDD, because it clearly show you how to do TDD right and what to consider when you apply TDD in the real projects.