Test-Driven Development (TDD) and Unit Testing (UT) are proven techniques for building well-designed, maintainable software through test-first development, isolation and continuous refactoring.
Practices such as mocking, dependency injection and testing code are essential for real-world systems and for improving design safely.
AI assistants significantly accelerate test creation, mocking and refactoring. At the same time, TDD and Unit Tests act as the primary safety mechanism that allows AI-assisted code changes to be applied with confidence.
This seminar focuses on both directions:
How AI improves TDD
How TDD safeguards AI-driven development
Who Should Attend
Software developers, tech leads, architects and QA engineers with OO experience.
Prerequisites
Experience with C#, Java, C++, Node (TypeScript) or Python.
Course Contents
Part 1 – TDD and UT Foundations
TDD Essentials
What TDD is (and is not)
The TDD cycle: Red → Green → Refactor
Live TDD demonstration
Benefits, costs, and realistic expectations
TDD as a foundation for Agile and CI/CD
Unit Testing Basics
Testing types and levels
What defines a “unit”
Black-box vs. white-box testing
Unit testing frameworks overview
Mocks, Dependency Injection, and Design
Why isolation is critical in unit testing
Mocks, stubs, fakes, and spies
Mocking frameworks (Mockito, GoogleMock, others)
Dependency Injection as an enabler for testability
How unit tests force better design
Unit Testing Legacy Code
Risks of changing untested systems
Creating regression tests
Using tests to enable refactoring legacy code
Improving design after tests exist
Part 2 – Modern Unit Testing and AI
AI Improving TDD
Where AI fits naturally into TDD workflows
Using AI to:
Generate unit tests and speed up development
Write tests first from requirements
Create mocks and test doubles, helpers and fixtures