/tdd-learning-paths

Learning paths to develop your Test-Driven Development (TDD) skills gradually

Creative Commons Attribution Share Alike 4.0 InternationalCC-BY-SA-4.0

TDD Learning Paths

Learning paths to develop your Test-Driven Development (TDD) skills gradually.

Executive level

The Executive Level learning path provides a high-level overview of Test-Driven Development (TDD) for executives and decision-makers. TDD is not just a development technique; it is a philosophy that requires a cultural change. This path covers the fundamental concepts, benefits, and impact of TDD on software development. It equips executives with the knowledge to make informed decisions and support TDD adoption.

Topics covered:

  • TDD theory to understand exactly what is TDD and why consider adopting it.

Learning path:

Beginner level

This path covers the foundations of TDD and progresses to more advanced concepts. It equips you with the necessary tools to effectively incorporate the TDD discipline into your software development projects.

Topics covered:

  • TDD theory to understand exactly what is TDD and why is important.
  • TDD Red-Green-Refactor cycle.
  • 3 Laws of TDD.
  • Classic TDD.
  • Green Bar Patterns.
  • TDD Good Habits.

Learning path:

Additional recommend resources:

Intermediate level

This path delves deeper into advanced principles, refines your technique, and teaches you how to apply TDD in more complex contexts.

Topics covered:

  • Refactoring introduction
  • Code Smells
  • Design Principles introduction

Learning path:

Demos:

Additional recommend resources:

  • Read book Five Lines of Code by Christian Clausen.

Advanced level

This path is designed to challenge you and push the boundaries of your TDD skills.

Topics covered:

  • Inner and outer feedback loops in TDD.
  • Test Doubles.
  • Outside-In style of TDD.
  • Writing tests that express intent, not implementation.
  • Applying an Architectural Style.

Learning path:

Additional recommend resources:

Contributing

These learning paths are not yet complete, and I more than welcome your feedback or pull requests.

Credits and contributors

License

Attribution-ShareAlike 4.0

Creative Commons License