Jump to ratings and reviews
Rate this book

The Addison-Wesley Signature Series

Developer Testing: Building Quality into Software (Addison-Wesley Signature Series

Rate this book
<!--[if gte mso 9]> <![endif]--> How do successful agile teams deliver bug-free, maintainable software―iteration after iteration? The answer By seamlessly combining development and testing. On such teams, the developers write testable code that enables them to verify it using various types of automated tests. This approach keeps regressions at bay and prevents “testing crunches”―which otherwise may occur near the end of an iteration―from ever happening. Writing testable code, however, is often difficult, because it requires knowledge and skills that cut across multiple disciplines. In Developer Testing, leading test expert and mentor Alexander Tarlinder presents concise, focused guidance for making new and legacy code far more testable. Tarlinder helps you answer questions When have I tested this enough? How many tests do I need to write? What should my tests verify? You’ll learn how to design for testability and utilize techniques like refactoring, dependency breaking, unit testing, data-driven testing, and test-driven development to achieve the highest possible confidence in your software. Through practical examples in Java, C#, Groovy, and Ruby, you’ll discover what works―and what doesn’t. You can quickly begin using Tarlinder’s technology-agnostic insights with most languages and toolsets while not getting buried in specialist details. The author helps you adapt your current programming style for testability, make a testing mindset “second nature,” improve your code, and enrich your day-to-day experience as a software professional. With this guide, you will <!--[if gte mso 9]> Normal 0 false false false EN-US X-NONE X-NONE <![endif]--> <!--[if gte mso 9]> <![endif]--> <!--[if gte mso 10]> <![endif]-->

352 pages, Paperback

First published February 3, 2015

35 people are currently reading
226 people want to read

About the author

Alexander Tarlinder

1 book1 follower

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
18 (27%)
4 stars
29 (44%)
3 stars
15 (23%)
2 stars
2 (3%)
1 star
1 (1%)
Displaying 1 - 12 of 12 reviews
37 reviews2 followers
September 13, 2017
As a book on developer testing, it's disappointing. It dives too deep into more esoteric concepts such as Domain-to-Range Ratio and skimps on important and broad topics such as tests that aren't unit tests. At the level of detail it sometimes uses, it would need to be 2-3 times as long. There are some good parts such as the chapters on test doubles and tdd, but it doesn't seem like anything you can't learn from reading Martin Fowler's website.

About a 3rd of the book isn't about testing at all, but about software design. Of course the two are closely related, and these parts talk a lot about "testability", but I think they make the entire book more into a veiled essay on understanding dependencies and side effects within your production code. In this sense, the book is actually quite interesting.

And if nothing else, the author is a good summarizer. Each chapter has consistently good summaries at the end, there is quite a nice collection of links to tools in the back, and the bibliography is a fantastic reading list.

I came away from this book perhaps not a more skilled tester, but certainly inspired to improve, and to design more testable software, and I think that was the point.
Profile Image for Per Flitig.
22 reviews
September 19, 2017
I wish I had read this book at the beginning of my career, I believe that it would have made me think more about the quality of the code I produced. Reading it now, many of the concepts detailed within are familiar but I still see that this book fills a certain gap in existing literature. Having worked with several different software development teams over the years I can say with certainty that this book would benefit many of them.
600 reviews11 followers
May 18, 2017
This book offers a great collection of the most important aspects for testing software. If you want to know what Mocks are or how the testing pyramid works, this book will have a chapter on it. It’s accurate and full of references to other books that introduced these concepts. When you aren’t sure which book on your bookshelf covers a certain topic on testing, you most likely will find a reference in this book that answers this question.

However, I find it hard to believe that someone new to the topic of software testing will gain much out of this book. Yes, all important aspects are present. But it’s written in a theoretical way that will be hard to put to practice without prior knowledge. The few examples in the book don’t change much for a beginner. With more knowledge that could change, but the same knowledge will make the book redundant.

To end this review with an upside, I really liked the questions that are addressed who question the whole approach of developer testing. Those questions exist and with the answers from this book one could answer them profoundly, even when one is new to the topic.
Profile Image for Henrik Warne.
309 reviews49 followers
August 27, 2017
Good introduction to developer testing

Developer Testing is an easy to read introduction to the different ways developers can test the code they write. In my experience, many developers don’t test their own code enough, so I was happy to discover a whole book dedicated to the topic.
Alexander Tarlinder starts from the beginning, by defining what developer testing is and by explaining common testing terms. Then he writes about what you can do, as you design and write your program, to make it testable. This includes observability and controllability. In my view, this is the best part of the book.
Next he describes different ways and styles of writing automatic tests. Topics covered include unit test naming, TDD examples (both classic and mockist style), test doubles and mocking frameworks. The chapters are clear and easy to read, and the summaries at the end of each chapter are some of the best I have read in any technical book.
The topic of developer testing is important, and all developers should know the basics presented in this book. I have written a more detailed review of it here: https://henrikwarne.com/2017/08/20/de...
692 reviews15 followers
May 8, 2017
В книге систематизировано современное представление о методиках автоматизированного тестирования в процессе разработки.

Книга вроде бы энциклопедична и современна, пытается систематизировать текущие методики.

Но мне она не понравилась.
Самое главное - хотя автор и дает вводные в каждом разделе, но для меня это недостаточно объясняло назначение каждого раздела и последующие куски кода ничего не проясняли лично для меня.

Ну и вроде бы не существенное замечание, но которое наверно также сказалось на моем общем впечатлении о книге - язык в книге очень тяжеловесный и наукоподобный, возможно это связано с тем, что английский для автора не родной язык.
Profile Image for Elias Nogueira.
31 reviews12 followers
February 4, 2017
Alexander apply a term used for us (testers) that is Test Infected!
All concepts and practices applied to the test subject are very well explained with references and the most important for developers: code!

If you are a developer you'll understand a lot of concepts and practices to expand you knowledge and create software with quality.
If you are a tester you'll the "dark side" and understand there is no side. You'll gain knowledge in development and see that many things to apply is not so ease as we think.

Great book!
81 reviews6 followers
April 19, 2018
Nothing super fancy, nor new. Covers whole testing practice from major points without going into much details for each (though curious readers are rewarded by links for in-depth information). Recommended as a dictionary of testing for everyone
Profile Image for Pawel Wujczyk.
114 reviews5 followers
September 20, 2019
Mainly about approach to testing for QA. For devs approaches are shown real examples, how to deal with db are missing.
1 review
April 27, 2024
I read this back in college and found it easy to read and understand.
Author 1 book
November 28, 2019
Enjoyable book, with a lot of truths and pragmatic knowledge points.I'd wish though to be packed with more practical examples. In some cases, the chapters look thin.
Profile Image for Franck Chauvel.
119 reviews5 followers
September 27, 2016
Alexander surveys here many things a developer must know to effectively test its software. This includes tools (e.g., mocking frameworks), techniques (e.g., boundary conditions, partitioning, combinatorial testing), methods (e.g., TDD, BDD, ATDD).

Although other techniques could have completed this panorama such as mutation testing or metamorphic testing, I found it fairly complete, at least from a practical standpoint. Yet, if you have already read related work—as I have—you may not learn as much. Dependency injection and mocks, as well as TDD and its derivatives are also presented in TDD books such as Professional Test-Driven Development with C#: Developing Real World Applications with TDD or Growing Object-Oriented Software, Guided by Tests and other.

Yet, if you are new to software development, this will help you spot what techniques works well to produce quality code. Besides, this book reads well and is not dependent on any specific framework or language, and will still be relevant in ten years.

Displaying 1 - 12 of 12 reviews

Can't find what you're looking for?

Get help and learn more about the design.