博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
象棋中马行走路线的测试用例设计
阅读量:7064 次
发布时间:2019-06-28

本文共 1358 字,大约阅读时间需要 4 分钟。

声明:
  这个例子的设计并不是我首先想出的,我参考了原文,然后经过整理,融汇了我的Excel技巧,把它整理了出来,分析了表的生成过程,比原来的设计有一定的易学易用性。现在让大家来进行分析与 。
  
需求规格:
  1、如果落点在棋盘外,则不 棋子;
  2、如果落点与起点不构成日字型,则不移动棋子;
  3、如果落点处有自己方棋子,则不移动棋子;
  4、如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子;
  5、如果不属于1-4条,且落点处无棋子,则移动棋子;
  6、如果不属于1-4条,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子;
  7、如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。
  
一.原因条件:
  1、 落点在棋盘上;
  2、 落点与起点构成日字;
  3、 落点处不为自己方棋子;
  4、 落点方向的邻近交叉点有棋子(绊马腿);
  5、 落点处无棋子;
  6、 落点处为对方棋子(非老将);
  7、 落点处为对方老将。
 
 二.结果动作:
  21.不移动棋子
  22.移动棋子(不吃子)
  23.移动棋子并除去对方棋子
  24.移动棋子除去对方老将,胜利。
  添加一个中间节点11,这样能够简化设计。然后画出因果图:
  通常的设计方法就是一个表的方法,我称为一表法。但是七个因子,表格就会非常的长,让人望而却步!2^7=128,那么长的表是一般人不能做到的,在Excel里面都感觉版面不够,要是拿来考试怎么办?所以这里提供两表法。1、2、3、4只与11及21有关,可以使用一个表先处理。然后11、5、6、7有可以作为一个表。
  1、列出表一
  合并表一:
  黄色背景的项说明了他们可以合并,合并后得到:
  2、列出表二
  3、把两个表合并成一个表
  由11因子的中介作用,合并的表二的每一个因子都对应一个表一的所有与之相同值的项,如表二中的列1就对应表一的1、9、13、16,如此对应,可生成下面的表格:
  由于上表中有一些相似的项,可以考虑他们是否可以合并,所有先在Excel中把相似的项复制在一起,得到下面的表:
  这样就可以生成测试用例了。其实真正的用例就在表中,只是还是要写成连菜鸟也要看得懂的文字而已。下面是用例:
  用例1:如果在棋盘上,构成日字,并且不是自己方棋子,落点方向的邻近交叉点没有棋子,落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。
  用例2:如果在棋盘上,构成日字,并且不是自己方棋子,落点方向的邻近交叉点没有棋子,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子。
  用例3:如果在棋盘上,构成日字,并且不是自己方棋子,落点方向的邻近交叉点没有棋子,且落点处无棋子,则移动棋子。
  用例4:如果落点不在棋盘上,直接不移动棋子。
  用例5:如果落点在棋盘上,不构成日字,则不移动棋子。
  用例6:如果落点在棋盘上,构成日字,是自己方棋子,不移动棋子。
  用例7:如果落点在棋盘上,构成日字,不是自己方棋子,落点方向的邻近交叉点上有棋子,则不移动棋子。
最新内容请见作者的GitHub页:http://qaseven.github.io/

转载地址:http://jwsll.baihongyu.com/

你可能感兴趣的文章
oracle常用操作语句
查看>>
VRRP和HSRP
查看>>
Nginx 400错误研究
查看>>
css笔记04
查看>>
swagger-bootstrap-ui使用
查看>>
c语言:在屏幕上打印杨辉三角。
查看>>
Redis 安装及配置
查看>>
OpenSSL学习(二十一):基础-指令s_server
查看>>
PKI的逻辑思想
查看>>
OpenCV for Mac 编译 CMake Error at cmake/OpenCVUtils.cmake:42 (if):
查看>>
简易定制 Debian 软件仓库
查看>>
如何安装 gearmand 及对应的 php 扩展
查看>>
cocos2d-x引擎库binary版本制作(Windows环境)
查看>>
MongoDB副本集搭建
查看>>
Matlab中堆叠矩阵repmat的使用!
查看>>
设置 java -jar 的进程显示名称
查看>>
linux运维实战练习-2015年8月30日课程作业
查看>>
HDU 2019
查看>>
RabbitMQ
查看>>
项目规划管理 - 1
查看>>