TDD isn’t as easy as it looks. Clean architecture isn’t either.
January 11, 2022
Blog > Clean Architecture, Quality, TDD | Valentina Cupać
TDD isn’t as easy as it looks in tutorials. Clean architecture isn’t either.
A common complaint regarding TDD training is that we can’t translate it to the real world. For example, when there are tutorials about the calculator, it looks simple… but then we get stuck when we try to apply it. The real world is much more complex.
Perhaps you tried using TDD in your company, and it failed, you felt that time on tests was wasted. Or you were using TLD because you felt that you couldn’t write tests up-front, and the tests never got written. Or there were too many dependencies on external services, and it was really confusing how to make tests from it. Or the code turned out really convoluted in any case.
Yesterday I posted a poll regarding an open-source sample project I’ll be creating to illustrate TDD & Clean Architecture on a minimalist example BUT with complexities akin to real-world complexities (so it won’t be the generic calculator add-subtract example).
The question now comes, what could I use as an example? Which domain? What could be the use cases and user stories? (preferably something based on real-life experiences where it was hard to write tests, hard to design, convoluted…)
This is where I’d like to hear your thoughts
1. Which business domain?
2. Which use cases?
3. What’s the business value?
4. What are the technical complexities?
Looking forward to seeing your suggestions?