Test-Driven Development and Refactoring Course

Practice short TDD cycles, design maintainable unit tests, isolate dependencies, and refactor new or legacy code with executable feedback.
Test-Driven Development and Refactoring Course

At a glance

Duration
1 Week
Format
Classroom
Cities
London, Prague, Zanzibar, Paris, Milan, Marbella and more
Next session
9 – 13 November 2026, London
Average fee
5,750 €

Overview

Test-Driven Development and Refactoring Training Course is a one-week intermediate course for software developers, test engineers, technical leads, and agile delivery teams who leave with a TDD Practice Portfolio. Participants use Red-Green-Refactor cycles, unit test design, test doubles, test seams, legacy-code characterization, continuous integration, and team working agreements to guide software design through executable feedback. Agile Leaders Training Center delivers this course in test-driven development and refactoring practice.

Who Should Attend

  • Software development teams responsible for implementing maintainable application behavior
  • Test engineering teams responsible for fast unit-level feedback and regression protection
  • Technical leadership teams responsible for coding practices and design quality
  • Agile delivery teams responsible for integrating development and verification
  • Application maintenance teams responsible for changing legacy code safely

The course assumes participants can write, run, and debug object-oriented code and leaves out programming-language fundamentals, general Scrum, broad testing theory, and tool-only test automation.

Departments and Industries

The course supports departments that develop and maintain software in technology, financial, healthcare, industrial, and public-service environments.

  • Software engineering and application development
  • Quality engineering and developer enablement
  • Technology architecture and platform teams
  • Financial technology and digital services
  • Healthcare systems and industrial software

Learning Objectives

By the end of this course, participants will be able to:

  • Apply the Red-Green-Refactor cycle to small behaviors.
  • Build readable unit tests and test lists.
  • Compare state and behavior verification choices.
  • Use test seams, stubs, fakes, and mocks.
  • Refactor new and legacy code under tests.
  • Evaluate TDD workflow and continuous-integration feedback.

Course Agenda

Day 1: Establish the TDD Cycle

  • Red-Green-Refactor Cycle Map
  • Behavior Example and Test List Template
  • Arrange-Act-Assert Unit Test Structure
  • Small-Step Implementation Decision Log
  • Test Failure Diagnostic Checklist

Day 2: Design Reliable Unit Tests

  • Test Naming and Intent Specification Pattern
  • Boundary and Equivalence Example Matrix
  • Test Fixture and Data Builder Method
  • Test Smell Detection Checklist
  • Unit Test Readability Review Grid

Day 3: Isolate Dependencies and Collaborators

  • Test Seam Identification Canvas
  • Dummy, Fake, Stub, Spy, and Mock Selection Matrix
  • State versus Behavior Verification Decision Guide
  • Dependency Injection and Isolation Pattern
  • Test Coupling and Brittleness Review

Day 4: Refactor and Integrate TDD

  • Characterization Test Plan for Legacy Code
  • Code Smell and Refactoring Opportunity Map
  • Behavior-Preserving Refactoring Sequence
  • Continuous Integration Test Feedback Pipeline
  • Team TDD Working Agreement and Review Cadence

Day 5: Practice TDD Decisions

  • Suggested Exercise: Build a Test List from a Behavior Example
  • Suggested Exercise: Complete a Red-Green-Refactor Cycle
  • Suggested Exercise: Select and Configure Test Doubles
  • Suggested Exercise: Characterize and Refactor Legacy Code
  • Capstone Exercise: Complete a TDD Practice Portfolio

Practical Exercises

The course uses suggested activities with fictional service, payment, scheduling, and device-control code examples.

  • Suggested activity: convert payment rules into a sequenced unit test list.
  • Suggested activity: isolate a healthcare scheduling dependency with a suitable test double.
  • Suggested activity: characterize industrial device-control code before refactoring.
  • Suggested activity: diagnose a brittle test suite and revise the team agreement.

FAQs

Who suits test-driven development training, and what does it assume?

Test-driven development training suits developers, test engineers, technical leads, and agile delivery teams. It assumes participants can write, run, and debug object-oriented code in their working language.

How does test-driven development differ from general software testing training?

Test-driven development uses tests to guide incremental software design before production code is written, while general software testing training covers broader verification levels, techniques, and quality activities after or alongside implementation.

What is the Red-Green-Refactor cycle in TDD?

Red-Green-Refactor starts with a small failing test, adds the minimum code needed to pass, and then improves code and test structure while preserving behavior. The cycle repeats for the next behavior.

When should TDD use mocks, stubs, or fakes?

TDD uses test doubles when a dependency makes a unit test slow, nondeterministic, hard to control, or difficult to observe. Teams select stubs, fakes, spies, or mocks according to the feedback and verification needed.

How can TDD be introduced into legacy code?

TDD enters legacy code through characterization tests, identified test seams, and small behavior-preserving changes. Teams first capture current behavior, isolate dependencies, and then add new behavior through short test-driven cycles.

Conclusion

Participants take back a TDD Practice Portfolio. It combines test lists, unit tests, failure diagnostics, test-double choices, characterization tests, refactoring sequences, pipeline feedback, and a team working agreement. The portfolio helps teams turn software behavior into executable design feedback and safer code changes.

credits: 5 credit per day

Course Mode: full-time

Provider: Agile Leaders Training Center

Showing 61-76 of 76 events
Image Location Dates Duration Mode Price Actions
Cairo Cairo Week 35, 2027
30 August – 3 September 2027
1 Week Onsite €4,100
Jakarta Jakarta Week 35, 2027
30 August – 3 September 2027
1 Week Onsite €5,700
Tbilisi Tbilisi Week 36, 2027
6 – 10 September 2027
1 Week Onsite €5,000
Tashkent Tashkent Week 36, 2027
12 – 16 September 2027
1 Week Onsite €4,500
London London Week 37, 2027
13 – 17 September 2027
1 Week Onsite €5,700
Accra Accra Week 37, 2027
19 – 23 September 2027
1 Week Onsite €4,100
Casablanca Casablanca Week 38, 2027
20 – 24 September 2027
1 Week Onsite €4,100
Rome Rome Week 39, 2027
27 September – 1 October 2027
1 Week Onsite €5,700
Amsterdam Amsterdam Week 39, 2027
27 September – 1 October 2027
1 Week Onsite €5,700
Cape town Cape town Week 39, 2027
3 – 7 October 2027
1 Week Onsite €4,500
Abu Dhabi Abu Dhabi Week 41, 2027
11 – 15 October 2027
1 Week Onsite €4,700
Chicago Chicago Week 41, 2027
17 – 21 October 2027
1 Week Onsite €12,000
Cairo Cairo Week 43, 2027
25 – 29 October 2027
1 Week Onsite €4,100
Singapore Singapore Week 43, 2027
25 – 29 October 2027
1 Week Onsite €5,700
Bangkok Bangkok Week 43, 2027
31 October – 4 November 2027
1 Week Onsite €6,000
Madrid Madrid Week 45, 2027
8 – 12 November 2027
1 Week Onsite €5,700

Frequently asked questions

What does this course cover?

OverviewTest-Driven Development and Refactoring Training Course is a one-week intermediate course for software developers, test engineers, technical leads, and agile delivery teams who leave with a TDD Practice Portfolio. Participants use Red-Green-Refactor cycles, unit test design, test doubles, test seams, legacy-code characterization, continuous integr…

Are training dates available?

Yes. Available dates and destinations are listed in the course dates section on this page.

How can I register?

Choose an available date on this page and complete the registration form, or send a programme enquiry.

Can I download the course brochure?

Yes. Use the brochure download link provided on this page.

This course by city