Emerging from test-driven development practices, Behavior-Driven Development is an Agile software development process that supports collaboration among developers and non-technical and business contributors to help formulate and standardize a concrete understanding of how the application should operate.