SlideShare uma empresa Scribd logo
1 de 26
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

Mais conteúdo relacionado

Mais procurados

Behavior-Driven Development (BDD) in context
Behavior-Driven Development (BDD) in contextBehavior-Driven Development (BDD) in context
Behavior-Driven Development (BDD) in contextAlexander Kress
 
BDD WITH CUCUMBER AND JAVA
BDD WITH CUCUMBER AND JAVABDD WITH CUCUMBER AND JAVA
BDD WITH CUCUMBER AND JAVASrinivas Katakam
 
Salesforce CI (Continuous Integration) - SFDX + Bitbucket Pipelines
Salesforce CI (Continuous Integration) - SFDX + Bitbucket PipelinesSalesforce CI (Continuous Integration) - SFDX + Bitbucket Pipelines
Salesforce CI (Continuous Integration) - SFDX + Bitbucket PipelinesAbhinav Gupta
 
CI/CD: Lessons from LinkedIn and Mockito
CI/CD: Lessons from LinkedIn and MockitoCI/CD: Lessons from LinkedIn and Mockito
CI/CD: Lessons from LinkedIn and MockitoC4Media
 
Behavior Driven Development with SpecFlow
Behavior Driven Development with SpecFlowBehavior Driven Development with SpecFlow
Behavior Driven Development with SpecFlowRachid Kherrazi
 
Behaviour Driven Development with SpecFlow
Behaviour Driven Development with SpecFlowBehaviour Driven Development with SpecFlow
Behaviour Driven Development with SpecFlowPascal Laurin
 
The Evolving Role of Build Engineering in Managing Open Source
The Evolving Role of Build Engineering in Managing Open SourceThe Evolving Role of Build Engineering in Managing Open Source
The Evolving Role of Build Engineering in Managing Open SourceDevOps.com
 
Continuous integration & Continuous Delivery @DeVz
Continuous integration & Continuous Delivery @DeVzContinuous integration & Continuous Delivery @DeVz
Continuous integration & Continuous Delivery @DeVzDenis Ristic
 
TDD with BizTalk
TDD with BizTalkTDD with BizTalk
TDD with BizTalkBen Carey
 
Testing and beyond at startups
Testing and beyond at startupsTesting and beyond at startups
Testing and beyond at startupsMona Soni
 
Presentation of agile engineering practices
Presentation of agile engineering practicesPresentation of agile engineering practices
Presentation of agile engineering practicesRoberto Bettazzoni
 
Trunk based development
Trunk based developmentTrunk based development
Trunk based developmentgo_oh
 
Engineering practices within scrum
Engineering practices within scrumEngineering practices within scrum
Engineering practices within scrumSoftServe
 

Mais procurados (19)

Behavior-Driven Development (BDD) in context
Behavior-Driven Development (BDD) in contextBehavior-Driven Development (BDD) in context
Behavior-Driven Development (BDD) in context
 
BDD WITH CUCUMBER AND JAVA
BDD WITH CUCUMBER AND JAVABDD WITH CUCUMBER AND JAVA
BDD WITH CUCUMBER AND JAVA
 
Agile Testing
Agile TestingAgile Testing
Agile Testing
 
Salesforce CI (Continuous Integration) - SFDX + Bitbucket Pipelines
Salesforce CI (Continuous Integration) - SFDX + Bitbucket PipelinesSalesforce CI (Continuous Integration) - SFDX + Bitbucket Pipelines
Salesforce CI (Continuous Integration) - SFDX + Bitbucket Pipelines
 
Xp conf-tbd
Xp conf-tbdXp conf-tbd
Xp conf-tbd
 
Atagg2015 BDD in Test pyramid
Atagg2015  BDD in Test pyramidAtagg2015  BDD in Test pyramid
Atagg2015 BDD in Test pyramid
 
CI/CD: Lessons from LinkedIn and Mockito
CI/CD: Lessons from LinkedIn and MockitoCI/CD: Lessons from LinkedIn and Mockito
CI/CD: Lessons from LinkedIn and Mockito
 
JIRA & Stach, The Love Story
JIRA & Stach, The Love StoryJIRA & Stach, The Love Story
JIRA & Stach, The Love Story
 
Behavior Driven Development with SpecFlow
Behavior Driven Development with SpecFlowBehavior Driven Development with SpecFlow
Behavior Driven Development with SpecFlow
 
Behaviour Driven Development with SpecFlow
Behaviour Driven Development with SpecFlowBehaviour Driven Development with SpecFlow
Behaviour Driven Development with SpecFlow
 
BDD in Action - building software that matters
BDD in Action - building software that mattersBDD in Action - building software that matters
BDD in Action - building software that matters
 
The Evolving Role of Build Engineering in Managing Open Source
The Evolving Role of Build Engineering in Managing Open SourceThe Evolving Role of Build Engineering in Managing Open Source
The Evolving Role of Build Engineering in Managing Open Source
 
Continuous integration & Continuous Delivery @DeVz
Continuous integration & Continuous Delivery @DeVzContinuous integration & Continuous Delivery @DeVz
Continuous integration & Continuous Delivery @DeVz
 
TDD with BizTalk
TDD with BizTalkTDD with BizTalk
TDD with BizTalk
 
Escaping the matrix
Escaping the matrixEscaping the matrix
Escaping the matrix
 
Testing and beyond at startups
Testing and beyond at startupsTesting and beyond at startups
Testing and beyond at startups
 
Presentation of agile engineering practices
Presentation of agile engineering practicesPresentation of agile engineering practices
Presentation of agile engineering practices
 
Trunk based development
Trunk based developmentTrunk based development
Trunk based development
 
Engineering practices within scrum
Engineering practices within scrumEngineering practices within scrum
Engineering practices within scrum
 

Destaque

Rails on rspec plactice
Rails on rspec placticeRails on rspec plactice
Rails on rspec placticek-motoyan
 
Greenhouse Service Network International oktober 2015 2
Greenhouse Service Network International oktober 2015 2Greenhouse Service Network International oktober 2015 2
Greenhouse Service Network International oktober 2015 2Peter de Vreede
 
Thriving with Adult ADHD: The Science of Feeling Good!
Thriving with Adult ADHD: The Science of Feeling Good!Thriving with Adult ADHD: The Science of Feeling Good!
Thriving with Adult ADHD: The Science of Feeling Good!Graeme Dyck
 
Cover Story_IT Var News
Cover Story_IT Var NewsCover Story_IT Var News
Cover Story_IT Var NewsGarima Rai
 
Webinar NETGEAR - Acronis e Netgear per la protezione dei dati - le novità di...
Webinar NETGEAR - Acronis e Netgear per la protezione dei dati - le novità di...Webinar NETGEAR - Acronis e Netgear per la protezione dei dati - le novità di...
Webinar NETGEAR - Acronis e Netgear per la protezione dei dati - le novità di...Netgear Italia
 
Phpでアプリケーションサーバー
PhpでアプリケーションサーバーPhpでアプリケーションサーバー
Phpでアプリケーションサーバーk-motoyan
 
Global Family Office Report 2016
Global Family Office Report 2016Global Family Office Report 2016
Global Family Office Report 2016Korina Markou
 
Effects of Uncontrolled Diabetes
Effects of Uncontrolled DiabetesEffects of Uncontrolled Diabetes
Effects of Uncontrolled Diabeteselleking628
 
Valsa mathew @health care events reporting form
Valsa mathew @health care events reporting formValsa mathew @health care events reporting form
Valsa mathew @health care events reporting formValsa Mathew
 
Maxtron Innovations Company profile
Maxtron Innovations Company profileMaxtron Innovations Company profile
Maxtron Innovations Company profilePrashant Ahirwar
 
Hotel tryp
Hotel trypHotel tryp
Hotel trypRafalNou
 
Experimentos
ExperimentosExperimentos
ExperimentosRafalNou
 

Destaque (17)

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

Semelhante a Agile .NET Development with BDD and Continuous Integration

Continuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applicationsContinuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applicationsSunil Dalal
 
Topic tdd-and-bdd b4usolution
Topic tdd-and-bdd b4usolutionTopic tdd-and-bdd b4usolution
Topic tdd-and-bdd b4usolutionHoa Le
 
mohansundarcv_2016
mohansundarcv_2016mohansundarcv_2016
mohansundarcv_2016mohan sundar
 
Agile Network India | Continuous Integration & Continuous Deployment & Automa...
Agile Network India | Continuous Integration & Continuous Deployment & Automa...Agile Network India | Continuous Integration & Continuous Deployment & Automa...
Agile Network India | Continuous Integration & Continuous Deployment & Automa...AgileNetwork
 
Agile Chennai 2021 | Achieving High DevOps Maturity through Platform Engineer...
Agile Chennai 2021 | Achieving High DevOps Maturity through Platform Engineer...Agile Chennai 2021 | Achieving High DevOps Maturity through Platform Engineer...
Agile Chennai 2021 | Achieving High DevOps Maturity through Platform Engineer...AgileNetwork
 
How Azure DevOps can boost your organization's productivity
How Azure DevOps can boost your organization's productivityHow Azure DevOps can boost your organization's productivity
How Azure DevOps can boost your organization's productivityIvan Porta
 
SmartBear Solutions for Agile & DevOps
SmartBear Solutions for Agile & DevOpsSmartBear Solutions for Agile & DevOps
SmartBear Solutions for Agile & DevOpsSmartBear
 
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValueDevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValueRapidValue
 
Top 25+ .Net development tools for intelligent business solutions - AppsDevPro
Top 25+ .Net development tools for intelligent business solutions - AppsDevProTop 25+ .Net development tools for intelligent business solutions - AppsDevPro
Top 25+ .Net development tools for intelligent business solutions - AppsDevProSofiaCarter4
 
Enterprise DevOps Series: Using VS Code & Zowe
Enterprise DevOps Series: Using VS Code & ZoweEnterprise DevOps Series: Using VS Code & Zowe
Enterprise DevOps Series: Using VS Code & ZoweDevOps.com
 
Continuously Break The Android
Continuously Break The AndroidContinuously Break The Android
Continuously Break The AndroidHasan Hosgel
 
Drupal Continuous Integration and devops - Beyond Jenkins
Drupal Continuous Integration and devops - Beyond JenkinsDrupal Continuous Integration and devops - Beyond Jenkins
Drupal Continuous Integration and devops - Beyond JenkinsPromet Source
 
How Dealogic Scaled Agile &; Delivers Effectively
How Dealogic Scaled Agile &; Delivers EffectivelyHow Dealogic Scaled Agile &; Delivers Effectively
How Dealogic Scaled Agile &; Delivers EffectivelyIrfan Ikram
 
CucumberSeleniumWD
CucumberSeleniumWDCucumberSeleniumWD
CucumberSeleniumWDVikas Sarin
 
DevOps at Lean Apps
DevOps at Lean AppsDevOps at Lean Apps
DevOps at Lean AppsLean Apps
 
Managing Infrastructure as a Product - Introduction to Platform Engineering
Managing Infrastructure as a Product - Introduction to Platform EngineeringManaging Infrastructure as a Product - Introduction to Platform Engineering
Managing Infrastructure as a Product - Introduction to Platform EngineeringAdityo Pratomo
 
Code review automation and functional tests on Carrefour
Code review automation and functional tests on CarrefourCode review automation and functional tests on Carrefour
Code review automation and functional tests on CarrefourDenis Santos
 
xUnit and TDD: Why and How in Enterprise Software, August 2012
xUnit and TDD: Why and How in Enterprise Software, August 2012xUnit and TDD: Why and How in Enterprise Software, August 2012
xUnit and TDD: Why and How in Enterprise Software, August 2012Justin Gordon
 

Semelhante a Agile .NET Development with BDD and Continuous Integration (20)

Continuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applicationsContinuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applications
 
Topic tdd-and-bdd b4usolution
Topic tdd-and-bdd b4usolutionTopic tdd-and-bdd b4usolution
Topic tdd-and-bdd b4usolution
 
mohansundarcv_2016
mohansundarcv_2016mohansundarcv_2016
mohansundarcv_2016
 
Agile Network India | Continuous Integration & Continuous Deployment & Automa...
Agile Network India | Continuous Integration & Continuous Deployment & Automa...Agile Network India | Continuous Integration & Continuous Deployment & Automa...
Agile Network India | Continuous Integration & Continuous Deployment & Automa...
 
Agile Chennai 2021 | Achieving High DevOps Maturity through Platform Engineer...
Agile Chennai 2021 | Achieving High DevOps Maturity through Platform Engineer...Agile Chennai 2021 | Achieving High DevOps Maturity through Platform Engineer...
Agile Chennai 2021 | Achieving High DevOps Maturity through Platform Engineer...
 
How Azure DevOps can boost your organization's productivity
How Azure DevOps can boost your organization's productivityHow Azure DevOps can boost your organization's productivity
How Azure DevOps can boost your organization's productivity
 
SmartBear Solutions for Agile & DevOps
SmartBear Solutions for Agile & DevOpsSmartBear Solutions for Agile & DevOps
SmartBear Solutions for Agile & DevOps
 
Continuous integration
Continuous integration Continuous integration
Continuous integration
 
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValueDevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
 
TDD - Agile
TDD - Agile TDD - Agile
TDD - Agile
 
Top 25+ .Net development tools for intelligent business solutions - AppsDevPro
Top 25+ .Net development tools for intelligent business solutions - AppsDevProTop 25+ .Net development tools for intelligent business solutions - AppsDevPro
Top 25+ .Net development tools for intelligent business solutions - AppsDevPro
 
Enterprise DevOps Series: Using VS Code & Zowe
Enterprise DevOps Series: Using VS Code & ZoweEnterprise DevOps Series: Using VS Code & Zowe
Enterprise DevOps Series: Using VS Code & Zowe
 
Continuously Break The Android
Continuously Break The AndroidContinuously Break The Android
Continuously Break The Android
 
Drupal Continuous Integration and devops - Beyond Jenkins
Drupal Continuous Integration and devops - Beyond JenkinsDrupal Continuous Integration and devops - Beyond Jenkins
Drupal Continuous Integration and devops - Beyond Jenkins
 
How Dealogic Scaled Agile &; Delivers Effectively
How Dealogic Scaled Agile &; Delivers EffectivelyHow Dealogic Scaled Agile &; Delivers Effectively
How Dealogic Scaled Agile &; Delivers Effectively
 
CucumberSeleniumWD
CucumberSeleniumWDCucumberSeleniumWD
CucumberSeleniumWD
 
DevOps at Lean Apps
DevOps at Lean AppsDevOps at Lean Apps
DevOps at Lean Apps
 
Managing Infrastructure as a Product - Introduction to Platform Engineering
Managing Infrastructure as a Product - Introduction to Platform EngineeringManaging Infrastructure as a Product - Introduction to Platform Engineering
Managing Infrastructure as a Product - Introduction to Platform Engineering
 
Code review automation and functional tests on Carrefour
Code review automation and functional tests on CarrefourCode review automation and functional tests on Carrefour
Code review automation and functional tests on Carrefour
 
xUnit and TDD: Why and How in Enterprise Software, August 2012
xUnit and TDD: Why and How in Enterprise Software, August 2012xUnit and TDD: Why and How in Enterprise Software, August 2012
xUnit and TDD: Why and How in Enterprise Software, August 2012
 

Último

Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfOverkill Security
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
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
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
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
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 

Último (20)

Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
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
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
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...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 

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