软件测试 因果+决策案例--中国象棋中走马

时间:2024-03-14 11:07:02

软件测试 因果+决策案例–中国象棋中走马

题目: 因果+决策案例

中国象棋中走马的实际情况:

1.如果落点在棋盘外,则不移动棋子;

2.如果落点与起点不构成日字型,则不移动棋子;

3.如果落点处有自己方棋子,则不移动棋子;

4.如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子;

5.如果不属于1-4条,且落点处无棋子,则移动棋子;

6.如果不属于1-4条,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子;

7.如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束

解答:

分析题目可得原因和结果如下所示:

原因 结果
1.落点在棋盘上 21.不移动棋子
2.落点与起点构成日字 22.移动棋子
3.落点处为自己方棋子 23.移动棋子,并除去对方棋子
4.落点方向的邻近交叉点无棋子 24.移动棋子,并提示战胜对方,结束游戏
5.落点处无棋子
6.落点处为对方棋子(非老将)
7.落点处为对方老将

由此可得因果图如下所示:

软件测试 因果+决策案例--中国象棋中走马

注:1、添加中间节点11,目的是作为导出结果的进一步原因。

2、考虑结果不能同时发生,所以对其施加唯一约束O。

3、原因5、6、7不能同时发生,所以对其施加异约束E。

根据因果图建立判定表(分为两表):

软件测试 因果+决策案例--中国象棋中走马

软件测试 因果+决策案例--中国象棋中走马

软件测试 因果+决策案例--中国象棋中走马

软件测试 因果+决策案例--中国象棋中走马

注:1、表2中部分列被合并表示不可能发生的现象。

2、通过中间节点将用例的判定表简化为两个小表,减少了工作量。

3、用例因不方便写入原始表格中,故另单独用表列出。其中己方为红棋。

4、假定棋谱中10条横线从上到下分别用小写字母a、b、c、d、e、f、g、h、i、j表示,9条竖线从左到右分别用数字1、2、3、4、5、6、7、8、9表示。例如黑炮位置c2。

母a、b、c、d、e、f、g、h、i、j表示,9条竖线从左到右分别用数字1、2、3、4、5、6、7、8、9表示。例如黑炮位置c2。

软件测试 因果+决策案例--中国象棋中走马