Test-Driven Development (TDD) helps developers craft and sustain a high-quality codebase. TDD complements agile processes such as Scrum particularly, but it can also provide you with numerous benefits if you’re not at all agile.

This course is the best place to start for most development teams. This class covers TDD fundamentals, sustainable tests, refactoring/continuous design, test doubles/mocks, and – what every developer wants to learn – how to start rescuing your legacy code. 

  • How continual attention to design simplifies your work and extends the life of your software
  • How TDD encourages continuous design improvement
  • How to craft tests that help you understand and control a higher-quality system
  • How to deal with troublesome dependencies that can make unit testing tough
  • How to tackle the tough challenges of a legacy codebase (pretty much every developer’s reality)
  • Specific concepts and themes for approaching the high risk of a legacy codebase
  • How to manage a larger refactoring in a legacy codebase using the Mikado method 

  • Overview of Test-Driven Development
  • Basic TDD Technique
    • Exercise
  • Your Unit Testing Tool
  • TDD and Design
    • What's the Next Test
    • Group Exercise
  • Test Smells
    • Exercise
  • Code Katas
    • Exercise
  • Refactoring and Design
  • Refactoring Drivers
    • Code Smells
    • Sample Design
    • Classic Design Principles
  • Basic Factoring
    • Exercise
  • Additional Catalog Refactorings
    • Exercise
  • Macro Refactoring
    • Backing Into Tests
    • Optional Exercise
  • Basic "Mock Technique
    • Test Double Variants
    • Implementing Test Doubles
    • Mock Injection Techniques
    • Exercise
  • Additional Test Double Topics
    • Using Mock Tools
    • Exercise
    • Challenges/Best Practices
  • Legacy Code Challenges
    • Legacy Themes
    • Dependency Breaking Techniques
    • 2-3 Exercises
    • The Mikado Method
    • Optional Exercise
  • BDD and TDD
  • Sustaining and Succeeding with TDD 

  • Hands-on Developers with experience in the language being used

  • Proficient with JavaScript programming language and its commonly used libraries and APIs
  • Familiar with the Eclipse IDE
  • Participants should be equipped and prepared to engage in hands-on coding during the course

System Requirements: JDK (Java Development Kit version 1.5 or later, Eclipse IDE version 4.0 or later, JUnit version 4.X and JUnit plug-in for Eclipse, Mockito framework version 1.9 or later. 

2-3 Days

Full Price: $0.00
Early Bird Price: $0.00

Email sales@iconagility.com for more information about group discounts or private training.

Test-Driven Development (TDD) Foundations

Interested in Private Group Training? Discounts available for remote or on-site courses. Let us know!


Next Steps in Your SAFe® / Agile Journey

Review additional guidance, training, and resources for your transformation from ICON experts

Improve The Way You Work
Improve The Way You Work

Learn how to improve and continuously adapt your companies strategies, plans, and outcomes

Prepare For Your First PI Planning
Prepare For Your First PI Planning

Execute a smooth PI Planning event with these insider tips

Lead A Successful DevSecOps Transformation
Lead A Successful DevSecOps Transformation

Review the four key items to consider when leading a safe and successful DevSecOps transformation

Enhance Your Agile Knowledge Through The ICON Blog
Enhance Your Agile Knowledge Through The ICON Blog

Gain insight from our industry experts

Training Course Feedback