Test-Driven Development (TDD) Foundations

There are currently no open class dates for this course, please check back.

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. 

  • Learn How Continual Attention to Design Simplifies Your Work and Extends the Life of Your Software
  • Learn How TDD Encourages Continuous Design Improvement
  • Craft Tests That Help You Understand and Control a Higher-Quality System
  • Deal with Troublesome Dependencies That Can Make Unit Testing Tough
  • Tackle the Tough Challenges of a Legacy Codebase
  • Learn Specific Concepts and Themes for Approaching the High Risk of a Legacy Codebase
  • 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
    • Simple Design
    • Classic Design Principles
  • Basic Refactoring
    • 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
  • Acceptance Tests (ATs) and TDD
  • Sustaining and Succeeding with TDD 

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

  • Participants should be proficient with the JavaScript programming language and its commonly used libraries and APIs, and at least somewhat familiar with the Eclipse IDE.
  • While relatively little prior experience in TDD or writing unit tests is assumed, participants should be equipped and prepared to engage in hands-on coding during the course.

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.

Interested in Private Group Training?

Discounts available for remote or on-site courses. Let us know!