REQUEST A DEMO

BDD (Behavior Driven Development) Discussion at the ALT.NET conference

I’ve had very little exposure to BDD, so I was interested in learning more. Specifically, most of my BDD knowledge has come from Scott Bellware, so I wanted to hear what others had to say about it.

I listened to Scott Bellware’s explanation, but he seemed to focus more on the value (from his standpoint), as opposed to really answering the question “What is BDD?”

He stressed the work soluibility. It was great to hear Scott Hanselman question that nomenclature and replace it with grokability. Grokability is more soluable than solubility, commented Roy. I agree.

The big questions that seemed to go unanswered:

  • Why should I care about BDD?
  • What benefit does it give me?

What I walked away with was a way of using ubitiquous language to bridge the gap between the developers and the business.

Joe Ocampo than gave an overview of nBehave. nBehave allows you to represent your story in code, in the same format that your business users express it. A developer sits down with a business analyst, and they turn the story into code, following the standard story pattern:

logNotesStory = new Story(“log notes to a case”)
logNotesStory.AsA(“customer support agent”)
                   .Iwant(“to log notes to a case”)
                   .SoThat(“everyone in the company has visibility to the current developments”)

Then,  the analyst and developer co-author one or more scenarios for this story.

  • Scenario: Case is Open
  • Scenario: Case is closed
  • Scenario: Agent is not the case owner
  • etc…

Joe has some good code examples on his blog.

Finally, you can create a document from these stories and scenarios, and feed that document (written in human readable English) back to the business for review and confirmation.

Scott Bellware seems to disagree with this approach, although I’m not sure why. It seems to follow the executable test pattern, like we’ve also done using Fit & Fitnesse, as well as the specReporter utility that he wrote. I’ve discussed this previously. I’ll have to have a further conversation with Scott to understand his viewpoint a bit more. Or hopefully Scott will comment here.