The Big List of TDD and Unit Testing Knowledge
A sheet of links, classes, books, and resources to learn more about TDD and Unit Testing for both beginners and advanced users.
Join the DZone community and get the full member experience.
Join For FreeOne of my fellow dev friends asked about a set of links, books, screen-casts related to TDD / Unit Testing. He wants to expand his knowledge. Instead of sending him a private message, I thought that it would be great to just create a blog post with all the resources, I used in the past to learn.
Basics
If you are completely new to those concepts then this presentation will be a nice quick start.
Book – “The Art Of Unit Testing” by Roy Osherove
Start here if you want to get into TDD and Unit Testing. Where to start then ? I started with Roy Osherove book. It might be outdated know but I think this one is a nice and easy quick start guide on how to get to TDD and Unit Testing.
Book – “Professional Test Driven Development with C#” by James Bender and Jeff McWherter
Another good book to kick-start the learning process. It’s a full course starting from why TDD might help you and then taking you through the journey from TDD beginner.
Blog Post - Unit Test code with static method Console.Write By Myself
If you ever asked a question on how to unit test static methods then my post shows one good approach to it.
Blog Post - Good unit test – One Assert By Myself
An explanation why one assert per unit of logic is the way to go.
Blog Post Series – String Calculator Kata one, two, three, four by Myself
Kata exercise step by step with a commentary.
Blog Post Series – Chess TDD Kata By Erik Dietrich
An awesome Kata with great commentary
Intermediate
Resources for developers that started using TDD practice and want to expand their knowledge.
Book – “Test Driven Development: By Example” by Kent Beck
Yes maybe it would be best to start with Kent’s book, but I think it is more suitable for developers that tried TDD, did some smaller projects with it. In order to get most of Kent’s book, I think that you need prior experience. Kent’s book is like the bible that you will get back to from time to time to get new “A-HA” moments. It’s is really worth revisiting it wit more practical experience.
Pluralisight – Outside In TDD by Mark Seemann
This course is a great way to learn about one approach to TDD. Mark Seemann is probably known to all the .NET developers thanks to his blog and DI in .NET book.
Discussions – Is TDD Dead Series
There was a huge debate about TDD and its future / relevance. This series of discussions is treasure trove of knowledge.
Presentation – TDD, where did it all go wrong by Ian Cooper
If you have watched the TDD discussions then you also can’t miss Ian Cooper talk.
Course / Screen cast - TDD Pairing Sessions – Building a Go Game by Roy Osherove
I haven’t checked this course yet, but its Roy and 8hrs of pair programming awesomnes!
Blog Post – ‘Classic’ or the ‘London school’ of TDD by Jason Gorman
Explanation of two different approaches to TDD
Blog Post - Why learning TDD is hard, and what to do about it by David Tchepak
Blog Post - The TDD That Can be Spoken Is Not the Eternal TDD by Charles Hoffman
Blog Post - The Failures of “Intro to TDD” by Justin Searls
Insights into why learning TDD is not that easy and needs a lot of practice and try / error approach.
Advanced
Topics that might be going out of TDD and sometimes into more philosophical issues.
Book – Growing Object-Oriented Software, Guided by Tests by Steve Freeman and Nat Pryce
With some proven war stories it is time to start thinking how Unit Tests and TDD fits into code design.
Pluralsight – Advanced Unit Testing by Mark Seemann
Another great course by Mark with more advanced topics.
Pluralsight – Introduction to Property-based Testing with F# by Mark Seemann
Property-based Testing is still a novelty for me, it is a topic worth exploring as it gets more traction currently.
Book – XUnit Test Patterns by Gerard Meszaros
If Kent’s Beck book is a Bible then Gerard Meszaros book is a new Testament. Yes it has XUnit in its name but it really doesn’t matter. Topics covered here are adaptable to all the technologies plus you need to read this book if you want to get a basic vocabulary around TDD and Unit Testing.
Blog Post – If you are not doing TDD … by Szymon Pobiega
Not doing TDD is not something bad, TDD is just another tool in your belt.
Blog Post -The Pragmatics of TDD by Uncle Bob
Another great post explaining that there is a lot of pragmatism in TDD
Blog Post – TDD Anti-Patterns by James Carr
Funny but knowledgeable list of anti patterns in TDD
Functional Flavour
If you are into functional programming then this might be also of interest to you.
Published at DZone with permission of Michał Franc, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.
Comments