You’re Agile. You write User Stories. Now what? The next step is often to turn those User Stories into executable tests that can help you validate the proper behavior of your complex software systems. Behavior-Driven Development (BDD) is the engine that can help to drive this process on your project. The logical evolution of the often too fine-grained process of Test-Driven Development, BDD not only represents a somewhat different technical practice but, more importantly, it also suggests an entirely different way of thinking about your system and the way in which you test it.
In this session we will begin with a series of simple User Stories and demonstrate how the BDD process supports our codifying these User Stories into a series of “executable specifications” that can be used to validate the proper functionality of our complex software system. We will work at first without any of the complex overhead of so-called ‘BDD Frameworks’ to demonstrate the important concepts of BDD and then move on to investigate how and why one might look to use various ‘BDD Frameworks’ to offload some of the repetitive work often involved in the BDD process. Attendees should expect to leave with a good understanding of both the conceptual process that is Behavior-Driven Development as well as some of the technical practices that can help support its successful adoption.
The ideal attendee will have several years’ experience in developing complex software solutions. Some understanding of the role of User Stories in the Agile software development process is helpful but not required. Prior exposure to the concepts behind automated unit testing is assumed, but deep unit testing experience is not required.