File size

File size

File size

62.8 MB

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.

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 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).

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).

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.