zoukankan      html  css  js  c++  java
  • Spec Explorer 工具学习

    基础概念:http://blogs.msdn.com/b/sechina/archive/2009/12/28/test.aspx

    在线教程:http://blogs.msdn.com/b/sechina/archive/2010/04/20/spec.aspx

    最近需要用这个工具进行E2E的functional test所以在学习这个工具Spec Explorer.
    资源
    团队博客 http://blogs.msdn.com/b/sechina/
    MSDN http://msdn.microsoft.com/zh-cn/library/ee620518.aspx 
    cnblog http://www.cnblogs.com/stbchina/archive/2009/11/11/spec-explorer-blog-in-Chinese.html
    较详细介绍 http://webservices.ctocio.com.cn/103/11618103.shtml
    安装:Spec Explorer 2010 Visual Studio Power Tool - 这个tool是升级版的可以使用在VS2012上
    http://visualstudiogallery.msdn.microsoft.com/271d0904-f178-4ce9-956b-d9bfa4902745/
    Reference: Microsoft.SpecExplorer.ObjectModel 这个assembly。
    命名空间:Microsoft.SpecExplorer.ObjectModel
    E2E现在根据大神的介绍我大概有了一下概念,

    image

    1. 创建状态机:

    Config.cord: 使用Cord语言描述状态机的配置用例信息。在一个项目中有一个Config.cord文件,用户可以在文件里面创建若干套组合。这个组合可以用来创建测试用例。一个项目中可以有多个Config.cord文件,这个东西相当于一个cs文件。
    Config.cord文件结构:
                 引用:
                 配置信息: config Main;包括测试用例文件创建路径。如果项目中只有一个cord文件并且其中只有一个组合,每次生成测试用例都会覆盖之前生成的测试用例。
                 状态机: 状态机包含多个,分两种,一种是为了表示不同的业务逻辑,一种是为了创建测试用例。
                        表示业务逻辑: machine Model() : Actions where ForExploration = true 包括表示单独业务逻辑的状态机以及复杂业务逻辑的状态机。单独业务逻辑的状态机可以调用项目中写的
                 测试用例 machine TestSuiteLong() : Main where ForExploration = true, TestEnabled = true,用来创建测试用例的


    Model.cs: 配合Config.cord生成状态图

    |:或的关系
    +:加一循环,自循环
    ;:下一步顺序的关系

    2. 创建模型

    3. 创建测试用例

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

    TestCases Construct 中的 ShortTests 和LongTests的区别

    无论是ShortTests还是LongTests都是以初始状态为起点以接受状态为终点生成一个或多个Test case.

    ShortTests只要起点和终点之间包含至少一个还没有被测试的状态转移即可,
    LongTests要求起点和终点之间包含尽量多的状态转移

    两种策略都保证每一步至少都至少在其中一个testcase里覆盖至少一次?

    ShortTests倾向于短而多的testcase
    LongTests倾向于长而少的testcase

    哪种更好?需要根据不同情况而定。两种策略都可以保证对所有路径的全覆盖。在具体实践中用ShortTests的时候比较多,因为这样可以快速得出测试结果,发现问题也比较快。ShortTests不容易发现在需要多次迭代后才出现的问题,这个是LongTests的优势。

    假设有一个模型,初始状态和接受状态都是S0, 这中间有两条不交叉的路径可以从S0出去再回到S0,ShortTests就是会创建两条用例,分别描述每一条路径。Longtests则会串联两条路径生成一条经过S0三次的test case

    strategy=”LongTests”

    4. 运行测试用例

    其他:
    1. 连续运行超过40分钟就会挂
    2. 产品不会继续升级,非常幸运能找到与vs12 兼容的版本,但是将来不好说。
    3. 还有其他的test framework也可以用来做On the fly testing, 比如说TAEF http://msdn.microsoft.com/en-us/library/windows/hardware/hh439725(v=vs.85).aspx

  • 相关阅读:
    [2020多校联考]甲虫
    .eww
    MinGW安装c-c++
    .竖梁上的两个孔最小距离可以是多少呢?PS15D
    .dwg(sw)-exb
    开始学emacs-1
    看jpg和png图片
    .系列化参数关系
    2015计划
    大蚂蚁在64位系统下,右键没有快发的解决方案
  • 原文地址:https://www.cnblogs.com/cynthiahuo/p/3217630.html
Copyright © 2011-2022 走看看