51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 16181|回复: 10
打印 上一主题 下一主题

[原创] 象棋中马的走法的因果图求助

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-6-10 21:42:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
根据以下关于中国象棋软件中关于走马的规则的描述,分析其因果图,并设计用例:
1) 如果落点在棋盘外,则不移动棋子;
2) 如果落点与起点不构成日字型,则不移动棋子;
3) 如果落点处有自己方棋子,则不移动棋子;
4) 如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子;
5) 如果不属于1-4条,且落点处无棋子,则移动棋子;
6) 如果不属于1-4条,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子;
7) 如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。


上课得到的答案和晚上搜索的答案不一样
很是郁闷
是没有标砖答案还是两个答案都有问题?
各位高手..有谁可以给一个答案并说明看看
感激不尽
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2012-6-11 02:29:39 | 只看该作者
LZ的公布的用例应该是凭空想象的用例,而不是基于软件开发设计的用例。原因如下:
1) 如果落点在棋盘外,则不移动棋子;
这点是不可能的,因为在软件的棋盘外,是没有可接收落点的事件响应的,即:软件中是不会有出界后的落点响应,最多就是出界提示而已,但该规则适用于所有棋子的约束;
2) 如果落点与起点不构成日字型,则不移动棋子;
这点也不符合软件设计的算法。这类软件的设计方法应该采取的是通过坐标标识棋盘各点,之后取当前选中棋子的坐标,传入该棋子(马)行动方法的函数,马可走的坐标为8个,在这8个中判断是否出界,出界的视为无效,凡是落点不等于有效坐标的,都不得移动棋子;
3) 如果落点处有自己方棋子,则不移动棋子;
道理同1,此处应为公共约束,凡是落点上为己方棋子,均不得移动且提示;
个人建议的测试用例:
1、“马”棋子,是否有公共约束:出界判断;(即:公共约束出界判断是否写入了“马”这个棋子的行动方法中);
2、落点是否为有效落点,不是则提示;
3、落点为有效落点,则此处是否有其他棋子,没有其他棋子则移动;
4、落点处有其他棋子,则判断是否为我方棋子,如果是,则是否调用公共约束,不得移动且提示;
5、如果落点处是对方棋子则判断对方棋子是否为“将”或“帅”(你懂得),如果不是,则移动棋子并除去对方棋子;
6、如果对方棋子是“将”或“帅”则移动棋子,并提示战胜对方,游戏结束。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2012-6-11 09:41:44 | 只看该作者
该例子在网上有两个版本,都存在一定的问题,所以课堂讲解和网上内容不一致很正常,但是至于你提到的标准答案,有,但是需要看因果分析与图的对应等全部内容,而不能只看因果分析,因为因果分析定义不同,则后续操作也会对应变化。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2012-6-11 11:34:20 | 只看该作者
不好意思,回答问题时漏掉一项,现在补充:
第2个用例需要修改为:落点是否为有效落点,不是有效落点则提示;如果是有效落点,则判断是否有(绊马腿)。其程序实现方法应为取出棋子(马)的当前坐标,之后检查(绊马腿)约束方法(马有四个绊马腿坐标),与落点同向的“绊马腿”坐标中有棋子则不移动,无棋子则移动。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2012-6-11 17:26:46 | 只看该作者
用例的设计需要分析思考,对于设计的结果一次有时候很难定稿,需要修订,甚至多次的修订、整理精简。
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2015-12-22 14:29
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    6#
    发表于 2012-6-12 09:54:15 | 只看该作者
    本帖最后由 liujintao00 于 2012-6-12 09:57 编辑

    回复 4# 清风随雨

    清风设计测试用例的思想是根据“程序设计”设计测试用例,非常赞同这种设计用例的方法。这种设计测试用例的方法非常有针对性。
    我们测试的对象是程序不是需求。同样的需求,如果采用多种不同的程序设计,对应的测试用例也应该做相应的调整

    那么怎么保证程序设计满足于需求呢? 这就要在设计评审来实现
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2012-6-12 14:27:58 | 只看该作者
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2012-6-12 14:28:16 | 只看该作者
    回复 7# limit1


       
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2012-6-12 14:28:56 | 只看该作者
    回复 7# limit1


       
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2012-6-12 15:00:21 | 只看该作者
    看不懂呢,听不懂说的什么。因果方法,怎么样也理解不了,是不是不适合作软件测试呀
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
     楼主| 发表于 2012-6-14 12:15:38 | 只看该作者
    谢谢各位,实在太好了
    感激不尽
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-12 05:26 , Processed in 0.065893 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表