SlideShare a Scribd company logo
1 of 25
Connected Systems Consulting Ltd

Behavior Driven BizTalk Development
Who am I?
Michael Stephenson
–

UK-Based Freelance Consultant specializing in:
•
•
•

BizTalk
Windows Azure
Integration

–

Was BizTalk MVP now a Microsoft Integration MVP for 5+ years

–

One of organizers of UK Connected Systems User Group

–

Blog: www.geekswithblogs.net/michaelstephenson

–

Twitter: @michael_Stephen

–

Linked In: http://www.linkedin.com/in/michaelstephensonuk1

Connected Systems Consulting Ltd
Agenda
•
•
•
•
•
•

BDD 101
How can BDD help BizTalk projects
Simple Specflow Example
Detailed BizTalk Example
Limitations
Discussion

Connected Systems Consulting Ltd
Setting the scene
•

Small integration team with a number of BizTalk and other integration projects or
varying sizes and flavours

•

Team already has fairly mature development processes

•

Growth in new projects and team size and complexity of projects

•

As a team we wanted to look at bringing in any new practices which we felt will help
us be more effective

•

How people use BDD in the .net world is something we have been looking at

Connected Systems Consulting Ltd
What is BDD
•

Behaviour Driven Development

•

Agile software development technique

•

Extends the idea of test driven development

•

Create a clear understanding of the behaviour of the software

•

Common language with the business

•

Is not a replacement for unit testing

Connected Systems Consulting Ltd
BDD 101
Gherkins & Cucumbers
• Cucumber
– A ruby tool that lets you specify a behaviour in terms of Given/When/Then

• The language/syntax is called Gherkin
• You define your behaviour in a “feature file” using the Gherkin language
• In .net world SpecFlow is a tool that lets us do the same thing (there are a
couple of others)

Connected Systems Consulting Ltd
Example Behaviour
Why is the feature
important

Who cares about
the feature

What are we
trying to do

Prerequisites
The
trigger

What should
happen
Key Points
Key Point

Description

Business Value

Identifying why a feature is needed helps
determine if its important

Scenarios

A feature can have multiple scenarios

Given/When/Then

Gives us an easy way to describe what
will happening a domain language the
business will understand

Development

We write code to implement the
behaviour

Connected Systems Consulting Ltd
HOW CAN BDD HELP BIZTALK PROJECTS?
Common Challenges
Area

Challenges

Requirements

X - Its difficult to capture effective requirements in enough detail
X – Its difficult the manage and communicate change in requirements
X – Its difficult to ensure the requirements that are in a release of code

Documentation

X – Documentation is often out of data
X – Documentation rarely matches what is deployed
X – Documentation is often big

Testing

X – Tests are often too technical to easily correlate to requirements
X – Its difficult to prove the software does what its supposed to

Connected Systems Consulting Ltd
An Example of current tests
• Tests are difficult to explain
to non technical people
• Tests are difficult to
understand if you don’t
understand the business
domain
• Its easy to read the
implementation but
difficult to understand the
intention of parts of a test
Initial thoughts
•

Can Gherkin help us define what we need to do?

•

Can the features describing behaviour become documentation?

•

Can we use the behaviours to help test BizTalk?

Connected Systems Consulting Ltd
Introducing SpecFlow
•

Specflow is a .net BDD framework

•

Define features and scenarios in Visual Studio using the Gherkin language

•

Features defined can become testable using SpecFlow

•

Specflow tests are acceptance tests

Connected Systems Consulting Ltd
What about BizUnit?
•

BizUnit is great at:
– Execution of tests
– Framework of test steps

•

BizUnit struggles often at:
– Helping you understand the intention of the test
– Tests are too techy

•

SpecFlow creates an abstraction between the intention and implementation of a
test

Connected Systems Consulting Ltd
Abstraction in the test

Gherkin

Specflow
Test Definition

BizUnit
Test Implementation
SIMPLE SPECFLOW EXAMPLE
DETAILED BIZTALK EXAMPLE
LIMITATIONS
Challenges
•

BizUnitOM is a little tricky & some test steps need to add implementation of
ITestStepOM.

•

SpecFlow after scenario cant be used to fire the test (use a final Then)

•

At present some BizUnit steps cant be ran without being in a BizUnit test so we
need to build up the BizUnit test then execute it

Connected Systems Consulting Ltd
SUMMARY
Common Challenges
Area

Challenges

Requirements

R - Requirements can be easily defined using Given/When/Then
R – Requirements are close to the code so easier to manage as features and scenarios
R – Requirements are defined in domain language

Documentation

R
R
R
R

Testing

R
R

- The

feature files can be used as part of the documentation

- The documentation is
-

accurate to the build of code and can be published with a release

The scenarios are effective to document the scenarios and are not over excessive

- The

scenarios are maintained with the code

- There’s
- The

an abstraction between the intention and implementation of tests making them easier to understand

requirements drive the testing

Connected Systems Consulting Ltd
Summary
“We have a well established integration capability with a mature ALM process, however Behaviour Driven
Development and SpecFlow is very interesting to us because it offers ways to simplify some of our current
pain points in the ALM process and make us more effective”
Would it help you?

Connected Systems Consulting Ltd
More Info

Source/Article

Link

SpecFlow

http://www.specflow.org/

Testing example with CAT
framework webcast

http://www.cloudcasts.net/ViewWebcast.aspx?webcastid=252102814503
7920619
Questions?

More Related Content

What's hot

FiSTB - agile testing
FiSTB - agile testingFiSTB - agile testing
FiSTB - agile testingKari Kakkonen
 
A glance at a scrum team in real software company
A glance at a scrum team in real software companyA glance at a scrum team in real software company
A glance at a scrum team in real software companyPin-Ying Tu
 
Integrating Hardware (Waterfall) and Software (Agile) Development
Integrating Hardware (Waterfall) and Software (Agile) DevelopmentIntegrating Hardware (Waterfall) and Software (Agile) Development
Integrating Hardware (Waterfall) and Software (Agile) DevelopmentIntland Software GmbH
 
The role of the architect in agile
The role of the architect in agileThe role of the architect in agile
The role of the architect in agileDror Helper
 
How To Review The Sprints Efficiently
How To Review The Sprints EfficientlyHow To Review The Sprints Efficiently
How To Review The Sprints EfficientlyLemi Orhan Ergin
 
Agility via Software Engineering Practices - Agile Tour Montreal 2015
Agility via Software Engineering Practices - Agile Tour Montreal 2015Agility via Software Engineering Practices - Agile Tour Montreal 2015
Agility via Software Engineering Practices - Agile Tour Montreal 2015Steve Mercier
 
Agile Testing – Is it for me and how are others doing it?
Agile Testing – Is it for me and how are others doing it?Agile Testing – Is it for me and how are others doing it?
Agile Testing – Is it for me and how are others doing it?Alexander Tarlinder
 
Going the Next Step? Agile Values and Hardware Development by Urs Boehm
Going the Next Step? Agile Values and Hardware Development by Urs BoehmGoing the Next Step? Agile Values and Hardware Development by Urs Boehm
Going the Next Step? Agile Values and Hardware Development by Urs BoehmPeter Stevens
 
Working with software architects - advice to project managers
Working with software architects - advice to project managersWorking with software architects - advice to project managers
Working with software architects - advice to project managersYaniv Pessach
 
Testing and DevOps Culture: Lessons Learned
Testing and DevOps Culture: Lessons LearnedTesting and DevOps Culture: Lessons Learned
Testing and DevOps Culture: Lessons LearnedLB Denker
 
Enter the mind of an Agile Developer
Enter the mind of an Agile DeveloperEnter the mind of an Agile Developer
Enter the mind of an Agile DeveloperBSGAfrica
 
Software Craftsmanship - It's an Imperative
Software Craftsmanship - It's an ImperativeSoftware Craftsmanship - It's an Imperative
Software Craftsmanship - It's an ImperativeFadi Stephan
 
Scrum Plus Extreme Programming (XP) for Hyper Productivity
Scrum Plus Extreme Programming (XP) for Hyper ProductivityScrum Plus Extreme Programming (XP) for Hyper Productivity
Scrum Plus Extreme Programming (XP) for Hyper ProductivityRon Quartel
 
Audrys Kažukauskas - Introduction into Extreme Programming
Audrys Kažukauskas - Introduction into Extreme ProgrammingAudrys Kažukauskas - Introduction into Extreme Programming
Audrys Kažukauskas - Introduction into Extreme ProgrammingAgile Lietuva
 
Integrating SDLC, DevOps, and ITSM
Integrating SDLC, DevOps, and ITSMIntegrating SDLC, DevOps, and ITSM
Integrating SDLC, DevOps, and ITSMBeyond20
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Developmentnikhil sreeni
 
Automated agile testing using Cucumber
Automated agile testing using CucumberAutomated agile testing using Cucumber
Automated agile testing using CucumberNaveen Kumar Singh
 

What's hot (20)

FiSTB - agile testing
FiSTB - agile testingFiSTB - agile testing
FiSTB - agile testing
 
A glance at a scrum team in real software company
A glance at a scrum team in real software companyA glance at a scrum team in real software company
A glance at a scrum team in real software company
 
Integrating Hardware (Waterfall) and Software (Agile) Development
Integrating Hardware (Waterfall) and Software (Agile) DevelopmentIntegrating Hardware (Waterfall) and Software (Agile) Development
Integrating Hardware (Waterfall) and Software (Agile) Development
 
The role of the architect in agile
The role of the architect in agileThe role of the architect in agile
The role of the architect in agile
 
How To Review The Sprints Efficiently
How To Review The Sprints EfficientlyHow To Review The Sprints Efficiently
How To Review The Sprints Efficiently
 
Agility via Software Engineering Practices - Agile Tour Montreal 2015
Agility via Software Engineering Practices - Agile Tour Montreal 2015Agility via Software Engineering Practices - Agile Tour Montreal 2015
Agility via Software Engineering Practices - Agile Tour Montreal 2015
 
Agile Testing – Is it for me and how are others doing it?
Agile Testing – Is it for me and how are others doing it?Agile Testing – Is it for me and how are others doing it?
Agile Testing – Is it for me and how are others doing it?
 
Going the Next Step? Agile Values and Hardware Development by Urs Boehm
Going the Next Step? Agile Values and Hardware Development by Urs BoehmGoing the Next Step? Agile Values and Hardware Development by Urs Boehm
Going the Next Step? Agile Values and Hardware Development by Urs Boehm
 
Working with software architects - advice to project managers
Working with software architects - advice to project managersWorking with software architects - advice to project managers
Working with software architects - advice to project managers
 
Dev ops
Dev opsDev ops
Dev ops
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
Testing and DevOps Culture: Lessons Learned
Testing and DevOps Culture: Lessons LearnedTesting and DevOps Culture: Lessons Learned
Testing and DevOps Culture: Lessons Learned
 
Enter the mind of an Agile Developer
Enter the mind of an Agile DeveloperEnter the mind of an Agile Developer
Enter the mind of an Agile Developer
 
Agile engineering practices
Agile engineering practicesAgile engineering practices
Agile engineering practices
 
Software Craftsmanship - It's an Imperative
Software Craftsmanship - It's an ImperativeSoftware Craftsmanship - It's an Imperative
Software Craftsmanship - It's an Imperative
 
Scrum Plus Extreme Programming (XP) for Hyper Productivity
Scrum Plus Extreme Programming (XP) for Hyper ProductivityScrum Plus Extreme Programming (XP) for Hyper Productivity
Scrum Plus Extreme Programming (XP) for Hyper Productivity
 
Audrys Kažukauskas - Introduction into Extreme Programming
Audrys Kažukauskas - Introduction into Extreme ProgrammingAudrys Kažukauskas - Introduction into Extreme Programming
Audrys Kažukauskas - Introduction into Extreme Programming
 
Integrating SDLC, DevOps, and ITSM
Integrating SDLC, DevOps, and ITSMIntegrating SDLC, DevOps, and ITSM
Integrating SDLC, DevOps, and ITSM
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Automated agile testing using Cucumber
Automated agile testing using CucumberAutomated agile testing using Cucumber
Automated agile testing using Cucumber
 

Similar to Behaviour Driven BizTalk Development

Prashant technical practices-tdd for xebia event
Prashant   technical practices-tdd for xebia eventPrashant   technical practices-tdd for xebia event
Prashant technical practices-tdd for xebia eventXebia India
 
Automated Testing for BizTalk HL7 Solutions
Automated Testing for BizTalk HL7 SolutionsAutomated Testing for BizTalk HL7 Solutions
Automated Testing for BizTalk HL7 SolutionsMichael Stephenson
 
Webinar: 5 Clear Steps to Get Your Nonprofit Cloud Ready - 2018-5-31
Webinar: 5 Clear Steps to Get Your Nonprofit Cloud Ready - 2018-5-31Webinar: 5 Clear Steps to Get Your Nonprofit Cloud Ready - 2018-5-31
Webinar: 5 Clear Steps to Get Your Nonprofit Cloud Ready - 2018-5-31TechSoup
 
TDD with BizTalk
TDD with BizTalkTDD with BizTalk
TDD with BizTalkBen Carey
 
Microservices
MicroservicesMicroservices
MicroservicesPT.JUG
 
"X" Driven-Development Methodologies
"X" Driven-Development Methodologies"X" Driven-Development Methodologies
"X" Driven-Development MethodologiesDamian T. Gordon
 
Microservices at Scale: How to Reduce Overhead and Increase Developer Product...
Microservices at Scale: How to Reduce Overhead and Increase Developer Product...Microservices at Scale: How to Reduce Overhead and Increase Developer Product...
Microservices at Scale: How to Reduce Overhead and Increase Developer Product...DevOps.com
 
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareLessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareDevOps for Enterprise Systems
 
Technical stories v1.2
Technical stories v1.2Technical stories v1.2
Technical stories v1.2Jim Brisson
 
Acceptance Test Driven Development
Acceptance Test Driven DevelopmentAcceptance Test Driven Development
Acceptance Test Driven DevelopmentMike Douglas
 
iSQI Certification Days DASA – DevOps & ISTQB Frank Frambach
iSQI Certification Days DASA – DevOps & ISTQB Frank FrambachiSQI Certification Days DASA – DevOps & ISTQB Frank Frambach
iSQI Certification Days DASA – DevOps & ISTQB Frank FrambachIevgenii Katsan
 
Measure and Accelerate Your Software Delivery
Measure and Accelerate Your Software DeliveryMeasure and Accelerate Your Software Delivery
Measure and Accelerate Your Software DeliveryAnand Chauhan
 
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
 
Mobile Code Optimisation Services
Mobile Code Optimisation ServicesMobile Code Optimisation Services
Mobile Code Optimisation ServicesRaja Nagendra Kumar
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous IntegrationXPDays
 
Unexpected benefits of .net development outsourcing. 2
Unexpected benefits of .net development outsourcing. 2Unexpected benefits of .net development outsourcing. 2
Unexpected benefits of .net development outsourcing. 2AnupamSingh211
 
Dev0PS online Training in Hyderabad
Dev0PS  online Training  in HyderabadDev0PS  online Training  in Hyderabad
Dev0PS online Training in HyderabadVijayVijji8
 
Best devops training in Hyderabad
Best devops training in HyderabadBest devops training in Hyderabad
Best devops training in HyderabadKumarNaik21
 
Dev ops online training ppt
Dev ops online training pptDev ops online training ppt
Dev ops online training pptSayyedYusufali
 

Similar to Behaviour Driven BizTalk Development (20)

Prashant technical practices-tdd for xebia event
Prashant   technical practices-tdd for xebia eventPrashant   technical practices-tdd for xebia event
Prashant technical practices-tdd for xebia event
 
Automated Testing for BizTalk HL7 Solutions
Automated Testing for BizTalk HL7 SolutionsAutomated Testing for BizTalk HL7 Solutions
Automated Testing for BizTalk HL7 Solutions
 
Webinar: 5 Clear Steps to Get Your Nonprofit Cloud Ready - 2018-5-31
Webinar: 5 Clear Steps to Get Your Nonprofit Cloud Ready - 2018-5-31Webinar: 5 Clear Steps to Get Your Nonprofit Cloud Ready - 2018-5-31
Webinar: 5 Clear Steps to Get Your Nonprofit Cloud Ready - 2018-5-31
 
TDD with BizTalk
TDD with BizTalkTDD with BizTalk
TDD with BizTalk
 
Microservices
MicroservicesMicroservices
Microservices
 
"X" Driven-Development Methodologies
"X" Driven-Development Methodologies"X" Driven-Development Methodologies
"X" Driven-Development Methodologies
 
Microservices at Scale: How to Reduce Overhead and Increase Developer Product...
Microservices at Scale: How to Reduce Overhead and Increase Developer Product...Microservices at Scale: How to Reduce Overhead and Increase Developer Product...
Microservices at Scale: How to Reduce Overhead and Increase Developer Product...
 
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareLessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
 
Technical stories v1.2
Technical stories v1.2Technical stories v1.2
Technical stories v1.2
 
Acceptance Test Driven Development
Acceptance Test Driven DevelopmentAcceptance Test Driven Development
Acceptance Test Driven Development
 
iSQI Certification Days DASA – DevOps & ISTQB Frank Frambach
iSQI Certification Days DASA – DevOps & ISTQB Frank FrambachiSQI Certification Days DASA – DevOps & ISTQB Frank Frambach
iSQI Certification Days DASA – DevOps & ISTQB Frank Frambach
 
Measure and Accelerate Your Software Delivery
Measure and Accelerate Your Software DeliveryMeasure and Accelerate Your Software Delivery
Measure and Accelerate Your Software Delivery
 
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...
 
Mobile Code Optimisation Services
Mobile Code Optimisation ServicesMobile Code Optimisation Services
Mobile Code Optimisation Services
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Unexpected benefits of .net development outsourcing. 2
Unexpected benefits of .net development outsourcing. 2Unexpected benefits of .net development outsourcing. 2
Unexpected benefits of .net development outsourcing. 2
 
Devops training
Devops trainingDevops training
Devops training
 
Dev0PS online Training in Hyderabad
Dev0PS  online Training  in HyderabadDev0PS  online Training  in Hyderabad
Dev0PS online Training in Hyderabad
 
Best devops training in Hyderabad
Best devops training in HyderabadBest devops training in Hyderabad
Best devops training in Hyderabad
 
Dev ops online training ppt
Dev ops online training pptDev ops online training ppt
Dev ops online training ppt
 

More from Michael Stephenson

LeedsSharp May 2023 - Azure Integration Services
LeedsSharp May 2023 - Azure Integration ServicesLeedsSharp May 2023 - Azure Integration Services
LeedsSharp May 2023 - Azure Integration ServicesMichael Stephenson
 
Azure enterprise integration platform
Azure enterprise integration platformAzure enterprise integration platform
Azure enterprise integration platformMichael Stephenson
 
How to tactically avoid boring work with Power Automate
How to tactically avoid boring work with Power AutomateHow to tactically avoid boring work with Power Automate
How to tactically avoid boring work with Power AutomateMichael Stephenson
 
Tech UG - Newcastle 09-17 - logic apps
Tech UG - Newcastle 09-17 -   logic appsTech UG - Newcastle 09-17 -   logic apps
Tech UG - Newcastle 09-17 - logic appsMichael Stephenson
 
2 speed it powered by microsoft azure
2 speed it powered by microsoft azure2 speed it powered by microsoft azure
2 speed it powered by microsoft azureMichael Stephenson
 
SharePoint User Group - Leeds - 2015-09-02
SharePoint User Group - Leeds - 2015-09-02SharePoint User Group - Leeds - 2015-09-02
SharePoint User Group - Leeds - 2015-09-02Michael Stephenson
 
BTUG - Dec 2014 - Hybrid Connectivity Options
BTUG - Dec 2014 - Hybrid Connectivity OptionsBTUG - Dec 2014 - Hybrid Connectivity Options
BTUG - Dec 2014 - Hybrid Connectivity OptionsMichael Stephenson
 
Uk user group biz talk performance deepdive
Uk user group   biz talk performance deepdiveUk user group   biz talk performance deepdive
Uk user group biz talk performance deepdiveMichael Stephenson
 
AppFx.ServiceBus - Simple Messaging with Windows Azure Service Bus
AppFx.ServiceBus - Simple Messaging with Windows Azure Service BusAppFx.ServiceBus - Simple Messaging with Windows Azure Service Bus
AppFx.ServiceBus - Simple Messaging with Windows Azure Service BusMichael Stephenson
 

More from Michael Stephenson (18)

LeedsSharp May 2023 - Azure Integration Services
LeedsSharp May 2023 - Azure Integration ServicesLeedsSharp May 2023 - Azure Integration Services
LeedsSharp May 2023 - Azure Integration Services
 
2022 02 Integration Bootcamp
2022 02 Integration Bootcamp2022 02 Integration Bootcamp
2022 02 Integration Bootcamp
 
Synapse for mere mortals
Synapse for mere mortalsSynapse for mere mortals
Synapse for mere mortals
 
Azure enterprise integration platform
Azure enterprise integration platformAzure enterprise integration platform
Azure enterprise integration platform
 
How to tactically avoid boring work with Power Automate
How to tactically avoid boring work with Power AutomateHow to tactically avoid boring work with Power Automate
How to tactically avoid boring work with Power Automate
 
Microsoft power platform
Microsoft power platformMicrosoft power platform
Microsoft power platform
 
Tech UG - Newcastle 09-17 - logic apps
Tech UG - Newcastle 09-17 -   logic appsTech UG - Newcastle 09-17 -   logic apps
Tech UG - Newcastle 09-17 - logic apps
 
Modern business intelligence
Modern business intelligenceModern business intelligence
Modern business intelligence
 
2 speed it powered by microsoft azure
2 speed it powered by microsoft azure2 speed it powered by microsoft azure
2 speed it powered by microsoft azure
 
Super charged prototyping
Super charged prototypingSuper charged prototyping
Super charged prototyping
 
SharePoint User Group - Leeds - 2015-09-02
SharePoint User Group - Leeds - 2015-09-02SharePoint User Group - Leeds - 2015-09-02
SharePoint User Group - Leeds - 2015-09-02
 
BTUG - Dec 2014 - Hybrid Connectivity Options
BTUG - Dec 2014 - Hybrid Connectivity OptionsBTUG - Dec 2014 - Hybrid Connectivity Options
BTUG - Dec 2014 - Hybrid Connectivity Options
 
Api management 101
Api management 101Api management 101
Api management 101
 
Finance integration 2
Finance integration 2Finance integration 2
Finance integration 2
 
Hybrid integration in a day 2
Hybrid integration in a day 2Hybrid integration in a day 2
Hybrid integration in a day 2
 
Uk user group biz talk performance deepdive
Uk user group   biz talk performance deepdiveUk user group   biz talk performance deepdive
Uk user group biz talk performance deepdive
 
BizTalk Maturity Assessment
BizTalk Maturity AssessmentBizTalk Maturity Assessment
BizTalk Maturity Assessment
 
AppFx.ServiceBus - Simple Messaging with Windows Azure Service Bus
AppFx.ServiceBus - Simple Messaging with Windows Azure Service BusAppFx.ServiceBus - Simple Messaging with Windows Azure Service Bus
AppFx.ServiceBus - Simple Messaging with Windows Azure Service Bus
 

Recently uploaded

Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
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
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
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
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...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
 
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
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
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
 
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
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 

Recently uploaded (20)

Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
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
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
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...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
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...
 
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, ...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
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
 
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
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 

Behaviour Driven BizTalk Development

  • 1. Connected Systems Consulting Ltd Behavior Driven BizTalk Development
  • 2. Who am I? Michael Stephenson – UK-Based Freelance Consultant specializing in: • • • BizTalk Windows Azure Integration – Was BizTalk MVP now a Microsoft Integration MVP for 5+ years – One of organizers of UK Connected Systems User Group – Blog: www.geekswithblogs.net/michaelstephenson – Twitter: @michael_Stephen – Linked In: http://www.linkedin.com/in/michaelstephensonuk1 Connected Systems Consulting Ltd
  • 3. Agenda • • • • • • BDD 101 How can BDD help BizTalk projects Simple Specflow Example Detailed BizTalk Example Limitations Discussion Connected Systems Consulting Ltd
  • 4. Setting the scene • Small integration team with a number of BizTalk and other integration projects or varying sizes and flavours • Team already has fairly mature development processes • Growth in new projects and team size and complexity of projects • As a team we wanted to look at bringing in any new practices which we felt will help us be more effective • How people use BDD in the .net world is something we have been looking at Connected Systems Consulting Ltd
  • 5. What is BDD • Behaviour Driven Development • Agile software development technique • Extends the idea of test driven development • Create a clear understanding of the behaviour of the software • Common language with the business • Is not a replacement for unit testing Connected Systems Consulting Ltd
  • 7. Gherkins & Cucumbers • Cucumber – A ruby tool that lets you specify a behaviour in terms of Given/When/Then • The language/syntax is called Gherkin • You define your behaviour in a “feature file” using the Gherkin language • In .net world SpecFlow is a tool that lets us do the same thing (there are a couple of others) Connected Systems Consulting Ltd
  • 8. Example Behaviour Why is the feature important Who cares about the feature What are we trying to do Prerequisites The trigger What should happen
  • 9. Key Points Key Point Description Business Value Identifying why a feature is needed helps determine if its important Scenarios A feature can have multiple scenarios Given/When/Then Gives us an easy way to describe what will happening a domain language the business will understand Development We write code to implement the behaviour Connected Systems Consulting Ltd
  • 10. HOW CAN BDD HELP BIZTALK PROJECTS?
  • 11. Common Challenges Area Challenges Requirements X - Its difficult to capture effective requirements in enough detail X – Its difficult the manage and communicate change in requirements X – Its difficult to ensure the requirements that are in a release of code Documentation X – Documentation is often out of data X – Documentation rarely matches what is deployed X – Documentation is often big Testing X – Tests are often too technical to easily correlate to requirements X – Its difficult to prove the software does what its supposed to Connected Systems Consulting Ltd
  • 12. An Example of current tests • Tests are difficult to explain to non technical people • Tests are difficult to understand if you don’t understand the business domain • Its easy to read the implementation but difficult to understand the intention of parts of a test
  • 13. Initial thoughts • Can Gherkin help us define what we need to do? • Can the features describing behaviour become documentation? • Can we use the behaviours to help test BizTalk? Connected Systems Consulting Ltd
  • 14. Introducing SpecFlow • Specflow is a .net BDD framework • Define features and scenarios in Visual Studio using the Gherkin language • Features defined can become testable using SpecFlow • Specflow tests are acceptance tests Connected Systems Consulting Ltd
  • 15. What about BizUnit? • BizUnit is great at: – Execution of tests – Framework of test steps • BizUnit struggles often at: – Helping you understand the intention of the test – Tests are too techy • SpecFlow creates an abstraction between the intention and implementation of a test Connected Systems Consulting Ltd
  • 16. Abstraction in the test Gherkin Specflow Test Definition BizUnit Test Implementation
  • 20. Challenges • BizUnitOM is a little tricky & some test steps need to add implementation of ITestStepOM. • SpecFlow after scenario cant be used to fire the test (use a final Then) • At present some BizUnit steps cant be ran without being in a BizUnit test so we need to build up the BizUnit test then execute it Connected Systems Consulting Ltd
  • 22. Common Challenges Area Challenges Requirements R - Requirements can be easily defined using Given/When/Then R – Requirements are close to the code so easier to manage as features and scenarios R – Requirements are defined in domain language Documentation R R R R Testing R R - The feature files can be used as part of the documentation - The documentation is - accurate to the build of code and can be published with a release The scenarios are effective to document the scenarios and are not over excessive - The scenarios are maintained with the code - There’s - The an abstraction between the intention and implementation of tests making them easier to understand requirements drive the testing Connected Systems Consulting Ltd
  • 23. Summary “We have a well established integration capability with a mature ALM process, however Behaviour Driven Development and SpecFlow is very interesting to us because it offers ways to simplify some of our current pain points in the ALM process and make us more effective” Would it help you? Connected Systems Consulting Ltd
  • 24. More Info Source/Article Link SpecFlow http://www.specflow.org/ Testing example with CAT framework webcast http://www.cloudcasts.net/ViewWebcast.aspx?webcastid=252102814503 7920619