广州软件测试

简体版 繁体版

 时代测试 > 软件测试服务 > 测试用例--因果图讲解例子

测试用例--因果图讲解例子

因果图实例讲解

软件测试中心:陈大卫   20017

 

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

 

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

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

 


考虑结果不能同时发生,所以对其施加唯一约束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