不完整的Spec Explorer 2010测试套件

时间:2014-09-16 18:58:47

标签: visual-studio-2012 testing model-based-testing

我正在尝试Spec Explorer,现在我有这个错误,我的测试套件不完整。我没有收到错误或任何错误,只是我希望有16个测试用例,而我只有11个。

我遇到的问题是Spec Explorer 2010中的示例项目。因为我是新手,所以我尝试了不同的示例项目,所以扩展范围和扩展双增加到四倍加。最后一个是我注意到我错过了一些测试用例的地方。我把它改回三重加,看是否有问题。正如我所料,我再次错过了一个测试用例。只有三倍,我预计8个测试用例,我只有7个。 我在代码中唯一改变的地方是:

machine DoubleAddScenario() : Main where ForExploration = true
{
    (Add(_); Add; Add; ReadAndReset)*
}

我也尝试过这样做

(Add(_); Add(_); Add(_); ReadAndReset)*

但同样的问题。我缺少的测试用例是Add(1);添加(2);加入(1)。我也试过只调用这个,这样可行,所以为什么我在测试套件中错过了它?

我做错了什么,或者Spec Explorer是否为我过滤了一些东西?如果它是Spec Explorer,它会做出这个决定吗?

1 个答案:

答案 0 :(得分:1)

好的问题。缺少测试用例的原因是,Spec Explorer使用步骤(转换)覆盖而不是完整路径覆盖作为覆盖标准。因此,您将找到一个测试用例,它在第一步“Add(1)”中使用另一个用于第二步“Add(2)”的测试用例,最后用于在步骤3中使用“Add(1)”的测试用例但不是必须是一个具有确切组合的单个测试用例。你可以在论坛和Spec Explorer的帮助下找到答案(因为那里有很多问题):

http://msdn.microsoft.com/en-us/library/ee620427.aspx

http://social.msdn.microsoft.com/Forums/en-US/977b90c1-8938-474a-840e-14fd78b1af3e/spec-explorer-wmethod?forum=specexplorer

Spec Explorer用于现实世界的测试,因此必须解决路径覆盖率呈指数级爆炸的问题(MBT中的众多问题之一)。 Spec Explorer非常酷的解决方案是Cord语言(如果需要,还可以使用常规语言)。而不是繁琐的编程测试用例Spec Explorer允许我们现在只使用场景绘制测试用例。细节和组合来自通用模型。在实践中,这就是我们(至少我所做的所有项目)真正想要的。如您所见,如果您确实需要,可以添加缺少的测试用例。