Last updated Apr 5, 2024 Published Mar 12, 2017

A Guided Path to Test-Driven Development - TDD

I do not recall who introduced me to Test-Driven Development (TDD), but I have always been interested in the testing aspect of software development. I vividly remember reading the iconic book Test-Driven Development By Example by Kent Beck on my commute. Every page was a discovery, and I felt a sense of frustration, as the baby steps conflicted with my confidence that my code would work.

However, given the context of my early career, I did not have the opportunity to explore TDD further. The places I worked at unfortunately cared more about delivering tasks quickly than sacrificing time for testing. I share more about my TDD history in a blog post, but I was astonished by the lack of care for testing among practitioners. My intention here is to share my previous experience with writing tests and resources that I think are helpful. This is not a definitive guide to testing, but rather a structured way to get started.

Table of contents

1. Introduction
2. Changing your mindset
3. Building software with tests X software without tests
4. Frameworks available for testing
5. Test doubles
7. Advanced topics
7. Strategies for testing

References