|Deletions are marked like this.||Additions are marked like this.|
|Line 9:||Line 9:|
|Line 10:||Line 11:|
|Line 14:||Line 16:|
|Line 15:||Line 18:|
As an example, when I was first getting to grips with TDD, I was pairing with an experienced agile coach, writing little test methods, then writing the code, and generally feeling good about life. Then I went ahead and wrote some code without a test. The coach, JR, asked me why I'd written the code. I answered: "we'll need it in a minute", to which JR replied "yes, we might". By using the word "might", he introduced the possibility that we might not. As it turned out, we didn't. - DanNorth
A coach introducing Test-Driven Development to sceptical (i.e. most) developers invariably runs into a familiar set of objections.
- - Why do I need to write tests? That's what testers do. - Writing all these tests slows me down, it's a waste of time. - I'm a good programmer! I don't need to write tests to prove my code works
And from testers:
- - Why are you getting programmers to write tests? We all know they can't – that's why you need testers. - Are you trying to take our jobs away? - You obviously don't understand testing or you wouldn't be getting programmers to write tests!
This last comment is particularly ironic. In fact, the testers take on a central and very important role in Behaviour-Driven Development.
The behaviour-centric vocabulary helps us to avoid these common misunderstandings and focus on BDD as a design and delivery process.