Learning TDD with Exercises

Marlena Compton
Feb 8, 2016 · 2 min read

I’ve changed some of the language in this post as it was previously appropriating Japanese culture. Here’s a post I wrote about the change.

Test driven development can be hard to learn and requires a lot of discipline to continue as a practice. There are books for learning TDD and they are good but they are also old and can be hard to approach given that learning styles for coding have shifted away from books and more towards the online, the interactive and the overflow.

Books and resources aside, TDD is a vast shift in headspace and it takes time to re-wire the brain for this. We tend to overload our brains these days, throwing huge chunks of delicate, detailed information at it in great one-time lobs and then wondering why nothing sticks. Kathy Sierra, in her talk, Making Badass Developers, takes this apart and submits that we need to reduce cognitive leaks by feeding new information to our brains in much smaller pieces.

In the writing world, my favorite writing teacher suggests to students who are having trouble getting words on the page that they write for 5 minutes a day, every day. After 5 minutes is up, stop and go no further.

Lately, I have found that this applies to TDD as well if you practice. TDD has its own exercises for practice. These exercises, very commonly, are sets of requirements published online in various places by various authors that guide you through testing first. The trick is that if you are learning TDD, you should only work on them for 15 minutes a day. Breaking up the practice into short bursts allows the brain to build new neural pathways day after day.

This is how you build a practice. That practice is important because TDD is most effective if you can stick with it even when coding is stressful. Because we are human, when we are stressed we fall back to whatever it is we have practiced the most. This is when it is hardest to stick to TDD but this is also when sticking to TDD can save you.

If you try learning with exercises, give yourself a month and focus on one of them for 15 minutes a day. Once the month is over, it’s ok if you didn’t finish or you dropped off. Give yourself a fresh start at the beginning of the next month with another exercise.

As an example, I’ve completed the Greeting excercise and just finished up the Calculator excercise. I didn’t finish all of the requirements in the Calculator one, but decided to stop after a month because I got what I wanted from it and felt like I’d spent enough time with it.

Some TDD Excercises

Thanks for the excercise recommendations from Yitz Schaeffer a.k.a. @yitzofthebitz and Chris Hartjes aka @grmpyprogrammer

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch

Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore

Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store