基础概念: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现在根据大神的介绍我大概有了一下概念,

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

转载于:https://www.cnblogs.com/cynthiahuo/p/3217630.html

Spec Explorer 工具学习相关推荐

  1. 3D游戏设计和创作工具学习教程 3D Game Design Creation Tools

    语言:英语+中英文字幕(根据原英文字幕机译更准确) 大小解压后:1.94G 1280X720 mp4 三维游戏设计和创作工具 用扎实的工作流程开始开发游戏 课程获取:3D游戏设计和创作工具学习教程 3 ...

  2. arcgis怎么压缩tif文件_地理工具学习--arcgis篇:单工具学习(1)

    一直以来就想做这个系列.记录学习arcgis.geoda.python.cad等工具的过程. 在arcgis篇,最开始的打算是想把arcgis中的工具都整理一遍,不过经过几年得使用和学习,发现其中有很 ...

  3. 第八模块:算法设计模式、企业应用 第2章 企业应用工具学习

    第八模块:算法&设计模式.企业应用 第2章 企业应用工具学习 转载于:https://www.cnblogs.com/tqtl911/p/9131614.html

  4. 删除苹果自带软件后果_ghost explorer工具怎么删除ghost自带软件【详细教程】

    很多ghost镜像文件往往有包含着多样软件,但是系统安装完之后这些软件又难以卸载,甚至是顽固软件无法卸载.不过不用担心,用ghost explorer工具可以 删除ghost自带软件 ,我们要提前准备 ...

  5. Postman接口测试工具学习笔记(二)Postman进阶实践:获取天气预报实例

    Postman接口测试工具学习笔记(一) 入门及基本概念 https://blog.csdn.net/sevensolo/article/details/87208546 Postman进阶实践:获取 ...

  6. Postman接口测试工具学习笔记(一)接口测试概念及Postman入门

    (下文照搬@Storm啊老师博文,留下记录为了方便学习和理解.大家可以去看看原文地址:https://blog.csdn.net/duzilonglove/article/details/786454 ...

  7. webpack前端构建工具学习总结(一)之webpack安装、创建项目

    npm是随nodeJs安装包一起安装的包管理工具,能解决NodeJS代码部署上的很多问题: 常见的使用场景有以下几种: 允许用户从NPM服务器下载别人编写的第三方包到本地使用. 允许用户从NPM服务器 ...

  8. 通过编写串口助手工具学习MFC过程——(三)Unicode字符集的宽字符和多字节字符转换...

    通过编写串口助手工具学习MFC过程 因为以前也做过几次MFC的编程,每次都是项目完成时,MFC基本操作清楚了,但是过好长时间不再接触MFC的项目,再次做MFC的项目时,又要从头开始熟悉.这次通过做一个 ...

  9. Design Compiler工具学习笔记(7)

    目录 引言 背景知识 多时钟设计 DC 输出文件分析 实际操作 设计源码 综合脚本 综合网表 SDF文件 SDC文件 REPORT文件 引言 本篇继续学习 DC的基本使用.本篇主要学习 DC 综合之后 ...

最新文章

  1. 帝国cms 标签php,帝国cms常用标签总结
  2. js实现审批流_超实用的工作流,小白用户也能轻松驾驭
  3. JVM内存结构|程序计数器
  4. 不管什么事,只要用心做,总不会太差!
  5. CentOS 7 搭建swagger Api文档管理系统
  6. git安装 perl ubuntu_Ubuntu系统上安装Git
  7. bootstrap学习记录
  8. 天首发展,音飞储存要起飞
  9. wpf webbrowser获取选中文本_网页文本高亮插件 web-marker
  10. 计算机子网掩码作用,子网掩码计算器有什么用,有哪些优势
  11. 强化物联网连接 Silicon Labs收购Micrium
  12. 多声道音频指南(二)—— 前世与今生
  13. IDEA插件系列(105):IDEA Mind Map插件——IDEA思维导图
  14. HCIE华为面试-BGP负载分担
  15. abap 发票冲销VF11的BAPI:BAPI_BILLINGDOC_CANCEL1
  16. PyTorch中tensor介绍
  17. 禁止Altium designer(其他软件同样适用)联网的配置操作
  18. 国防科大计算机科学与技术专业排名,国防科技大学王牌专业排名
  19. 加入计算机网络协会申请书,大学生退出协会申请书
  20. Linux 系统 uos / deepin 系统安装过程中 最全常用命令及问题 总结

热门文章

  1. C++ 模板:template
  2. python【数据结构与算法】表达式(前缀中缀后缀表达式)与Two fork tree
  3. python【力扣LeetCode算法题库】206-反转链表
  4. php 长文本_php字符串太长怎么办
  5. python3 模块编写_python3 _pickle模块详解
  6. mysql 5.5.安装包_Mysql的详细安装教程!亲测可用!!!
  7. mysql 1280_mysql基础
  8. 四川网络推广浅析网站标题到底能不能修改,什么时候能修改?
  9. excel如何分类汇总_Excel教程:一个排序后分类汇总他弄了一天 Excel神技能!
  10. mongodb 开启身份认证_Yum安装mongodb及开启用户认证远程登录