Welcome to MSDN Blogs Sign in | Join | Help

View This Blog In

Spec Explorer: A Model-Based Testing tool

Thorough, consistent, and extensible testing of systems remains one of the biggest challenges in creating and maintaining software systems.

The Spec Explorer tool released today on DevLabs tackles that problem using Model-Based Testing techniques.

Spec Explorer 

What Is It?

Spec Explorer, is a tool for modeling software behavior and generating test suites from those models. 

Models can be viewed as graphical renderings to understand and analyze the expected system behavior and communicate it to others.  Model size can be scoped with regular expressions.  The generated test suites can be run standalone in the Visual Studio test framework or other unit test frameworks.

Why Use It?

Several Microsoft projects of various sizes have already used Spec Explorer as part of their development process.  Using Spec Explorer has helped those teams create test cases more quickly, ensure predictability of requirement coverage, and support the projects’ lifecycle management and software updates.

Spec Explorer’s unique features make it easier to learn than other Model-Based Testing tools. Engineers with no modeling background can create models of systems and features, then generate tests in a short amount of time.  Studies on a large-scale project with over 300 test suites have shown a 42% average productivity gain over manually-created test suites.

While we’ve tuned Spec Explorer based on the feedback of teams within Microsoft, we now need your feedback to ensure Spec Explorer meets the needs of customers working on a variety of project types and sizes. 

Download Spec Explorer today, ask questions or send feedback via the forum, and stay current via the team blog.

Namaste!

Posted: Monday, October 26, 2009 9:15 PM by Somasegar

Comments

Josh N said:

In test driven development, tests should drive the design of the system, this style is at odds with automated test generation. Test generation means you are specing after modeling, so you could end up with extra modeling code that was not yet proven to be needed.

The only way to prove code is needed is to write a test first.

or am I missing something?

# October 26, 2009 11:00 PM

Ian Ringrose said:

@Josh N

We have unit testing and system testing.

Test Driven Development is about unit testing

As far as I can tell, Spec Explorer is about system testing.

You need both unit and system testing...

# October 27, 2009 7:59 AM

phuff said:

@Josh N

When you say “spec’ing after modeling”, you are probably thinking about some type of structural or architectural model describing system design. Spec Explorer behavioral models are specs. They are just functional descriptions of how the implementation should behave, once it’s created. They contain no assumptions or commitments on how the system should be designed. So the tests generated from Spec Explorer models are perfectly suitable for TDD. Once you write your spec (= model) using Spec Explorer and generate tests from it, your next task is to design and implement a system that will gradually pass these tests.

@Ian Ringrose

Spec Explorer can generate both unit and system tests.

Nico Kicillof & Polita Paulus

# October 27, 2009 4:25 PM

Marius Filip said:

Apparently, Spec Explorer does not install in Visual Studio 2008 Shell.

# October 27, 2009 10:31 PM

Nico Kicillof said:

@Marius Filip

Yes, it does. There are two downloads, one for VS 2008 and one for VS 2010. The project page (http://msdn.microsoft.com/en-us/devlabs/ee692301.aspx) has links to both on the right. If you have further questions, please use the Spec Explorer forum: http://social.msdn.microsoft.com/Forums/en-US/specexplorer/threads.

Nico

# October 29, 2009 3:07 PM

EdgeTech said:

Very useful tool, thanks for innovating.

# November 3, 2009 8:29 PM

nolisj said:

I got the book Wolfgang Grieskamp mentioned ("Model-based Software Testing and Analysis with C#"), and one of the things that excited me when I read that was this idea that you can create a test based on the specification of an application, that in fact you are testing the specification as you go along and as the specification changes, thereby preventing this disconnect between the specification and the application which we always encounter in a real world application.

However, one thing that prevented me from really focusing on it is that the tooling seems so immature: I don't know how it works with Visual Studio; I don't know how my C# program can take advantage of it; I can not edit the generated evaluation result (from the (then) GLEE model) etc. Essentially, it becomes a solution that has existing problems to tackle but seems so unwilling to solve them.

I just hope that the new Spec Explorer should address this issue. I am really waiting for this idea to take off, ever since I've been working on an ASP.NET application that has thousands of manual test scripts, that's just waiting to be automated.

More power to you and your team and I hope this does not stop and in fact flourishes inside and outside Microsoft.

# November 3, 2009 9:29 PM
Leave a Comment

(required) 

(required) 

(optional)

(required) 

  
Enter Code Here: Required

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS


Page view tracker