Workshop: Well-Balanced Test-Driven Development

Test-Driven Development (TDD) is a way to manage fear during programming. It gives you the confidence to make changes without breaking things.
— Kent Beck

Why attend?

Are unit tests causing you pain? Do they fail in large numbers whenever you make changes to the production code? Are you spending a lot of time fixing them when they break? Do you get a headache just thinking about this topic? Are you on the brink of giving up on writing tests altogether or have you already done so? What if you could turn the ship around and make Test-Driven Development a strong ally in your life as a software developer?

Imagine writing tests that:

  • Prevent defects from popping up, while building quality into the code.
  • Are trustworthy and reliable, so you can refactor with confidence.
  • Drive the design of the system, building loosely coupled and highly maintainable code.
  • Spark a sense of trust and even joy.

In 2 full days you will learn how to:

  • Have a healthy mix of different kinds of tests.
  • Use several techniques to decouple tests from production code.
  • Apply Test-Driven Development in a real-world codebase, so you can start using it immediately in your own projects.
  • Build fast-running tests that provide you feedback sooner rather than later.
  • Approach legacy code using automated tests: how to safely refactor while also adding new features.
  • Universally apply this knowledge throughout your career while advancing your journey to mastery using Test-Driven Development.

Course content

  • Solitary and Sociable Tests
  • The Test Pyramid
  • State and Behaviour Verification
  • Exercise 1
  • Arrange, Act, Assert
  • DRY & DAMP
  • AAA Per Test Method
  • AAA Per Test Class
  • Naming tests
  • Exercise 2
  • Test Data Builder
  • Exercise 3
  • Single Assert per Test
  • Procedural vs Object State Verification
  • Exercise 4
  • Indirect Inputs & Outputs
  • Test Doubles
  • Fixture Object
  • Exercise 5
  • Inside-Out TDD
  • Outside-In TDD
  • Exercise 6
  • Test Boundaries
  • Hexagonal Architecture
  • Functional Core, Imperative Shell
  • Exercise 7
  • Integrated End-To-End Tests
  • Contract Tests
  • Abstract Test Cases
  • Parameterized Test Cases
  • Exercise 8
  • Refactoring
  • Legacy Code
  • Approval Tests
  • Exercise 9

Target audience

This workshop is for developers who already have experience writing automated tests and want to improve upon their existing skills using Test-Driven Development. Although the exercises used in this workshop are using C# or Java, the principles and guidance are also broadly applicable to other platforms and programming environments as well (Python, JavaScript, C++ etc.).

Having a good understanding of the following topics will definitely make the most out of this workshop:

  • A decent understanding of an object-oriented programming language, preferably C# or Java.
  • At the very least some first experiences writing unit tests for production code.
  • Basic or intermediate knowledge of an xUnit test framework.
  • Basic or intermediate knowledge of a mocking framework (Moq, NSubstitute, Rhino Mocks, Mockito, etc.).

Practical details

Location The Brain Embassy, Molenbergstraat 10, 2000 Antwerpen
When December 04 and 05, 2025
Arrival 08:30 - 09:00
Start workshop 09:00
End workshop 17:00
Beverages Unlimited coffee, tea and filtered water
Lunch Included
Price Early bird: 800€ (until 31 October 2025), Regular price: 999€
Test-Driven Development (TDD) is a discipline, and that means it’s not something that comes naturally; because many of the payoffs aren’t immediate but only come in the longer term, you have to force yourself to do it in the moment.
— Harry Percival ("Test-Driven Development with Python")

Interested in online or on-site training?
Contact me at infonull@nullprincipal-itnull.be or call +32 496 38 00 82

About

Thank you for visiting my website. I’m a professional software developer since Y2K. A blogger since Y2K+5. Author of Writing Maintainable Unit Tests. Provider of training and coaching in XP practices. Curator of the Awesome Talks list. Thinking and learning about all kinds of technologies since forever.

Contact information

(+32) 496 38 00 82

infonull@nullprincipal-itnull.be