If Test-First Development (TFD) is a specialized subset of Test-Driven Development (TDD), then surely the equivalent specialized subset of Behavior-Driven Development is Behavior-First Development.
Today I had my first experience in developing BFD.
I know what you’re thinking:Â BFD.
But it’s a BFD to me. Using a rather exotic concoction of DBUnit, HSQLDB, Selenium, Cargo and EasyB, I was able to write a story to describe some new functionality for a web application, and run that story as a test (via EasyB/Groovy), before I wrote any of the code to implement the functionality.
Other ingredients in this concoction:Â Tomcat, Ant, Junit, Struts2, Spring, Cobertura and four or five different logging frameworks.
Observations:
-  It is difficult to see what is going on when your story fails - the story failure is often fairly far away from the code failure.
- DBUnit throws multiple exceptions as part of normal operating procedure. That is a crime against humanity.