Yes, seriously, my first reaction to a post in which I noticed BDD-kinda-tests was something like "whoa, interesting naming convention for test method names, and all these underscores...". After that I came upon several other blog posts containing BDD tests and I still didn't get the idea. Then I read Dan North's post introducing the idea of Behavior Driven Development and I finally started catching the point. But catching the point at that time was not like "well, it's worth it and I'll try it" but rather like "ok, it's a TDD variation with some funky new lingo, so... ok".

I could abandon my research at that point by I decided to go further and read more on the topic. Honestly, the information I read at didn't help me much but at least I decided to refresh my memories of what's Domain Driven Design and the problems it's trying to solve. And so I did. Now I could put 2 and 2 together and everything started making sense. I still haven't read the "blue bible" by Eric Evans about Domain Driven Design but it's on my list of things I have to do this year.
Finally, as a dessert I read Joe Ocampo's blog post who describes everything pretty well and simple and especially the transition from TDD to BDD. I wish I had read his post first (no criticism to Dan North's post here, really).

If you would really like to get familiar with BDD you could read the same resources I've mentioned. Of course as a base you should first be familiar with the concept of TDD.
Suppose you read everything I've listed, what's the next step. The next step is to start doing it. Simple as that but actually this is the hardest step. It's not about the tools you'll decide to use or about the details you could think you've missed between the lines, it's about the mind shift.
In order to make this step a little bit easier you could use the following approach - just try to convince yourself that you could do the things better and the new skills you'll learn will do no harm, just the opposite. And of course, don't give up too quickly, good things happen slowly, most probably you'll need months.


Here are some other resources I've find useful during my research:

  • Derick Bailey has some good posts about BDD
  • Uncle Bob has some interesting point of view about BDD and the... Turing machine :). It's not the point of view that will make you fall in love with BDD but I think that more diverse opinions about something could only help you grasp the whole idea.
  • Jean-Paul Boodhoo also has some good posts about BDD

During the next several months I'll try to post about my experience with BDD and I'll be glad to hear your comments.

About the Author

Hristo Kosev



Comments are disabled in preview mode.