Cucumber is a BDD tool that can execute plain-text documents as automated functional tests through Ruby mappings. It allows you to build up a custom domain language to talk about your applications behaviour that non-technical users can understand and write. We'll look at working outside-in with Cucumber and the importance of focusing on customer value. Look at how Cucumber fits into the testing workflow, how it compliments Behaviour Driven Development and give practical examples/tips.
Writing software that 'does the right thing' is dependent on good communication with the Customer. Acceptance tests can provide an important way to communicate a customers definition of done and drive use to build the right software. But often these tests are not both executable and easily accessible for non-technical people. Cucumber, a tool to support Behaviour driven development (BDD) aims to help lower communication barriers by using plain text that describes behaviour and via Ruby mappings can be executed. As programmers we can think of Cucumber features as functional tests that are accessible and editable by non-technical people.
While the presentation is focused on Rails examples, Cucumber can be used to test lots of different frameworks (and just plain old ruby code!). It can also be used to test code written in other languages with the help of some extra tools:
- Java: Use JRuby
- .NET: Use IronRuby
- Flex: Use FunFX
This topic will be presented by Joseph Wilk (click for more details on Joseph and all our speakers).