Microsoft Delivers Its Spec Explorer Model-Based Testing Tool

Microsoft delivers a model-based testing tool for .NET developers, called Spec Explorer.

Microsoft has delivered a new model-based testing tool for .NET developers, called Spec Explorer.

The tool originated in Microsoft Research and it "extends the Visual Studio integrated [development] environment with the ability to define a model describing the expected behavior of a software system. Using this model you can generate tests automatically for execution within Visual Studio's own testing framework, or many other unit test frameworks," Nico Kicillof, lead program manager for the project at Microsoft, said in a blog post Oct. 27.

"Model-based testing is considered to be a lightweight formal method [of validating] software systems," Kicillof said in a separate blog post on the workings of MBT.

Kicillof said developers can write models in a mainstream programming language such as C#, accompanied by configuration files in a scripting language called "Cord," which is short for "Coordination Language," he said.

Added Kicillof:

""The name Spec Explorer comes from its power to explore these models (aka specifications) in order to discover all the potential behaviors they define, and present a graphical view of the result. Although the outcome of an exploration can be huge, the Cord language provides a very intuitive way to reduce it by selecting scenarios relevant for testing. If you have encountered purely state oriented tools, you will find Spec Explorer has very effective ways to deal with the notorious 'state explosion' problem.""

In an Oct. 26 blog post, S. "Soma" Somasegar, senior vice president of Microsoft's Developer Division, said, "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 percent average productivity gain over manually created test suites."

The team that came up with Spec Explorer is distributed between Beijing and Microsoft's Redmond, Wash., headquarters. "Spec Explorer moved from Microsoft Research to an engineering group in the Windows Server organization where it is being maintained and grown by a full-fledged development team. Spec Explorer 2010 is shipping in the Visual Studio 2010 Beta 2 time frame in prerelease Version 3.0 to gain user feedback," the project description said.

Meanwhile, Kicillof said, "Spec Explorer is being extensively used to test several Microsoft technologies and has been successfully applied to testing thousands of pages of Windows open protocol specifications, a huge project that took more than 250 person years."

Spec Explorer is available on the MSDN (Microsoft Developer Network) DevLabs site.