Behaviour Driven BizTalk Development

64 %
36 %
Information about Behaviour Driven BizTalk Development

Published on March 10, 2014

Author: MichaelStephenson3



How can you use BDD techniques to help you deliver effective BizTalk projects

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: – Twitter: @michael_Stephen – Linked In: 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


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




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


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 Testing example with CAT framework webcast 7920619


Add a comment

Related presentations

Presentación que realice en el Evento Nacional de Gobierno Abierto, realizado los ...

In this presentation we will describe our experience developing with a highly dyna...

Presentation to the LITA Forum 7th November 2014 Albuquerque, NM

Un recorrido por los cambios que nos generará el wearabletech en el futuro

Um paralelo entre as novidades & mercado em Wearable Computing e Tecnologias Assis...

Microsoft finally joins the smartwatch and fitness tracker game by introducing the...

Related pages

Behavior Driven Development with BizTalk - TechNet ...

Introduction. This page is intended as a place to help you explore the use of behavior driven development techniques and how it can be applied to BizTalk ...
Read more

Behaviour Driven BizTalk Development

Michael is a highly experienced freelance consultant with lots of experience of architecting and delivering integration projects which leverage the ...
Read more

Test / Behavior Driven Development Schulung Training ...

Test Driven Development, testgetriebene Softwareentwicklung, TDD as if you meant it ist die Praktik, wo zuerst Tests für die zu entwickelnde ...
Read more

Behavior Driven Development with BizTalk

Introduction. This page is intended as a place to help you explore the use of behavior driven development techniques and how it can be applied to BizTalk ...
Read more

TNWiki Article Spotlight - Behaviour Driven Development ...

TechNet Blogs » Wiki Ninjas - Official Blog of TechNet Wiki » TNWiki Article Spotlight - Behaviour Driven Development with BizTalk
Read more

BizTalk Developer | Jobs and careers with BBC

BBC Worldwide requires an experienced and dynamic Biztalk Developer to join ... BBC Worldwide’s behaviour-driven development ... of BizTalk and XML; Good ...
Read more

CodePlex - AppFx.HL7.Testing - Home

If you would like to findout more about BizTalk & Behaviour Driven Development please refer to: BizTalk BDD @ Technet Wiki Sample Video
Read more

Behaviour Driven Development with BizTalk - 推酷

Michael Stephenson has started a new Wiki page over on the TechNet Wiki that is all about Behaviour Driven Development with BizTalk which focuses on ...
Read more

Speaking - Home - Michael Stephenson

Event: Axon Olympus Internal Event. Date: September 2013. Location: Netherlands. Presentation: Behaviour Driven BizTalk Development. Abstract: A talk about ...
Read more