Download - TDD with BizTalk
Test-Driven Test-Driven Development with Development with BizTalk Server 2004BizTalk Server 2004
Ben CareyBen Carey
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
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
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
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
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
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).
Testing Integration ScenariosTesting Integration Scenarios
In The System Out
Test Harness
G V
Testing Within the BoundariesTesting Within the Boundaries
Company A Our System Company B
Our Test Boundary
Layered TestingLayered Testing
C
B
A
G V
G V
G V
S
S
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.
A Test-Driven Episode – Story A Test-Driven Episode – Story #1#1
Story: Consume MesoWest dataStory: Consume MesoWest data
DemonstrationDemonstration
Test-Driven BizTalkTest-Driven 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
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
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/
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
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
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
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.