SlideShare a Scribd company logo
Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group
Hanoi .NET Group – Meetup #6
Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group
Introduction to BDD – Behavior Driven Development
Introduction to Specification by Example
Introduction to CI – Continuous Integration
Practices of Continuous Integration
Tools to Use
Demos
What’s Next
Q&A
Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group
Behavior-driven development (BDD) is a software
development process that emerged from test-driven
development (TDD).
While in TDD the focus is on writing tests that single
out units of the application, BDD is focused on writing
tests on the behavior of the application.
Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group
BDD style testing framework
xBehave
Writing user level stories in a form comprehensible by anyone.
Typically use a story defined in a DSL close to English and then map
this story to a test written in code by the developers.
Well-known example: SpecFlow, NBehave
xSpec
Writing tests in code using an approach that favors testing behavior
and functionality by developers .
Usually closer to unit tests in both appearance and granularity but
feature some differences.
Well-known example: Nspec, StoryQ
Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group
#BDD in a tweet:
Using examples at multiple levels to create a shared
understanding and surface uncertainly to deliver software
that matters
Dan North @tastapod
Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group
#BDD in a tweet:
Using examples at multiple levels to create a shared
understanding and surface uncertainly to deliver software
that matters
Dan North @tastapod
Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group
#BDD in a tweet:
Using examples at multiple levels to create a shared
understanding and surface uncertainly to deliver software
that matters
Dan North @tastapod
Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group
#BDD in a tweet:
Using examples at multiple levels to create a shared
understanding and surface uncertainly to deliver software
that matters
Dan North @tastapod
Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group
Wikipedia
Specification by example (SBE) is a collaborative approach to
defining requirements and business-oriented functional
tests for software products based on capturing and
illustrating requirements using realistic examples instead of
abstract statements
Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group
Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group
Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group
Continuous Integration is a software development
practice where members of a team integrate their
work frequently, usually each person integrates at least
daily - leading to multiple integrations per day.
Each integration is verified by an automated build
(including test) to detect integration errors as quickly
as possible.
Many teams find that this approach leads to
significantly reduced integration problems and allows a
team to develop cohesive software more rapidly
(Source: http://www.martinfowler.com/articles/continuousIntegration.html)
Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group
Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group
Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group
Build
Quality
Management
Development
Continuous
Integration
1 - Maintain a Single Source Repository
4 - Everyone Commits To the Mainline Every Day
5 - Every Commit Should Build the Mainline on an Integration Machine
2 - Automate the Build
3 - Make Your Build Self-Testing
6 - Fix Broken Builds Immediately
7 - Keep the Build Fast
8 - Test in a Clone of the Production Environment
9 - Make it Easy for Anyone to Get the Latest Executable
10 - Everyone can see what’s happening
(Source: http://www.martinfowler.com/articles/continuousIntegration.html)
Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group
Git is a free and open source distributed version
control system designed to handle everything from
small to very large projects with speed and efficiency
Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group
Git Workflow
(Source: A successful Git branching model – Vincent Driessen)
Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group
Jenkins CI
Jenkins is an open source continuous integration tool written in Java.
The project was forked from Hudson after a dispute with Oracle.
Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group
Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group
SonarQube
SonarQube is an open source quality management platform, dedicated
to continuously analyze and measure source code quality.
Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group
(Source: http://nemo.sonarqube.org/)
Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group
Continuous Integration and Delivery
Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group
Continuous Integration and Delivery with Docker
Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group
Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group
Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group

More Related Content

PDF
Behavior driven development. Testing drupal using behat
ODP
Introduction to BDD
PDF
Spec(ing) Out Your Workflow with SpecFlow
PDF
PPTX
Gradle: One technology to build them all
PDF
Successfully Implementing BDD in an Agile World
PDF
NDC 2011 - SpecFlow: Pragmatic BDD for .NET
PDF
EGit and Gerrit Code Review - Eclipse DemoCamp Bonn - 2010-11-16
Behavior driven development. Testing drupal using behat
Introduction to BDD
Spec(ing) Out Your Workflow with SpecFlow
Gradle: One technology to build them all
Successfully Implementing BDD in an Agile World
NDC 2011 - SpecFlow: Pragmatic BDD for .NET
EGit and Gerrit Code Review - Eclipse DemoCamp Bonn - 2010-11-16

What's hot (19)

PPTX
Behavior-Driven Development (BDD) in context
PPTX
BDD WITH CUCUMBER AND JAVA
PDF
Agile Testing
PPTX
Salesforce CI (Continuous Integration) - SFDX + Bitbucket Pipelines
PPTX
Xp conf-tbd
PDF
Atagg2015 BDD in Test pyramid
PDF
CI/CD: Lessons from LinkedIn and Mockito
PPTX
JIRA & Stach, The Love Story
PDF
Behavior Driven Development with SpecFlow
PPTX
Behaviour Driven Development with SpecFlow
PDF
BDD in Action - building software that matters
PDF
The Evolving Role of Build Engineering in Managing Open Source
PDF
Continuous integration & Continuous Delivery @DeVz
PPT
TDD with BizTalk
PDF
Escaping the matrix
PPT
Testing and beyond at startups
PDF
Presentation of agile engineering practices
PDF
Trunk based development
PPTX
Engineering practices within scrum
Behavior-Driven Development (BDD) in context
BDD WITH CUCUMBER AND JAVA
Agile Testing
Salesforce CI (Continuous Integration) - SFDX + Bitbucket Pipelines
Xp conf-tbd
Atagg2015 BDD in Test pyramid
CI/CD: Lessons from LinkedIn and Mockito
JIRA & Stach, The Love Story
Behavior Driven Development with SpecFlow
Behaviour Driven Development with SpecFlow
BDD in Action - building software that matters
The Evolving Role of Build Engineering in Managing Open Source
Continuous integration & Continuous Delivery @DeVz
TDD with BizTalk
Escaping the matrix
Testing and beyond at startups
Presentation of agile engineering practices
Trunk based development
Engineering practices within scrum
Ad

Viewers also liked (17)

PPTX
Rails on rspec plactice
DOC
Greenhouse Service Network International oktober 2015 2
PPTX
PPTX
Thriving with Adult ADHD: The Science of Feeling Good!
PDF
PDF
Cover Story_IT Var News
PDF
Webinar NETGEAR - Acronis e Netgear per la protezione dei dati - le novità di...
PDF
Phpでアプリケーションサーバー
PDF
MM-OWG operator
PDF
Global Family Office Report 2016
PDF
Effects of Uncontrolled Diabetes
PDF
İnovatif Kimya Dergisi Sayı-17
PPTX
Act3 hepn
PPT
Valsa mathew @health care events reporting form
PDF
Maxtron Innovations Company profile
PDF
Hotel tryp
PDF
Experimentos
Rails on rspec plactice
Greenhouse Service Network International oktober 2015 2
Thriving with Adult ADHD: The Science of Feeling Good!
Cover Story_IT Var News
Webinar NETGEAR - Acronis e Netgear per la protezione dei dati - le novità di...
Phpでアプリケーションサーバー
MM-OWG operator
Global Family Office Report 2016
Effects of Uncontrolled Diabetes
İnovatif Kimya Dergisi Sayı-17
Act3 hepn
Valsa mathew @health care events reporting form
Maxtron Innovations Company profile
Hotel tryp
Experimentos
Ad

Similar to Agile .NET Development with BDD and Continuous Integration (20)

PDF
How BDD enables True CI/CD
ODP
Moving to tdd bdd
PPTX
Topic tdd-and-bdd b4usolution
PPTX
Wednesday Webinar on "Strengthening your Agility with BDD - A demo using Cucu...
PDF
PMI-ACP Lesson 06 Quality
PDF
Bdd agile requirements
PDF
Agile A to Z Chapter 4 Feedback Loop Part 2 DevOps
PDF
Mastering BDD - Eran Kinsbruner Workshop Quest 2018
PPTX
Behavior Driven Development
PDF
Lean Mean & Agile 2009
PPTX
Introduction to Continuous Delivery (BBWorld/DevCon 2013)
PPTX
Agile a to z chapter 4 feedback loop
PDF
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
PDF
Enter the mind of an Agile Developer
PDF
Behavior Driven Development—A Guide to Agile Practices
PPTX
SpecFlow Executable Specifications
PPT
Continous integration-leon-kehl-2010
PPTX
Chapter 2 - Testing in Agile
PDF
An introduction to Behavior-Driven Development (BDD)
PPTX
Test Driven Development & CI/CD
How BDD enables True CI/CD
Moving to tdd bdd
Topic tdd-and-bdd b4usolution
Wednesday Webinar on "Strengthening your Agility with BDD - A demo using Cucu...
PMI-ACP Lesson 06 Quality
Bdd agile requirements
Agile A to Z Chapter 4 Feedback Loop Part 2 DevOps
Mastering BDD - Eran Kinsbruner Workshop Quest 2018
Behavior Driven Development
Lean Mean & Agile 2009
Introduction to Continuous Delivery (BBWorld/DevCon 2013)
Agile a to z chapter 4 feedback loop
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
Enter the mind of an Agile Developer
Behavior Driven Development—A Guide to Agile Practices
SpecFlow Executable Specifications
Continous integration-leon-kehl-2010
Chapter 2 - Testing in Agile
An introduction to Behavior-Driven Development (BDD)
Test Driven Development & CI/CD

Recently uploaded (20)

PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
GamePlan Trading System Review: Professional Trader's Honest Take
PDF
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Electronic commerce courselecture one. Pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
CIFDAQ's Market Wrap: Ethereum Leads, Bitcoin Lags, Institutions Shift
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
How Onsite IT Support Drives Business Efficiency, Security, and Growth.pdf
PDF
AI And Its Effect On The Evolving IT Sector In Australia - Elevate
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
cuic standard and advanced reporting.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
NewMind AI Monthly Chronicles - July 2025
GamePlan Trading System Review: Professional Trader's Honest Take
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
NewMind AI Weekly Chronicles - August'25 Week I
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Electronic commerce courselecture one. Pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
The Rise and Fall of 3GPP – Time for a Sabbatical?
Reach Out and Touch Someone: Haptics and Empathic Computing
MYSQL Presentation for SQL database connectivity
20250228 LYD VKU AI Blended-Learning.pptx
CIFDAQ's Market Wrap: Ethereum Leads, Bitcoin Lags, Institutions Shift
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
How Onsite IT Support Drives Business Efficiency, Security, and Growth.pdf
AI And Its Effect On The Evolving IT Sector In Australia - Elevate
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Diabetes mellitus diagnosis method based random forest with bat algorithm
cuic standard and advanced reporting.pdf

Agile .NET Development with BDD and Continuous Integration

  • 1. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group Hanoi .NET Group – Meetup #6
  • 2. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group Introduction to BDD – Behavior Driven Development Introduction to Specification by Example Introduction to CI – Continuous Integration Practices of Continuous Integration Tools to Use Demos What’s Next Q&A
  • 3. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group Behavior-driven development (BDD) is a software development process that emerged from test-driven development (TDD). While in TDD the focus is on writing tests that single out units of the application, BDD is focused on writing tests on the behavior of the application.
  • 4. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group BDD style testing framework xBehave Writing user level stories in a form comprehensible by anyone. Typically use a story defined in a DSL close to English and then map this story to a test written in code by the developers. Well-known example: SpecFlow, NBehave xSpec Writing tests in code using an approach that favors testing behavior and functionality by developers . Usually closer to unit tests in both appearance and granularity but feature some differences. Well-known example: Nspec, StoryQ
  • 5. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group #BDD in a tweet: Using examples at multiple levels to create a shared understanding and surface uncertainly to deliver software that matters Dan North @tastapod
  • 6. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group #BDD in a tweet: Using examples at multiple levels to create a shared understanding and surface uncertainly to deliver software that matters Dan North @tastapod
  • 7. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group #BDD in a tweet: Using examples at multiple levels to create a shared understanding and surface uncertainly to deliver software that matters Dan North @tastapod
  • 8. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group #BDD in a tweet: Using examples at multiple levels to create a shared understanding and surface uncertainly to deliver software that matters Dan North @tastapod
  • 9. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group Wikipedia Specification by example (SBE) is a collaborative approach to defining requirements and business-oriented functional tests for software products based on capturing and illustrating requirements using realistic examples instead of abstract statements
  • 10. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group
  • 11. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group
  • 12. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly (Source: http://www.martinfowler.com/articles/continuousIntegration.html)
  • 13. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group
  • 14. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group
  • 15. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group Build Quality Management Development Continuous Integration 1 - Maintain a Single Source Repository 4 - Everyone Commits To the Mainline Every Day 5 - Every Commit Should Build the Mainline on an Integration Machine 2 - Automate the Build 3 - Make Your Build Self-Testing 6 - Fix Broken Builds Immediately 7 - Keep the Build Fast 8 - Test in a Clone of the Production Environment 9 - Make it Easy for Anyone to Get the Latest Executable 10 - Everyone can see what’s happening (Source: http://www.martinfowler.com/articles/continuousIntegration.html)
  • 16. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency
  • 17. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group Git Workflow (Source: A successful Git branching model – Vincent Driessen)
  • 18. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group Jenkins CI Jenkins is an open source continuous integration tool written in Java. The project was forked from Hudson after a dispute with Oracle.
  • 19. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group
  • 20. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group SonarQube SonarQube is an open source quality management platform, dedicated to continuously analyze and measure source code quality.
  • 21. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group (Source: http://nemo.sonarqube.org/)
  • 22. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group Continuous Integration and Delivery
  • 23. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group Continuous Integration and Delivery with Docker
  • 24. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group
  • 25. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group
  • 26. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group