Santosh Benjamin’s Weblog

June 4, 2009

Dev10 Dive: 1 – Emphasizing TestFirst

Filed under: Coding, Dev10 Dive, Training Kits, Visual Studio 2010, WF — Tags: , , — santoshbenjamin @ 3:43 pm

I recently downloaded and installed Dev10 Beta-1 and created some images for my team. The Channel-9 video guiding us step by step through the whole process was invaluable. One thing that had me in trouble was the installation of Full Text Search in SQL 2008 (as TFS requires this feature). When i captured the ISO image (as we usually do in Virtual PC) and installed from there, the installation failed. It turns out that the installation media needed to be inside the VM. That done, the rest of the installation was fine.

Anyway, I then got hold of the VS 10 Training Kit and started with the WF labs. Got one full exercise done. The thing that impressed me most, was not actually WF itself (at this particular time), but the fact that when writing the custom activity, the instructions were to first write a test to check the output of the activity. Not only that, there is also a nod to the BDD side of things as the name of the test was “ShouldReturnExpectedGreeting” (or something along those lines) . Now , if you’ve looked at the various blogs around BDD,  one of the first steps (or baby steps if you like) towards proper BDD is to start naming tests like this rather than staid old “TestGreeting” or “GreetingTest“. It may seem like a small thing (and that was my opinion when i started down this route as well), but to me, it made a lot of difference to the way I approached my tests and helped me nail the purpose of the test better , thus also keeping it concise. Aside from this it serves as a form of documentation so a quick glance over your code base (even for your own code when you look at it after a few weeks or months) will bring you or the reviewer upto speed faster than with dodgy or less meaningful names.

In keeping with this emphasis on the test first approach, there is another, older video on Channel 9, part of the same series titled “Code Focussed in VS10” which shows some of the new features that allow us to write the test first and then have the IDE generate the class stubs and method stubs from the test itself. Of course, for those devs using R# and other refactoring tools this is nothing new, but lots of developers dont use them and this is a nice addition to allow us to really write the tests first and stay within the test, fleshing out the class as we go along rather than just writing a failing stub and then switching attention to the class because, unless you are very disciplined once you start working on the class, you tend to leave the tests behind and revisit them later with the attendant refactoring of code and tests.

So, there it was a rather pleasant discovery of a development discipline in a rather unlikely area (considering how design and IDE driven WF is). I’m looking forward to the other labs and I hope this emphasis is in them as well.

September 18, 2008

BAM Training Kit

Filed under: Biztalk, Training Kits — Tags: , , — santoshbenjamin @ 6:25 pm

Just came across this new resource on MSDN, the BAM Training Kit. Looks quite interesting. According to the blurb,

There are several roles involved during a BAM solution development including business analyst, BizTalk developer, and system administrator. This training breaks down the BAM solution development into roles. Each lesson covers the background information, the tools and the development procedures.

This kit contains the following:

  • An overview of the BAM feature (“BAM Training.doc”)
  • A BAM solution sample (“BAM Training_Hands-On Exercises.doc”)
  • Sample code files to use with the sample solution (“BAM Training_Lab Files” folder)
  • A PowerPoint slide deck to use in an instructor-led setting (“BAM Training_Instructor Slide Deck.ppt”)

Download link is here.

Another good resource is Mike Stephenson’s BAM QuickStart where he has written up a concise intro to BAM and provided a list of resources including whitepapers and a webcast for the same. Check that out as well.

Blog at WordPress.com.