测试资料
接着我们讲一下使用因果图法的步骤:
1、根据程序规格说明书描述的语义内容,分析并确定“因”和“果”,将其表示成连接各个原因与各个结果的“因果图”。需要注意的是,由于语法或环境的限制,某些原因和结果的组合情况是不可能出现的。为表明这些特定的情况,需要在因果图上使用若干个约束符号来标明约束条件;
2、将得到的因果图转换成判定表;
3、为判定表中每一列所表示的情况设计一个测试用例。
对于较为复杂的问题,这个方法常常是十分有效的。具体我们来举个例子来讲,可以更好的理解。
举例:
以中国象棋中马的走法为例子,具体说明:
1、如果落点在棋盘外,则不移动棋子;2、如果落点与起点不构成日字型,则不移动棋子;3、如果落点处有自己方棋子,则不移动棋子;4、如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子;5、如果不属于1-4条,且落点处无棋子,则移动棋子;6、如果不属于1-4条,且落点处为对方棋子 (非老将) ,则移动棋子并除去对方棋子;7如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。
对说明进行分析,得到原因和结果: 原因:
1、 落点在棋盘外; 2、 不构成日字; 3、 落点有自方棋子; 4、 绊马腿; 5、 落点无棋子; 6、 落点为对方棋子; 7、 落点为对方老将。 结果:
1、 不移动; 2、 移动;
3、 移动己方棋子消除对方棋子; 4、 移动并战胜对方。
根据分析出来的原因和结果,我们可以画出因果图,如下: