
As a proponent of customer-centric development efforts, agile methods, and frameworks such as Ruby on Rails that abstract configuration and plumbing away from the developer, it probably comes as no surprise that I am also a big fan of story tests and test-driven development (TDD) in general.
On of the most exciting advances in this area has been the emergence of Cucumber and Behaviour-Driven Development (BDD).
Cucumber picks up on the good work of FIT and FITnesse; refining and extending the model. It lets software development teams describe how software should behave in plain text (such text can be written with, or by, the customer). The text is written in a business-readable domain-specific language and serves as documentation, automated tests and development-aid – all rolled into one format. After describing the desired behaviour, the developer just creates code until the desired behaviour is achieved.
Cucumber works with Ruby, Java, .NET, Flex or web applications written in any language. It has been translated to over 30 spoken languages. Cucumber also supports more succinct tests in tables - similar to FIT.
Cucumber + Ruby + Rails + Pivotal Tracker + GitHub = Awesome fun. Go check it out now …
