Learning paths to develop your Test-Driven Development (TDD) skills gradually.
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.
- TDD theory to understand exactly what is TDD and why consider adopting it.
- Read TDD definition on Test-Driven Development (TDD) from Test-Driven Development, Codurance.
- Take online course What Is TDD and Why It Is Not Unit Testing: Executive Briefing by Amy Dredge. Pluralsight. (32 min).
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.
- 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.
- Read TDD definition on Test-Driven Development (TDD)#TDDDefinition.
- Read chapter 1 to 11 of the book TDD by Jason Gorman.
- Take online course Test-driven Development: The Big Picture, by Jason Olson. Modules 1 to 5. Pluralsight. (1h)
- Watch Motivations for TDD from online course TDD as a Design Tool by Nate Taylor. Pluralsight. (4m)
- Watch Mechanics of TDD from online course TDD as a Design Tool by Nate Taylor. Pluralsight. (5m)
- Read first part of the book Test Driven Development: By Example by Kent Beck. Through practical examples, Beck guides the reader in developing high-quality software iteratively.
- Watch The 3 Laws of TDD: Focus on One Thing at a Time, Jon Reid. (10m)
- Read Make the test pass with Green Patterns, Paulo Esteban (3m)
- Watch Triangulation in Test-driven Development, Jason Gorman (25m)
- Read Why do You Want Me to Write Bad Code, David Tanzer
- Read Do More With Baby-Steps TDD, Oleksii Fedorov
- Read The Four Elements of Simple Design, J.B. Rainsberger
- Practice doing simple TDD exercises like the Leap Year Kata, the Roman Numerals Kata or the Prime Factors Kata.
- Read The three rules of TDD, Robert C. Martin
- Read "The Three Laws of TDD" on chapter 9 of Clean Code, Robert C. Martin
- Read "Single Concept per Test" on chapter 9 of Clean Code, Robert C. Martin
- Watch “Episode 6: TDD” of Clean Coders, Robert C. Martin
- A recommended course The World's Best Intro to TDD, J. B. Rainsberger
This path delves deeper into advanced principles, refines your technique, and teaches you how to apply TDD in more complex contexts.
- Refactoring introduction
- Code Smells
- Design Principles introduction
- Watch “Episode 19: Advanced TDD” of Clean Coders, Robert C. Martin
- Read Test Coverage, Martin Fowler
- Read Workflows of Refactoring, Martin Fowler
- Read chapter 12 "Refactoring" of the book TDD by Jason Gorman.
- Read the book Refactoring, Martin Fowler
- Read and get familiar with the Catalogue of Code Smells
- Read The Core 6 Refactorings, Arlo Belshee
- Watch module 6 Is Test-driven Development All I Need? from online course Test-driven Development: The Big Picture, by Jason Olson. Pluralsight. (13m)
- Read Unit Testing Anti-Patterns from chapter 11 of the book Unit Testing by Vladimir Khorikov.
- Pluralsight course Encapsulation and SOLID, Mark Seemann
- Practice doing more TDD exercises.
- Practice doing Refactoring exercises like the Tennis kata, Guilded Rose kata.
- Watch Read by Refactoring demo, Jay Bazuzi (6m) a good example of Comprehension Refactoring workflow.
- Read book Five Lines of Code by Christian Clausen.
This path is designed to challenge you and push the boundaries of your TDD skills.
- 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.
- Read "Mocks and Test Fragility" from chapter 5 of the book Unit Testing by Vladimir Khorikov.
- Read "Why Integration Testing?" from chapter 8 of the book Unit Testing by Vladimir Khorikov.
- Read book Growing Object-Oriented Software, Guided by Tests. Steve Freeman , Nat Pryce.
- Learn and avoid TDD anti-patterns. Watch also the youtube videos.
- Read TDD - From the Inside Out or the Outside In?, Georgina McFadyen
- Practice doing Refactoring exercises like the Trivia kata.
- Comparative Case Study (Outside-in vs Inside-out TDD), Clean Coders
These learning paths are not yet complete, and I more than welcome your feedback or pull requests.
Attribution-ShareAlike 4.0