tdd is about design not verification what does it concretely mean?
- by sigo
I've been wondering about this. What do we exactly mean by design and verification.
Should I just apply tdd to make sure my code is SOLID and not check is correct external behaviour ?
Should I use Bdd for the correct behaviour part ?
Where I get confused also is regarding TDD code katas, to me they looked like more about verification than design... shouldn't they be called bdd katas instead of tdd katas?
I reckon that for example uncle bob bowling kata leads in the end to a simple and nice internal design but I felt that most of the process was more around vérification than design. Design seemed to be a side effect of testing incrementally the external behaviour. I didnt feel so much that we were focusing most of our efforts on design but more on vérification. While normally we are told the contrary, that in TDD, verification is a side effect, design is the main purpose.
So my question is what should i focus exactly on when i do tdd: SOLID, external Api usability, what else...?
And how can I do that without being focused on verification ?
What do you guys focus your energy on when you are practicing TDD ?