Home:ALL Converter>What steps would you recommend to move from TDD to BDD?

What steps would you recommend to move from TDD to BDD?

Ask Time:2009-01-21T02:07:12         Author:rajesh pillai

Json Formatter

If you want to move your development process from Test-Driven Development to Behavior-Driven Development what path would you take or recommend?

What are the possible challenges that you might face? Moving the development process will be a huge task itself as the paradigm changes, a shift happens in the thought process and the outlook of project execution changes.

Did any one had a real experience in making this shift happens smoothly (hmm... may not be so smoothly)?

Or anyone trying to make this shift?

I understand this may not be applied to each and everything. But what would be the logical step in case if someone needs to move towards this.

I have only basic information about BDD from the following SO post. Primary differnce between TDD and BDD

The key points I am looking for are:

  • What kind of developer training is needed?
  • Is there any significant changes in the SDLC process?
  • What are the BDD tools you recommend (.net) ?
  • Good BDD resources (.net)

Thanks in advance.

EDIT:

Regarding BDD Framework for .NET, I came across this post in SO Most Mature BDD Framework for .NET

Author:rajesh pillai,eproduced under the CC 4.0 BY-SA copyright license with a link to the original source and this disclaimer.
Link to original article:https://stackoverflow.com/questions/462401/what-steps-would-you-recommend-to-move-from-tdd-to-bdd
Dala :

When I started to look at BDD I investigated all the frameworks out there (for .net) and ended up using none of them. Main reason is I feel like the community hasn't settled on a syntax and best practises yet so instead I continued to use NUnit with a base class based on a blog post by Ben Scheirman. This worked out really well because BDD is not about the tooling but making the tests clean and understandable which is totally possible with normal tools like nunit. \n\nCompared to my old unit tests the new style is much more readable and puts a lot more focus on naming and behavior. We're not that far from printing out the method names and have a discussion with the business people about the system.\n\nSome additional reading by Scott Bellware: Behavior-Driven Development\n\nExamle of a test:\n\npublic class WhenAddingLineItemToEmptyOrder : BDDBase\n{\n Order order;\n\n [SetUp]\n public void Arrange()\n {\n order = new Order();\n }\n\n public void Act() // called by BDDBase\n {\n LintItem item = new LineItem();\n item.Quantity = 1;\n item.Price = 10;\n order.AddLineItem(item);\n }\n\n [Test]\n public void TotalPriceShouldBeUpdated()\n {\n Assert.AreEqual(10, order.TotalPrice);\n }\n\n [Test]\n public void OrderCanBeCheckedOut()\n {\n Assert.IsTrue(order.CanBeCheckedOut)\n }\n}\n",
2009-02-09T19:31:24
Allain Lalonde :

As far as I understand... BDD is a new way of looking at TDD. It's more a mental shift than a new technology.\n\nWhat I mean to say is that you could technically use Unit Testing Tools to do BDD",
2009-01-20T18:36:59
yy