« Passion and Architecture | Main | Ruby on Rails not ready for prime time »

2008.07.26

Comments

Feed You can follow this conversation by subscribing to the comment feed for this post.

AustinWiltshire
What is your opinion on CDD's refactoring support? One of the things I like about TDD is if you make a major change, yet all your tests still pass, it gives you some degree of assurance you haven't broken anything.
Gavin Terrill
I think you can get similar, if not more, levels of assurance for refactoring with CDD:
  • Pre-conditions and class invariants go further than xUnit tests where you are typically checking the output (post conditions)
  • Static analysis can be used before and after refactoring to give you more confidence that the system still hangs together, even where you haven't covered it with a test yet - this of course relies on making sure you have specified your contract in enough detail
Andy
Hi Gavin,
The comment that you left on Kris' post led me to this post. Kris was actually responding to my post, where I was approaching a DBC standpoint.
It's interesting that the workshop we were running reached this stage by test driving the application. We did, in effect, evolve the contract.
I think that DBC and TDD / BDD can co-exist quite happily, and I'm also pleased that the contract is a contract as of our understanding at this point, and we reserve the right to change it :-)

Thanks for giving me more stuff to think on :-)

The comments to this entry are closed.