【问题标题】:Not complete test suite with Spec Explorer 2010未使用 Spec Explorer 2010 完成测试套件
【发布时间】:2014-09-16 18:58:46
【问题描述】:

我正在试用 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,它在哪里做出这个决定?

【问题讨论】:

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


    【解决方案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 现在允许我们只用场景勾画测试用例,而不是繁琐的测试用例编程。细节和组合来自通用模型。在实践中,这是我们(至少我做过的所有项目)真正想要的。如您所见,如果您确实需要,可以添加缺少的测试用例。

    【讨论】:

    • 感谢您的回答。我已经预料到会发生这样的事情,但是由于其他几个双重隐蔽的过渡,我怀疑自己。我在任何地方都找不到他们的策略,所以我担心我的案子会随机消失。这些链接非常有帮助,谢谢。
    猜你喜欢
    • 1970-01-01
    • 2016-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-20
    • 2014-05-01
    • 1970-01-01
    相关资源
    最近更新 更多