SlideShare uma empresa Scribd logo
1 de 16
A Study of the Characteristics of Behaviour
Driven
Development
Carlos Solis and Xiaofeng Wang
Carlos.Solis@lero.ie

Lero© 2010
Contents
•
•
•
•
•

Motivation
Research approach
Characteristics of BDD
Conceptual model of BDD
Conclusions & Future Work

Lero© 2010
Motivation

Many developers find themselves confused while
using TDD and ATDD in their projects:
“programmers wanted to know where to start, what to
test and what not to test, how much to test in one go,
what to call their tests, and how to understand why a
test fails”

Lero© 2010
Motivation
• The BDD approach is still under development. The
understanding of BDD is far from clear and unanimous. There
is no one well-accepted definition of BDD.
• The descriptions of the characteristics of BDD are vague and
scattered.
• Based on these observations, the main objective of our study
is to identify the characteristics of BDD and conceptualize
them in an explicit manner.

Lero© 2010
Research approach

Lero© 2010
Research approachBDD toolkits analysed
xBehave Family
JBehave

xSpec Family

NBehave RSpec MSpec

StoryQ Cucumber SpecFlow

Language
supported

Java

C#

Ruby

C#

C#

Ruby,
Java,
Groovy,
C#, etc.

C#

Version
analysed

3.1.2

0.4.5

2.3

5.1

2.0.4

0.10.0

1.5

Lero© 2010
Identified Characteristics

1. Iterative Decomposition Process
2. Ubiquitous Language
3. Plain Text Description with User Story and Scenario
Templates
4. Automated Acceptance Testing with Mapping Rules
5. Readable Behaviour Oriented Specification Code
6. Behavior Driven at Different Phases

Lero© 2010
Iterative Decomposition Process

• It is often difficult for developers to find a starting point to
communicate with customers during requirements gathering.
• Business value is generally difficult to identify and made
explicit.
• BDD the analysis starts with identification of the expected
behaviours of a system, which are more concrete and easy to
identify.
• The sytem’s behaviours will be derived from the business
outcomes it intends to produce. Business outcomes are then
drilled down to feature sets.
Lero© 2010
User Stories and Scenarios using BDD
ubiquitous language and plain text

Lero© 2010
Automated Acceptance Testing and Readable
Behaviour Oriented Specification Code

Lero© 2010
Behavior Driven at Different Phases

• BDD at the initial planning phase, correspond to business
outcomes.
• At the analysis phase, business outcomes are decomposed
into a set of features which capture the behaviour of the
targeting system.
• BDD is also embodied at the implementation phase.
Automated Acceptance testing or specification code is an
integral part of the implementation in the BDD approach.

Lero© 2010
Toolkits BDD characteristics
support
Support of the BDD
Characteristics
Ubiquitous language definition
Iterative decomposition process
Editing plain text User story
based on
template
Scenario
template
Automated acceptance
testing with mapping rules
Readable BDD code
BDD
Planning
phases
Analysis
Implementation

Lero© 2010

xBehave Family
xSpec Family
JBehave NBehave RSpec MSpec StoryQ Cucumber SpecFlow
×
×
√

×
×
√

×
×
×

×
×
×

×
×
×

×
×
√

×
×
√

√

√

×

×

×

√

√

√

√

×

×

×

√

√

√
×
√
√

√
×
√
√

√
×
×
√

√
×
×
√

√
×
×
√

×
×
√
x

√
×
√
√
BDD Conceptual Model

Lero© 2010
Conclusions
• BDD is a combination of a ubiquitous language, TDD and
automated acceptance testing. It tries to get the most out of
each single approach.
• We have identified 6 BDD characteristics through literature
review and toolkits analysis.
• BDD toolkits studied mainly focused on the implementation
phase of a software project and provide limited support to
the analysis phase, and none to the planning phase.
• We also presented a conceptual model of BDD based on the
results of our study, to provide a more explicit and formal
description of the BDD concepts and their relationships.
Lero© 2010
Future Work
• One future study could extend an existing BDD toolkit or
develop a new one based on the proposed conceptual model.
•

Another future study could extend and implement additional
mapping rules.

Lero© 2010
Thank you

Questions?

Lero© 2010

Mais conteúdo relacionado

Semelhante a A study of the characteristics of Behaviour Driven Development

TorontoRb Intro to BDD
TorontoRb   Intro to BDDTorontoRb   Intro to BDD
TorontoRb Intro to BDDnunick
 
Mastering BDD - Eran Kinsbruner Workshop Quest 2018
Mastering BDD - Eran Kinsbruner Workshop Quest 2018Mastering BDD - Eran Kinsbruner Workshop Quest 2018
Mastering BDD - Eran Kinsbruner Workshop Quest 2018Perfecto Mobile
 
Approaching ATDD/BDD
Approaching ATDD/BDDApproaching ATDD/BDD
Approaching ATDD/BDDDhaval Dalal
 
Topic tdd-and-bdd b4usolution
Topic tdd-and-bdd b4usolutionTopic tdd-and-bdd b4usolution
Topic tdd-and-bdd b4usolutionHoa Le
 
BDD presentation
BDD presentationBDD presentation
BDD presentationtemebele
 
Myths and Challenges of Behaviour Driven Development
Myths and Challenges of Behaviour Driven DevelopmentMyths and Challenges of Behaviour Driven Development
Myths and Challenges of Behaviour Driven DevelopmentPankaj Nakhat
 
Behaviour Driven BizTalk Development
Behaviour Driven BizTalk DevelopmentBehaviour Driven BizTalk Development
Behaviour Driven BizTalk DevelopmentMichael Stephenson
 
Vishwanath_M_CV_NL
Vishwanath_M_CV_NLVishwanath_M_CV_NL
Vishwanath_M_CV_NLVishwanath M
 
Shridhar_Bhat 3.8Years PLSQL
Shridhar_Bhat 3.8Years PLSQLShridhar_Bhat 3.8Years PLSQL
Shridhar_Bhat 3.8Years PLSQLShridhar Bhat
 
Prathima_Resume
Prathima_ResumePrathima_Resume
Prathima_ResumePrathima -
 
Code & Cannoli - Domain Driven Design
Code & Cannoli - Domain Driven DesignCode & Cannoli - Domain Driven Design
Code & Cannoli - Domain Driven DesignFrank Levering
 
BA and Beyond 20 - Elke Steegmans and David Vandenbroeck - Behaviour-driven d...
BA and Beyond 20 - Elke Steegmans and David Vandenbroeck - Behaviour-driven d...BA and Beyond 20 - Elke Steegmans and David Vandenbroeck - Behaviour-driven d...
BA and Beyond 20 - Elke Steegmans and David Vandenbroeck - Behaviour-driven d...BA and Beyond
 
Ravi_Rajana_Mainframes
Ravi_Rajana_MainframesRavi_Rajana_Mainframes
Ravi_Rajana_MainframesRavi Rajana
 
Test driven development vs Behavior driven development
Test driven development vs Behavior driven developmentTest driven development vs Behavior driven development
Test driven development vs Behavior driven developmentGallop Solutions
 
Domain-Driven Design (Artur Trosin Product Stream)
Domain-Driven Design (Artur Trosin Product Stream)Domain-Driven Design (Artur Trosin Product Stream)
Domain-Driven Design (Artur Trosin Product Stream)IT Arena
 

Semelhante a A study of the characteristics of Behaviour Driven Development (20)

TorontoRb Intro to BDD
TorontoRb   Intro to BDDTorontoRb   Intro to BDD
TorontoRb Intro to BDD
 
Mastering BDD - Eran Kinsbruner Workshop Quest 2018
Mastering BDD - Eran Kinsbruner Workshop Quest 2018Mastering BDD - Eran Kinsbruner Workshop Quest 2018
Mastering BDD - Eran Kinsbruner Workshop Quest 2018
 
Approaching ATDD/BDD
Approaching ATDD/BDDApproaching ATDD/BDD
Approaching ATDD/BDD
 
Bdd with m spec
Bdd with m specBdd with m spec
Bdd with m spec
 
Topic tdd-and-bdd b4usolution
Topic tdd-and-bdd b4usolutionTopic tdd-and-bdd b4usolution
Topic tdd-and-bdd b4usolution
 
BDD presentation
BDD presentationBDD presentation
BDD presentation
 
Myths and Challenges of Behaviour Driven Development
Myths and Challenges of Behaviour Driven DevelopmentMyths and Challenges of Behaviour Driven Development
Myths and Challenges of Behaviour Driven Development
 
Behaviour Driven BizTalk Development
Behaviour Driven BizTalk DevelopmentBehaviour Driven BizTalk Development
Behaviour Driven BizTalk Development
 
Vishwanath_M_CV_NL
Vishwanath_M_CV_NLVishwanath_M_CV_NL
Vishwanath_M_CV_NL
 
Shridhar_Bhat 3.8Years PLSQL
Shridhar_Bhat 3.8Years PLSQLShridhar_Bhat 3.8Years PLSQL
Shridhar_Bhat 3.8Years PLSQL
 
Prathima_Resume
Prathima_ResumePrathima_Resume
Prathima_Resume
 
Code & Cannoli - Domain Driven Design
Code & Cannoli - Domain Driven DesignCode & Cannoli - Domain Driven Design
Code & Cannoli - Domain Driven Design
 
BA and Beyond 20 - Elke Steegmans and David Vandenbroeck - Behaviour-driven d...
BA and Beyond 20 - Elke Steegmans and David Vandenbroeck - Behaviour-driven d...BA and Beyond 20 - Elke Steegmans and David Vandenbroeck - Behaviour-driven d...
BA and Beyond 20 - Elke Steegmans and David Vandenbroeck - Behaviour-driven d...
 
Requirement Types (Razvan Radulian, 2008)
Requirement Types (Razvan Radulian, 2008)Requirement Types (Razvan Radulian, 2008)
Requirement Types (Razvan Radulian, 2008)
 
MSQ_Resume_19092016
MSQ_Resume_19092016MSQ_Resume_19092016
MSQ_Resume_19092016
 
Resume_2015 - Copy
Resume_2015 - CopyResume_2015 - Copy
Resume_2015 - Copy
 
Ravi_Rajana_Mainframes
Ravi_Rajana_MainframesRavi_Rajana_Mainframes
Ravi_Rajana_Mainframes
 
Test driven development vs Behavior driven development
Test driven development vs Behavior driven developmentTest driven development vs Behavior driven development
Test driven development vs Behavior driven development
 
Domain-Driven Design (Artur Trosin Product Stream)
Domain-Driven Design (Artur Trosin Product Stream)Domain-Driven Design (Artur Trosin Product Stream)
Domain-Driven Design (Artur Trosin Product Stream)
 
Sridhar Resume
Sridhar ResumeSridhar Resume
Sridhar Resume
 

Mais de Carlos Solís

Test Driven Development and Quality Improvement
Test Driven Development and Quality ImprovementTest Driven Development and Quality Improvement
Test Driven Development and Quality ImprovementCarlos Solís
 
Multilayer Superimposed Information for Collaborative Annotation in Wikis
Multilayer Superimposed Information for Collaborative Annotation in WikisMultilayer Superimposed Information for Collaborative Annotation in Wikis
Multilayer Superimposed Information for Collaborative Annotation in WikisCarlos Solís
 
Comparing Architecture Description Languages
Comparing Architecture Description LanguagesComparing Architecture Description Languages
Comparing Architecture Description LanguagesCarlos Solís
 
Model Driven Hypermedia Development Method
Model Driven Hypermedia Development MethodModel Driven Hypermedia Development Method
Model Driven Hypermedia Development MethodCarlos Solís
 

Mais de Carlos Solís (6)

Test Driven Development and Quality Improvement
Test Driven Development and Quality ImprovementTest Driven Development and Quality Improvement
Test Driven Development and Quality Improvement
 
Multilayer Superimposed Information for Collaborative Annotation in Wikis
Multilayer Superimposed Information for Collaborative Annotation in WikisMultilayer Superimposed Information for Collaborative Annotation in Wikis
Multilayer Superimposed Information for Collaborative Annotation in Wikis
 
Shy Wiki Tutorial3
Shy Wiki Tutorial3Shy Wiki Tutorial3
Shy Wiki Tutorial3
 
Comparing Architecture Description Languages
Comparing Architecture Description LanguagesComparing Architecture Description Languages
Comparing Architecture Description Languages
 
ShyWiki
ShyWikiShyWiki
ShyWiki
 
Model Driven Hypermedia Development Method
Model Driven Hypermedia Development MethodModel Driven Hypermedia Development Method
Model Driven Hypermedia Development Method
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 

Último (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 

A study of the characteristics of Behaviour Driven Development

  • 1. A Study of the Characteristics of Behaviour Driven Development Carlos Solis and Xiaofeng Wang Carlos.Solis@lero.ie Lero© 2010
  • 2. Contents • • • • • Motivation Research approach Characteristics of BDD Conceptual model of BDD Conclusions & Future Work Lero© 2010
  • 3. Motivation Many developers find themselves confused while using TDD and ATDD in their projects: “programmers wanted to know where to start, what to test and what not to test, how much to test in one go, what to call their tests, and how to understand why a test fails” Lero© 2010
  • 4. Motivation • The BDD approach is still under development. The understanding of BDD is far from clear and unanimous. There is no one well-accepted definition of BDD. • The descriptions of the characteristics of BDD are vague and scattered. • Based on these observations, the main objective of our study is to identify the characteristics of BDD and conceptualize them in an explicit manner. Lero© 2010
  • 6. Research approachBDD toolkits analysed xBehave Family JBehave xSpec Family NBehave RSpec MSpec StoryQ Cucumber SpecFlow Language supported Java C# Ruby C# C# Ruby, Java, Groovy, C#, etc. C# Version analysed 3.1.2 0.4.5 2.3 5.1 2.0.4 0.10.0 1.5 Lero© 2010
  • 7. Identified Characteristics 1. Iterative Decomposition Process 2. Ubiquitous Language 3. Plain Text Description with User Story and Scenario Templates 4. Automated Acceptance Testing with Mapping Rules 5. Readable Behaviour Oriented Specification Code 6. Behavior Driven at Different Phases Lero© 2010
  • 8. Iterative Decomposition Process • It is often difficult for developers to find a starting point to communicate with customers during requirements gathering. • Business value is generally difficult to identify and made explicit. • BDD the analysis starts with identification of the expected behaviours of a system, which are more concrete and easy to identify. • The sytem’s behaviours will be derived from the business outcomes it intends to produce. Business outcomes are then drilled down to feature sets. Lero© 2010
  • 9. User Stories and Scenarios using BDD ubiquitous language and plain text Lero© 2010
  • 10. Automated Acceptance Testing and Readable Behaviour Oriented Specification Code Lero© 2010
  • 11. Behavior Driven at Different Phases • BDD at the initial planning phase, correspond to business outcomes. • At the analysis phase, business outcomes are decomposed into a set of features which capture the behaviour of the targeting system. • BDD is also embodied at the implementation phase. Automated Acceptance testing or specification code is an integral part of the implementation in the BDD approach. Lero© 2010
  • 12. Toolkits BDD characteristics support Support of the BDD Characteristics Ubiquitous language definition Iterative decomposition process Editing plain text User story based on template Scenario template Automated acceptance testing with mapping rules Readable BDD code BDD Planning phases Analysis Implementation Lero© 2010 xBehave Family xSpec Family JBehave NBehave RSpec MSpec StoryQ Cucumber SpecFlow × × √ × × √ × × × × × × × × × × × √ × × √ √ √ × × × √ √ √ √ × × × √ √ √ × √ √ √ × √ √ √ × × √ √ × × √ √ × × √ × × √ x √ × √ √
  • 14. Conclusions • BDD is a combination of a ubiquitous language, TDD and automated acceptance testing. It tries to get the most out of each single approach. • We have identified 6 BDD characteristics through literature review and toolkits analysis. • BDD toolkits studied mainly focused on the implementation phase of a software project and provide limited support to the analysis phase, and none to the planning phase. • We also presented a conceptual model of BDD based on the results of our study, to provide a more explicit and formal description of the BDD concepts and their relationships. Lero© 2010
  • 15. Future Work • One future study could extend an existing BDD toolkit or develop a new one based on the proposed conceptual model. • Another future study could extend and implement additional mapping rules. Lero© 2010

Notas do Editor

  1. A ubiquitous language contains the terms which will be used to define the behaviour of a system. A feature is subsequently realised by user stories. User stories provide the context of the features delivered by a system. What is the role of the user in the user story? What feature does the user want? What benefit can the user gain if the system provides the feature?
  2. BDD suggests that code should be part of the system’s documentation, which is in line with the agile values. Code should be readable, and specification should be part of the code. Testing code is specification code. In BDD all scenarios should be run automatically, which means acceptance criteria should be imported and analysed automatically. The classes implementing the scenarios will read the plain text scenario specifications and execute them.