21
Test-Driven Test-Driven Development with Development with BizTalk Server BizTalk Server 2004 2004 Ben Carey Ben Carey

TDD with BizTalk

Embed Size (px)

DESCRIPTION

This is a presentation that I gave on doing TDD with BizTalk. It was part of a series of pre-TechEd presentations.

Citation preview

Page 1: TDD with BizTalk

Test-Driven Test-Driven Development with Development with BizTalk Server 2004BizTalk Server 2004

Ben CareyBen Carey

Page 2: TDD with BizTalk

What We Will CoverWhat We Will Cover

What is Test-Driven Development What is Test-Driven Development (TDD)?(TDD)?

Why should we use TDD?Why should we use TDD?

The TDD cycleThe TDD cycle

TDD for integration projectsTDD for integration projects

A TDD episode with MicrosoftA TDD episode with Microsoft®® BizTalk BizTalk®® ServerServer

Page 3: TDD with BizTalk

Session PrerequisitesSession Prerequisites

General knowledge of BizTalk ServerGeneral knowledge of BizTalk Server

General knowledge of integration General knowledge of integration conceptsconcepts

A desire to know if your code worksA desire to know if your code works

Level 200Level 200

Page 4: TDD with BizTalk

Test-Driven DevelopmentTest-Driven Development

Repeatable / Repeatable / automated testsautomated tests

Proving the system Proving the system for various for various scenariosscenarios

FeedbackFeedback

Incremental designIncremental design

Executable Executable documentationdocumentation

Page 5: TDD with BizTalk

The Benefits of TDDThe Benefits of TDD

FeedbackFeedbackShort cycles to knowing what works, what’s Short cycles to knowing what works, what’s broken, and extended effects of modificationsbroken, and extended effects of modifications

FlowFlowRed, Green, RefactorRed, Green, RefactorIt feels good.It feels good.

CourageCourageHave confidence in your work and your purpose.Have confidence in your work and your purpose.

DocumentationDocumentationIt’s executable.It’s executable.

DesignDesignOrganic architectureOrganic architectureSimplicitySimplicity

Page 6: TDD with BizTalk

The Test-Driven CycleThe Test-Driven Cycle

What do I need to do?What do I need to do?

How can I test it?How can I test it?

Write a test (or a few).Write a test (or a few).

Watch it fail.Watch it fail.

Write some code.Write some code.

Watch it pass.Watch it pass.

Refactor if necessary.Refactor if necessary.

RepeatRepeat

Page 7: TDD with BizTalk

Test-Driven IntegrationTest-Driven Integration

Start with acceptance / integration level Start with acceptance / integration level tests.tests.

Integration tests usually take the bulk Integration tests usually take the bulk of the time (for both development and of the time (for both development and execution).execution).

Don’t worry so much about systems out Don’t worry so much about systems out of your control.of your control.

Test at a finer-grained level if it makes Test at a finer-grained level if it makes sense (layered testing).sense (layered testing).

Page 8: TDD with BizTalk

Testing Integration ScenariosTesting Integration Scenarios

In The System Out

Test Harness

G V

Page 9: TDD with BizTalk

Testing Within the BoundariesTesting Within the Boundaries

Company A Our System Company B

Our Test Boundary

Page 10: TDD with BizTalk

Layered TestingLayered Testing

C

B

A

G V

G V

G V

S

S

Page 11: TDD with BizTalk

A Test-Driven Episode - A Test-Driven Episode - ScenarioScenarioOur Scenario…Our Scenario…

We are developers at FooCorp. FooCorp has We are developers at FooCorp. FooCorp has been asked to develop a system that will been asked to develop a system that will aggregate weather data and find hazardous aggregate weather data and find hazardous mountain conditions. mountain conditions.

We need to write a system that will pull data We need to write a system that will pull data from various sources and input them into our from various sources and input them into our system so that we can do trend analysis and system so that we can do trend analysis and make predictions.make predictions.

Page 12: TDD with BizTalk

A Test-Driven Episode – Story A Test-Driven Episode – Story #1#1

Story: Consume MesoWest dataStory: Consume MesoWest data

Page 13: TDD with BizTalk

DemonstrationDemonstration

Test-Driven BizTalkTest-Driven BizTalk

Page 14: TDD with BizTalk

Session SummarySession Summary

Discussion of what TDD really isDiscussion of what TDD really is

Some key benefits of using TDDSome key benefits of using TDD

The test-driven cycleThe test-driven cycle

Using TDD for integration projectsUsing TDD for integration projects

Demonstration of TDD with BizTalkDemonstration of TDD with BizTalk

Page 15: TDD with BizTalk

For More InformationFor More Information

Agile EAIAgile EAIhttp://www.eaipatterns.com/docs/http://www.eaipatterns.com/docs/agileEAI.htmlagileEAI.html

Test-Driven Development in Enterprise Test-Driven Development in Enterprise Integration ProjectsIntegration Projects

http://www.hohpe.com/Gregor/Work/docs/ http://www.hohpe.com/Gregor/Work/docs/ TestDrivenEAI.pdfTestDrivenEAI.pdf

www.testdriven.com www.testdriven.com

Page 16: TDD with BizTalk

Additional ResourcesAdditional Resources

Framework for Rapid Test Case Framework for Rapid Test Case DevelopmentDevelopment

http://www.gotdotnet.com/workspaces/ http://www.gotdotnet.com/workspaces/ workspace.aspx?id=8353c433-5b5c-464d-workspace.aspx?id=8353c433-5b5c-464d-9605-bd4220686850 9605-bd4220686850

NUnitNUnithttp://www.nunit.org/ http://www.nunit.org/

Page 17: TDD with BizTalk

Questions and AnswersQuestions and Answers

Submit text questions using the “Ask a Submit text questions using the “Ask a Question” button. Question” button. Don’t forget to fill out the survey.Don’t forget to fill out the survey.For upcoming and previously live For upcoming and previously live webcasts: webcasts: www.microsoft.com/webcasts www.microsoft.com/webcasts

Got webcast content ideas? Contact us Got webcast content ideas? Contact us at: at: http://go.microsoft.com/fwlink/?http://go.microsoft.com/fwlink/?LinkId=41781LinkId=41781

Today's webcast was presented using Today's webcast was presented using Microsoft Office Live Meeting. Get a Microsoft Office Live Meeting. Get a free 14 day trial free 14 day trial http://www.microsoft.com/presentlivehttp://www.microsoft.com/presentlive  

Page 18: TDD with BizTalk

Where Can I Get MSDN?Where Can I Get MSDN?Fill out the survey at the end of the Fill out the survey at the end of the webcast and ask a Microsoft webcast and ask a Microsoft representative to contact you.representative to contact you.

Become an MSDN CD Subscriber at Become an MSDN CD Subscriber at msdn.microsoft.com/subscriptionsmsdn.microsoft.com/subscriptions

Page 19: TDD with BizTalk

Listen, learn and rub elbows with the brightest developers in your area. Our free MSDN Event series is your perfect opportunity to brush up on the latest tools and advanced technologies you’ll need to develop innovative, new applications. Join a MSDN Developer Community Champion for a live presentation and a Q & A session that will take your skills to the next level. These technical specialists are real coders with real experiences, not just traveling salespeople with PowerPoint®. If they cannot answer your questions, they can find someone who can.

Register at http://msdnevents.com or call 1-877.673.8368

Attend an MSDN Event in your local area and receive the MSDN Event Resource DVD

Winter DVD* includes:

• Session Materials, including Code Samples, Slides and Video Recordings

• SQL Server 2005™ Beta 2 • Visual Studio® 2005 Express

Beta Products (C#, Visual Web Developer, Visual Basic® .NET)

• Visual Studio 2005 Beta 1 Refresh with Visual Studio 2005 Team System

• Virtual PC 2004 45-day Trial Edition

• Patterns & Practices Library • 35% Off Select Microsoft

Press® Titles

Page 20: TDD with BizTalk

IAB Poll

How would you rate the streaming audio quality from today’s presentation?

ExcellentGoodFairPoorUnacceptableNeeded to listen to the audio via telephony

Live Meeting Poll

Changes directly made to this slide will not be displayed in Live Meeting. Edit this slide by selecting Properties in the Live Meeting Presentation menu.

Page 21: TDD with BizTalk