Talk (50min)
Testing DDD Building Blocks: A Multi-Layered Strategy for Confidence
Testing DDD Building Blocks: A Multi-Layered Strategy for Confidence
Oh... Now I see... I mean Integration tests between modules, while you mean between components" - Discovered after an hour-long discussion during Code Review. They need one more hour to find out that integrating a module is very different from a component. But first things first, let them discover that they define module and component in different ways. Then the tester says: Integration is when we connect microservices together...
Is it true that we can only develop unit, integration, and E2E tests? Then what is the unit in a Domain-Driven Design context? Well-crafted tactical DDD building blocks demand a robust testing strategy, not just a collection of tools. This session will reveal how to move beyond the common pitfalls of ambiguous test definitions and disconnected testing practices.
We all know jUnit is simple, AssertJ as well, Mockito, even Spock. Just one tutorial, and we're good with several tools. But the real challenge isn't the tools; it's the missing guidelines on how to combine them effectively to build confidence across your DDD boundaries. It's time to stop asking "what is a unit test?" and start asking "what kind of confidence do we need, and how do we get it?".
This talk will explore practical, multi-layered testing strategies specifically tailored for Domain-Driven Design. We'll uncover different test scopes – beyond just unit and E2E – for your aggregates, modules, and bounded contexts.
Prepare to challenge your assumptions about testing pyramids and embrace a more nuanced approach to ensure the robustness and correctness of your DDD systems. Leave your boundaries behind and prepare to embrace something new!
