Free Tool: TDD for WCF Testing with wcfstorm-lite
Think of wcfstorm-lite as the Visual Studio WCF Test Client on steroids.
I'm a big fan of service-oriented architectures, and building services (facilitating designing these architectures for my clients is a big part of my business; I even wrote a course on the topic for Learning Tree International). And I'm also a big fan of test-driven-development (TDD). So if you put those two together and want something free, you end up with wcfstorm-lite (wcfstorm if you want to pay for the full version).
Think of wcfstorm-lite as the Visual Studio WCF Test Client on steroids, plus the ability to save an executed request/response as a test case, plus some of the functionality that Fiddler gives you around watching the interaction between a client and a service (and viewing messages in a variety of ways).
It's the ability to save test cases and re-execute them (with automatic result checking) that's important, though. With wcfstorm-lite, as you make changes to your WCF service, you can load your test project and run all of your saved test cases to make sure your changes haven't broken any previously-written code. You can limit yourself to running all the tests for a particular method on your service, or running all the tests for all services.
The user interface to wcfstorm-lite is probably its biggest drawback. I would expect that if I select a menu choice called “Run All” to execute my tests that I'd, well, run all of my tests. Instead, in wcfstorm-lite, that choice brings up a test runner dialog where you can run all of your tests -- but only after clicking another button. After running your tests, if any test failed, you need to click a link on each failed test to see what went wrong -- it would be handier if some clue about the error was displayed in the test runner.
But other than those UI annoyances, wcfstorm-lite lets you apply TDD to your WCF-enabled SOA, which is a very good thing.
Peter Vogel is a system architect and principal in PH&V Information Services. PH&V provides full-stack consulting from UX design through object modeling to database design. Peter tweets about his VSM columns with the hashtag #vogelarticles. His blog posts on user experience design can be found at http://blog.learningtree.com/tag/ui/.