Friday, 22 February 2013

BDD and Automated Acceptance Testing for Java Web Apps: A Primer

Behavior Driven Development (BDD) is an approach in which we build up our understanding of user requirements using concrete examples of the application's expected behavior. Through ongoing conversations between business stakeholders and team members, we explore the capabilities and behavior that the stakeholders need. We propose features that the system will need to deliver these capabilities, and use concrete examples and counter-examples to explore and understand these features more fully.

In BDD, requirements are expressed using language understood both by the business stakeholders and by the development team, and in a semi-structured format that can act as the basis for automated acceptance criteria. Requirements are generally expressed using a structured form along the following lines: