TDD is BS?

Chris Cain clcain at uncg.edu
Thu Jun 20 02:02:47 PDT 2013


On Thursday, 20 June 2013 at 07:36:41 UTC, Paulo Pinto wrote:
> ...
> Just left enough context to ask the following question, I hope 
> I did not left out too much.
>
> How does TDD then help how a user of my application will use 
> the application UI?
>
> This is the area where I usually make TDD evangelists go 
> speechless in conferences, as they start to present ad-hoc 
> solutions and end up changing subject.
>
> --
> Paulo

Sure. The user, in this case, isn't the user of your application. 
The "user" is the person using your API (other programmers). TDD 
has nothing to do with the visual design of your application and 
everything to do with the software engineering design. It's to 
help guide you to the answer to the questions "how should I 
define the behavior of this class/how should this class be used 
in practice?"

If your question is how to use TDD for UI, the answer is that you 
might use TDD for defining the interface to your UI API. But 
defining an actual UI using TDD is usually kind of awkward and I 
feel it's missing the point. I'm not saying I haven't seen it 
done, but typically what people do to "test first" UI designs 
isn't really what TDD was meant to do, I feel.

---

I guess the short answer is that TDD doesn't make sense to be 
used for that (IMO). Just like a knife can't be used to cook an 
egg. I suppose this is where the phrase "there is no silver 
bullet" should be put? :)


More information about the Digitalmars-d mailing list