Wednesday, 13 May 2009

Behaviour Driven Development

Behaviour Driven Development (BDD) - The future of testing.

My view is the BDD is the bridge between development and testing, representing the paradigm shift in thinking that's needed to ensure closer integration between the development and testing professions. BDD provides a logical interlink between what I define as 'Test Requirements', which are drawn from functional requirements, and Test Cases executed to prove these Test Requirements have been achieved.

The BDD approach allows the Test Requirements to more naturally and completely emerge during development. The tester can then relate functional requirements to implemented behaviour and write effective tests cases that demonstrate the customer has what they wanted in a way they wanted. Using solutions such as Selenium/RSpec a tester can create automated tests that help move functionality more rapidly to a ‘done’ state and keep in the spirit of focusing on behaviour.

Shifting thinking from TDD to BDD also eliminates the (curious) mental block development can suffer around testing they do and testing testers do. The BDD mindset re-informs testers as to their valuable role within teams using the approach and eliminates the (also curious) identity crises testers can suffer when being part of an agile team.