tdd with biztalk
DESCRIPTION
This is a presentation that I gave on doing TDD with BizTalk. It was part of a series of pre-TechEd presentations.TRANSCRIPT
![Page 1: TDD with BizTalk](https://reader034.vdocuments.site/reader034/viewer/2022052619/55583a7ad8b42ac6078b4b2d/html5/thumbnails/1.jpg)
Test-Driven Test-Driven Development with Development with BizTalk Server 2004BizTalk Server 2004
Ben CareyBen Carey
![Page 2: TDD with BizTalk](https://reader034.vdocuments.site/reader034/viewer/2022052619/55583a7ad8b42ac6078b4b2d/html5/thumbnails/2.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022052619/55583a7ad8b42ac6078b4b2d/html5/thumbnails/3.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022052619/55583a7ad8b42ac6078b4b2d/html5/thumbnails/4.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022052619/55583a7ad8b42ac6078b4b2d/html5/thumbnails/5.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022052619/55583a7ad8b42ac6078b4b2d/html5/thumbnails/6.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022052619/55583a7ad8b42ac6078b4b2d/html5/thumbnails/7.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022052619/55583a7ad8b42ac6078b4b2d/html5/thumbnails/8.jpg)
Testing Integration ScenariosTesting Integration Scenarios
In The System Out
Test Harness
G V
![Page 9: TDD with BizTalk](https://reader034.vdocuments.site/reader034/viewer/2022052619/55583a7ad8b42ac6078b4b2d/html5/thumbnails/9.jpg)
Testing Within the BoundariesTesting Within the Boundaries
Company A Our System Company B
Our Test Boundary
![Page 10: TDD with BizTalk](https://reader034.vdocuments.site/reader034/viewer/2022052619/55583a7ad8b42ac6078b4b2d/html5/thumbnails/10.jpg)
Layered TestingLayered Testing
C
B
A
G V
G V
G V
S
S
![Page 11: TDD with BizTalk](https://reader034.vdocuments.site/reader034/viewer/2022052619/55583a7ad8b42ac6078b4b2d/html5/thumbnails/11.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022052619/55583a7ad8b42ac6078b4b2d/html5/thumbnails/12.jpg)
A Test-Driven Episode – Story A Test-Driven Episode – Story #1#1
Story: Consume MesoWest dataStory: Consume MesoWest data
![Page 13: TDD with BizTalk](https://reader034.vdocuments.site/reader034/viewer/2022052619/55583a7ad8b42ac6078b4b2d/html5/thumbnails/13.jpg)
DemonstrationDemonstration
Test-Driven BizTalkTest-Driven BizTalk
![Page 14: TDD with BizTalk](https://reader034.vdocuments.site/reader034/viewer/2022052619/55583a7ad8b42ac6078b4b2d/html5/thumbnails/14.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022052619/55583a7ad8b42ac6078b4b2d/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022052619/55583a7ad8b42ac6078b4b2d/html5/thumbnails/16.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022052619/55583a7ad8b42ac6078b4b2d/html5/thumbnails/17.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022052619/55583a7ad8b42ac6078b4b2d/html5/thumbnails/18.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022052619/55583a7ad8b42ac6078b4b2d/html5/thumbnails/19.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022052619/55583a7ad8b42ac6078b4b2d/html5/thumbnails/20.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022052619/55583a7ad8b42ac6078b4b2d/html5/thumbnails/21.jpg)