Welcome to blogs.conchango.com Sign in | Join | Help

Welcome to blogs.conchango.com

Richard Griffin's Blog

BDD and NSpec

Behaviour Driven Development can now be embraced by .net 2.0 developers doing C# thanks to NSpec. NSpec is still evolving so it will be sometime until the specification api is complete but it is definitely worth checking out. If you are into Rails then check out RSpec. Dave Astel is the main guy behind RSpec and is becoming the voice of authority on BDD. Check out the video that he gave to Google.

Now I am a big proponent of Agile, TDD and more recently NLP. Reason :- they make my life easier and thus more enjoyable. So it was interesting to read that Dan North the originator of BDD said,

" Behaviour-driven development started life as an NLP exercise to stem the abuse of the word “test” in “test-driven development”. "

So, last night I coded-up some simple behaviours in a current rails app. Instantly, this feels natural, unlike when I first started to write unit tests. I can still remember during the early stages of learning TDD that I would sit for ages looking at my screen thinking how am I going to test this ??.. I could write bullet proof code to solve the problem instantly, but writing the unit test to validate the code was bullet proof, well now that was a different matter all together. BDD is different, rather than getting bogged down in complexity and having to think about how am I going to write a test for this, with BDD you are thinking about how your code should behave in the current context. BDD is more natural and sits nicely with an NLP paradigm because you are thinking more about the specification rather than verification. Hence building a common language to describe the behaviour of the system for both techies and business people.

Over the coming months I will document my journey of using BDD and uncover the joys of using NSpec and RSpec. If you are already using NSpec then it would be great to hear from you.

Published 23 August 2006 21:57 by Richard.Griffin
Filed under:

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

No Comments

Leave a Comment

(required) 
(optional)
(required) 
Submit
Powered by Community Server (Personal Edition), by Telligent Systems