咚咚咚
静静聆听内心世界的声音                                  常常有令人欢喜的旋律响起                                可以简单、可以深沉                                    可以抒情、可以喧哗
posts - 4,comments - 12,trackbacks - 0

此例子是讲解利用因果图设计测试用例的一个小例子。以中国象棋中走马的测试用例设计为例学习因果图的使用方法。

一、分析中国象棋中走马的实际情况(下面未注明的均指的是对马的说明)

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,目的是作为导出结果的进一步原因,简化因果图导出的判定表
4.jpg

考虑结果不能同时发生,所以对其施加唯一约束O原因567不能同时发生,所以对其施加异约束E.

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

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

原因

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

2

0

0

1

1

0

0

1

1

0

0

1

1

0

0

1

1

3

0

0

0

0

1

1

1

1

0

0

0

0

1

1

1

1

4

0

0

0

0

0

0

0

0

1

1

1

1

1

1

1

1

结果

11

0

0

0

0

0

0

0

1

0

0

0

0

0

0

0

0

21

1

1

1

1

1

1

1

0

1

1

1

1

1

1

1

1

用例

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

2

3

4

5

6

7

8

9

`0

11

12

13

14

15

16

原因

11

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

5

0

0

1

1

0

0

1

1

0

0

1

1

0

0

1

1

6

0

0

0

0

1

1

1

1

0

0

0

0

1

1

1

1

7

0

0

0

0

0

0

0

0

1

1

1

1

1

1

1

1

结果

22

0

 

0

1

0

0

 

 

0

0

 

 

 

 

 

 

23

0

0

0

0

1

0

0

24

0

0

0

0

0

0

1

用例

 

 

 

 

 

 

 

 

注:1、以上判定表中由于表格大小限制没有列出最后所选的测试用例;2、第2表中部分列被合并表示不可能发生的现象;3、通过中间节点将用例的判定表简化为两个小表。减少工作量。

 

四、根据判定表写测试用例表(略)

posted on 2005-12-05 09:32 咚咚咚 阅读(4627) 评论(4)  编辑 收藏 引用 所属分类: TestCase

FeedBack:
# re: 因果图实例讲解
2007-07-10 17:24 | 只用脑袋测试的TESTER
看懂了 这东西还真够麻烦的 不知道有谁会去用   回复  更多评论
  
# re: 因果图实例讲解
2008-04-15 09:39 | zy
学习了  回复  更多评论
  
# re: 因果图实例讲解
2014-11-11 14:46 | 杨华青
谁有中国象棋中象的走法为例的因果图案例
  回复  更多评论
  
只有注册用户登录后才能发表评论。