Tuesday, October 6, 2009

BDD Open Source is Growing

When i heard Dan North talk and show examples of BDD a couple of years ago it excited me. I had been doing TDD and ATDD for a while but the way the specs were worded with BDD just made since.  When I went back to work I found that most of the tool support was in ruby and groovy which did not help me with Java projects I was working on at time (yeah I know you can use Groovy with Java but it is not always easy to convince a Java team to do this). So, I kept doing TDD and ATDD (see discussion regarding ATDD vs. BDD).

A few months later I was frustrated with how most ATDD specs were looking and started playing with Cucumber.   I really like the way the specs read in Cucumber.  I also like the way it allows you to group the steps which made reuse so easy and logical.  The problem I have is most teams I am working with are still doing only or mostly Java.  These teams also have FitNesse experience both in the QA and Development groups.

So earlier this year I decided to start creating a tool that would allow me to give a FitNesse experienced team the ability to use the BDD Given When Then language.  The tool is called GivWenZen.   We have used it on a couple of projects internal and I hope you will give it a try.  I have also done an example implementation of using GivWenZen from JUnit as a BDD spec.

What I found after I released it was there are a lot of tools now for BDD.  There is even another tool that is similar to GivWenZen and it is called NarrativeFixture.  Both projects appear to have similar goals but went about implementing a bit differently.  Try them both out and see what you think.  I know I would like any feedback you have on the tool.

There are a lot of other tools out there as well.  If you have not tried out BDD I really recommend reading up on it.  I have found the idea useful in explaining myself in situations outside of just development.  Yeah, it is geeky I know.