我正在试用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);Add(2);Add(1)。我也尝试过只调用这个,这很有效,那么为什么我在我的测试套件中遗漏了它呢?
是我做错了什么,还是Spec Explorer为我过滤了什么?如果是Spec资源管理器,它在哪里做出这个决定?
发布于 2014-09-17 16:52:08
问得好。缺少测试用例的原因是,Spec Explorer使用步骤(过渡)覆盖而不是全路径覆盖作为覆盖标准。因此,您将找到在第一步"Add(1)“中使用的测试用例,第二步中使用的另一个测试用例"Add(2)”,最后是在步骤3中使用"Add(1)“的测试用例,但不一定是一个具有确切组合的测试用例。在论坛和Spec Explorer的帮助下,您可以找到答案(确实有很多问题被问到):
http://msdn.microsoft.com/en-us/library/ee620427.aspx
规范资源管理器( Spec Explorer )用于实际测试,因此路径覆盖指数爆炸的问题(MBT中的众多问题之一)必须解决。Spec Explorer非常酷的解决方案是Cord语言(如果您愿意的话,也可以使用常规语言)。不再是冗长的编程测试用例,Spec Explorer现在只允许我们用场景描述测试用例。细节和组合来自于通用模型。实际上,这是我们(至少我做过的所有项目)真正想要的。正如您所看到的,如果您真的需要,可以添加丢失的测试用例。
https://stackoverflow.com/questions/25876451
复制相似问题