Nuts And Bolts

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.

Comments (3)

  1. Glenn Taylor says:

    I’ve enjoyed the theory so far, but need the boost of understanding that some examples of the LFM and etc. will give.

    I do the whole range from design through testing (on most projects). I’m very into unit testing nowdays, but need to get more into acceptance testing and UI testing.

  2. This sounds great! Looking forward to it. 🙂

  3. In many of my posts I have alluded to the automation stack my team is building, but I have not provided…