Overview

Want to master Test-Driven Development through practical examples? This by-example guide teaches TDD through annotated code examples organized by complexity level.

What Is TDD By-Example Learning?

TDD by-example learning is a code-first approach where you learn through practical implementations of the Red-Green-Refactor cycle rather than narrative explanations. Each example shows:

  • Failing tests first - Red phase demonstrating test-first thinking
  • Minimal implementation - Green phase making tests pass with simplest code
  • Refactoring - Improving design while keeping tests green
  • Production patterns - Proven approaches from industry leaders

This approach is ideal for developers who want to master test-first development through hands-on practice.

Learning Path

The TDD by-example tutorial guides you through examples organized into three progressive levels, from basic unit testing to enterprise-scale TDD implementations.

Coverage Philosophy

This by-example guide provides practical coverage of TDD through annotated examples. The focus is on implementing TDD workflows, not just theory.

What’s Covered

  • TDD fundamentals - Red-Green-Refactor cycle, test-first thinking
  • Testing patterns - Assertions, fixtures, test organization
  • Test doubles - Mocks, stubs, fakes, spies
  • Advanced techniques - Asynchronous testing, property-based testing, mutation testing
  • Production patterns - TDD with databases, web apps, microservices
  • Legacy code - Characterization tests, refactoring strategies
  • Enterprise TDD - Test architecture, scaling patterns, performance

What’s NOT Covered

  • BDD and acceptance testing (see BDD tutorial for stakeholder collaboration)
  • Manual testing techniques (see testing fundamentals)
  • Framework documentation beyond common patterns

Prerequisites

  • Programming experience in at least one language (Java, JavaScript, Python, Go, or similar)
  • Basic understanding of functions, classes, and control flow
  • Familiarity with testing concepts (assertions, test runners)

Structure of Each Example

Every example follows a consistent format:

  1. Brief Explanation: What TDD concept the example demonstrates
  2. Test Code (Red): Failing test showing requirements
  3. Implementation (Green): Minimal code to pass the test
  4. Refactored Version: Improved design preserving behavior
  5. Key Takeaway: The core TDD principle to retain

This structure provides the complete TDD cycle in every example, reinforcing the rhythm of test-first development.

Last updated