用 Spec Explorer 进行基于模型的测试

  • 朱永光

2009 年 11 月 16 日

话题:.NET语言 & 开发架构

昨天,Spec Explorer 中国团队在 blogs.msdn.com 的第一篇博客文章中,简要介绍了什么是Spec Explorer,为什么要用 Spec Explorer,以及它的发展历史。

Spec Explorer 是微软研究院研发的一款基于模型的测试工具。

可以自动探索规格说明(即 Specification,简称 Spec)的所有潜在行为,并将其行为模型表示为状态机。

由于状态机工具常常会引起状态信息爆炸的问题,所以 Spec Explorer 附带了一个名为 Cord 的语言对这些信息进行过滤整理,以得到最需要的部分。

之前它已经作为内部工具在微软内部大量使用,现在 Spec Explorer 团队公开发布了 Spec Explorer 2010——一个可以和 Visual Studio 紧密集成的工具:

用户可以通过 Spec Explorer 对一个软件系统的期望行为进行建模,并自动生成能够在 Visual Studio 的测试框架下运行的测试代码。

Spec Explorer 分别提供了Visual Studio 2008Visual Studio 2010的版本,同时也提供了详细的文档供大家学习使用,还有介绍视频,对核心作者的访谈

另外,Spec Explorer 在 MSDN 上建立了单独的论坛供大家交流使用经验,并向微软反馈意见。下面几个论坛上的问答,对大家了解 Spec Explorer 的一些特性可能有所帮助:

Q:VB.NET 是否能使用 Spec Explorer?

A:可以的。Spec Explorer 浏览检测的是 CLR 指令。所以不管用什么语言来编写源代码都可以。

Q:Cord 是否有设计视图?

A:在目前的版本中,还没有。不过,可以用“Exploration Manager”代替它。

Q:是否可以用来测试用例?

A:理论上可行的。只要实现了用例所涉及的动作,就可以用 Spec Explorer 对其建模,测试是否符合设计规格。

Q:是否可以用来测试应用程序的 UI?

A:可以的。关键问题是要调用一个可以自动驱动 UI 的函数库。如果对于 WPF 开发的 UI 话,可以利用System.Windows.Automation命名空间的功能。
.NET语言 & 开发架构