visual-studio-2012 - 未使用 Spec Explorer 2010 完成测试套件

标签 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,它会在哪里做出这个决定?

最佳答案

好问题。缺少测试用例的原因是,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 不再需要繁琐的测试用例编程,而是让我们现在可以只用场景勾勒出测试用例的草图。细节和组合来自通用模型。实际上,这是我们(至少我所做的所有项目)真正想要的。如您所见,如果确实需要,您可以添加缺少的测试用例。

关于visual-studio-2012 - 未使用 Spec Explorer 2010 完成测试套件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25876451/

相关文章:

testing - 为 MBT 动态创建 EFSM

asp.net - 在 VS2012 中关闭 Web 窗体设计器的自动样式

visual-studio-2012 - 如何在 Visual Studio 2012 的解决方案资源管理器中获取文件的 Visual Studio 2010 图标

python - 遍历图中所有边的算法

javascript - 测试选项卡导航顺序

测试网络应用

c++ - <inherit from parent or PROJECT DEFAULTS> 的默认值的 Visual Studios(主要是 2012 pro)文件位置

c++ - 'identifier' 已有正文但未找到标识符

c# - 在 Microsoft 测试资源管理器中创建具有相同工作项 ID 的测试方法的播放列表