Loading user information from Channel 9

Something went wrong getting user information from Channel 9

Latest Achievement:

Loading user information from MSDN

Something went wrong getting user information from MSDN

Visual Studio Achievements

Latest Achievement:

Loading Visual Studio Achievements

Something went wrong getting the Visual Studio Achievements

SpecExplorer: Model-Based Testing made practicable

11 minutes, 21 seconds


Right click “Save as…”

Keith Stobie, Wolfgang Grieskamp, and Nico Kicillof gave a presentation on the new version of Spec Explorer 2010 for Visual Studio. Spec Explorer is a visual tool for modeling software behavior and generating test suites from those models. Spec Explorer’s approach to model-based testing has been shown to greatly enhance productivity of test case creation, to ensure predictability of requirement coverage,  and to support lifecycle management and software updates. Models are typically written in C# and controlled by a configuration language which allows to express scenarios and test purposes. Microsoft itself chose Spec Explorer as a cornerstone of the effort to validate open protocol documentation, developing more than 200 test suites validating over 40,000 requirements for networking protocols in a production environment.




Follow the discussion

  • Oops, something didn't work.

    Getting subscription
    Subscribe to this conversation
  • Might I suggest you guys check out the GUI used in the StateFlow extension to Simulink, as their diagrams are a tad clearer to follow.


  • We use MSAGL, which is a fairly powerful engine, and would allow us to change the graph appearance in many ways. What would you suggest? Using rectangles instead of ellipses and diamonds for states? Anything else?

  • Actually, what StateFlow does is different than Spec Explorer. In StateFlow you model a system with a graphic language, StateCharts. In Spec Explorer, you model a system with a full-fledged programming language, C#, which is significantly more expressive. We then generate a state machine from this C# model, just for the purpose of visualization for the user. So the state machine is not input, but output of the tool chain.

  • Thanks guys for a great little tool. So glad that its not just for vs2010 Wink
    However, what happens about the saved test cases? What if you have a development team and you have just the one model and the team is working of different parts of it. Then what? If you are working in a Agile/TDD space how does the model grow. Is it kept in TFS or SVN for example. Who adds the the modle (the change control process, requirements gathering) how is change communicated? 
    Really love how it generates the new test cases. Love how you can zoom in and out of the congative detail of the spec focusing on 'My Area'. Would be nice to layer of abstraction to the 'Zoom Out'  so a white box becomes a black box. This is another interpretation of the state graph just being a 'black line' versa a box called 'the system'. So as you zoom into 'the system' parts of the whole become exposed, eg it has a 'login' part a 'bid' part and so on.
    This is what happens in nature you have pond water, then as you look closer bits are merky,  closer still you see there is life in there, still further insect larva and so on. This allows better comprehension of the whole without overload.

    For Spec Explorer it might rely on the stricture of underlying code that it is decomposed into cognative abstraction layers this might be less performance code wise (other than usual n-teir design).


    Again nice work guys.

    Doug, UK.

  • Thanks Doug. You might want to take a look at the state hiding and grouping feature in the exploration result viewer (click the Manage Views button when you are seeing an exploration, create a new view and use the GroupQuery and HideQuery fields).

  • Why does Keith - the test architect - call these tests "Unit Tests"?

Remove this comment

Remove this thread


Comments closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.