Domain-Driven Design
> >
CustomerTestingEnhancesDDD

Eric Evans wrote:

> To bring this back on-topic, I'll ask a question. How does TDD enhance DDD?

It may be that Customer Testing practice does more to enhance DDD than TDD does. In particular, I'm thinking about one key consequence of Customer Testing: the evolution of a domain-based scripting language.

To write effective Customer Tests, one typically develops a very high-level scripting language (of some kind) that allows the customer - typically a non-programmer - to change and add tests. This happens over time, through continual refactoring, but it generally does happen. It shows up as a library of customized JUnit assertions, or as its own Domain Language (as seen in /Pragmatic Programmers/).

Writing/developing this domain language goes a long way to crystallizing
- and challenging! - the Ubiquitous Language. If the language does not translate well into code, then it cannot really be ubiquitous, now, can it?

It will be interesting to see how Domain Language evolves in FIT tests.
I haven't used them on a big-enough project to see it for myself.

JBRainsberger


CustomerTestingEnhancesDDD is mentioned on: ThreadView



VeryQuickWiki Version 2.6.3 - HTML Export