Presentation is loading. Please wait.

Presentation is loading. Please wait.

Behavior-Driven Development

Similar presentations

Presentation on theme: "Behavior-Driven Development"— Presentation transcript:

1 Behavior-Driven Development

2 Behavior-driven development 1 In software engineering, behavior-driven development (abbreviated BDD) is a software development process based on test-driven development (TDD). Behavior-driven development combines the general techniques and principles of TDD with ideas from domain-driven design and object- oriented analysis and design to provide software developers and business analysts with shared tools and a shared process to collaborate on software development, with the aim of delivering "software that matters".

3 Behavior-driven development - History 1 Behavior-driven development was developed by Dan North as a response to the issues encountered teaching test- driven development:

4 Behavior-driven development - Principles of BDD 1 At its core, behavior-driven development is a specialized version of test-driven development which focuses on behavioral specification of software units.

5 Behavior-driven development - Principles of BDD 1 Behavior-driven development specifies that tests of any unit of software should be specified in terms of the desired behavior of the unit. Borrowing from agile software development the "desired behavior" in this case consists of the requirements set by the business — that is, the desired behavior that has business value for whatever entity commissioned the software unit under construction. Within BDD practice, this is referred to as BDD being an "outside-in" activity.

6 Behavior-driven development - Specification as a ubiquitous language 1 Behavior-driven development borrows the concept of the ubiquitous language from domain driven design

7 Behavior-driven development - Specialized tooling support 1 Much like test-driven design practice, behavior-driven development assumes the use of specialized support tooling in a project. Inasmuch as BDD is, in many respects, a more specific version of TDD, the tooling for BDD is similar to that for TDD, but makes more demands on the developer than basic TDD tooling.

8 Behavior-driven development - Story versus specification 1 A separate subcategory of behavior-driven development is formed by tools that use specifications as an input language rather than user stories

9 Jasmine (JavaScript framework) - Usage 1 Jasmine aims to be easy to read. A simple hello world test looks like the code below, where describe() describes a suite of tests and it() is an individual test specification. The name it() follows the idea of behavior- driven development and serves as the first word in the test name, which should be a complete sentence.

10 EXtreme Manufacturing 1 'eXtreme Manufacturing (XM)' is an iterative and incremental development framework, inspired by Scrum (development)|Scrum and Kanban that features principles of Modular design|Modular Design, Behavior-driven development|BDD and Test driven development|TDD. This framework popularized by Joe Justice and J.J. Sutherland has a rich history with origins that predate the early implementations of Agile software development and exemplify the Japanese Kaizen culture.

11 RSpec 1 'RSpec' is a behavior-driven development (BDD) framework for the Ruby (programming language)|Ruby programming language, inspired by JBehave.Ed Gibbs, [ rspec-history/ JBehave and RSpec History] (Blog entry) It contains its own mocking framework that is fully integrated into the framework based upon JMock. The framework can be considered a domain-specific language (DSL) and resembles a natural language specification.

12 Acceptance test-driven development 1 (2009) Bridging the Communication Gap: Specification by Example and Agile Acceptance Testing, Neuri Limited, Behavior-driven development|Behavior Driven Development (BDD),Chelimsky, David, Dave Astels, Zach Dennis, Aslak Hellesøy, Bryan Helmkamp, and Dan North

13 Specification by example 1 It is applied in the context of agile software development methods, in particular behavior-driven development

14 For More Information, Visit: m/the-behavior-driven- development-toolkit.html m/the-behavior-driven- development-toolkit.html The Art of Service

Download ppt "Behavior-Driven Development"

Similar presentations

Ads by Google