2. What We Will Cover What is Test-Driven Development (TDD)? Why should we use TDD? The TDD cycle TDD for integration projects A TDD episode with Microsoft ® BizTalk ® Server
3. Session Prerequisites General knowledge of BizTalk Server General knowledge of integration concepts A desire to know if your code works Level 200
4. Test-Driven Development Repeatable / automated tests Proving the system for various scenarios Feedback Incremental design Executable documentation
5. The Benefits of TDD Feedback Short cycles to knowing what works, what’s broken, and extended effects of modifications Flow Red, Green, Refactor It feels good. Courage Have confidence in your work and your purpose. Documentation It’s executable. Design Organic architecture Simplicity
6. The Test-Driven Cycle What do I need to do? How can I test it? Write a test (or a few). Watch it fail. Write some code. Watch it pass. Refactor if necessary. Repeat
7. Test-Driven Integration Start with acceptance / integration level tests. Integration tests usually take the bulk of the time (for both development and execution). Don’t worry so much about systems out of your control. Test at a finer-grained level if it makes sense (layered testing).
11. A Test-Driven Episode - Scenario Our Scenario… We are developers at FooCorp. FooCorp has been asked to develop a system that will aggregate weather data and find hazardous mountain conditions. We need to write a system that will pull data from various sources and input them into our system so that we can do trend analysis and make predictions.
14. Session Summary Discussion of what TDD really is Some key benefits of using TDD The test-driven cycle Using TDD for integration projects Demonstration of TDD with BizTalk
15. For More Information Agile EAI http://www.eaipatterns.com/docs/agileEAI.html Test-Driven Development in Enterprise Integration Projects http://www.hohpe.com/Gregor/Work/docs/ TestDrivenEAI.pdf www.testdriven.com
16. Additional Resources Framework for Rapid Test Case Development http://www.gotdotnet.com/workspaces/ workspace.aspx?id=8353c433-5b5c-464d-9605-bd4220686850 NUnit http://www.nunit.org/
17. Questions and Answers Submit text questions using the “Ask a Question” button. Don’t forget to fill out the survey. For upcoming and previously live webcasts: www.microsoft.com/webcasts Got webcast content ideas? Contact us at: http://go.microsoft.com/fwlink/?LinkId=41781 Today's webcast was presented using Microsoft Office Live Meeting. Get a free 14 day trial http://www.microsoft.com/presentlive
18. Where Can I Get MSDN? Fill out the survey at the end of the webcast and ask a Microsoft representative to contact you. Become an MSDN CD Subscriber at msdn.microsoft.com/subscriptions
19. 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
20. IAB Poll How would you rate the streaming audio quality from today’s presentation? Excellent Good Fair Poor Unacceptable Needed 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.