All that theory is great, but without a practical application none of it matters. Thus Surveyor.

Surveyor is a simple application for creating online surveys. The UI will look something like this:

Surveyor's UI

You have three sets of questions: those you have yet to answer, those you have skipped, and those you have answered. Results are displayed when you complete the survey. That's pretty much it from the user's point of view.

The implementation isn't much more complicated. This first view is an Avalon control that you databind to an XML survey definition. When the user completes the survey you are provided the results and can then do whatever you like with them. Most of the UI is just what it looks like; the question set navigation controls [top-left corner of the window] are styled radio buttons.

As I said, pretty simple. There is however enough meat to explain in detail how to turn all that theory into an automation stack. I won't post detailed code, but I will post C# snippets and a lot of pseudocode.

At a minimum I'll have individual posts covering the Logical Functional Model, Physical Object Model, Execution Behaviors, and Comprehensive Verification. I rather expect at least the latter two will require multiple posts, but the level of detail to which I go will in large part be based on what y'all want to see and hear, so let me know what that is!

*** Comments, questions, feedback? Want a fun job on a great team? I need a tester! Interested? Let's talk: michhu at microsoft dot com. Great coding skills required.