TDD-01: Fundamentals of Test-Driven Development

Audience: Software Developers

Prerequisite: Working knowledge of a programming language

Duration: Five three-hour online micro-classes

This course covers:

  • the value proposition of TDD
  • the principles that underlie the technique
  • the kinds of work to which classic-style TDD generally applies
  • the mechanics of the red-green-refactor cycle, emergent design, behavior-oriented vs. implementation-aware test cases
  • the difference between testing and checking
  • code isolation and dealing with external dependencies in tests
  • basic refactoring skills
  • how to practice a code kata.

The course is heavily hands-on, experiential, and interactive. You will receive a group review by the instructor at the end of each micro-class, and one hour of one-on-one time with the instructor at the end of the entire course.

Each presentation of the course uses a single programming language. Register for a presentation that uses the language you need to work with. Please see the course calendar to find an appropriate version for your needs.

On successful completion of the course you earn the microcredential for TDD Fundamentals.


  1. TDD-01.1: Getting Started With TDD
  2. TDD-01.2: Classic-style TDD
  3. TDD-01.3: Emergent Design with TDD / Test Organization and Naming
  4. TDD-01.4: Code Isolation and External Dependencies
  5. TDD-01.5: Fundamentals of Refactoring