This document provides an overview of specification by example (SBE) and behavior-driven development (BDD) for Symfony2 applications. It introduces the Gherkin language for describing features and scenarios, and how to implement scenarios using the Behat testing framework. Context classes are used to define step implementations that interact with the application. Scenarios can share background steps and contexts allow interacting with application services.