论述题2:以下是某“象棋中走马事件”应用程序的走马规则,请按要求回答问题
以下是中国象棋中走马事件中的走马原则:
1)如果落点在棋盘外,则不移动棋子。
2)如果落点与起点不构成日字型,则不移动棋子。
3)如果落点处有己方棋子,则不移动棋子。
4)如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子。
5)如果不属于(1)~(4)条,且落点处无棋子,则移动棋子。
6)如果不属于(1)~(4)条,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子。
7)如果不属于(1)~(4)条,且落点处为对方老将,则移动棋子,并提示战胜对方,
游戏结束。
(1)画出该应用程序的因果图。
(2对该软件进行基于因果图的方法设计测试用例。
答案说明:本题目答案来自网络整理或转载,最终答案请以官网为准。
答 案:问题1:解答:第一步从中国象棋中走马事件中的走马原则的描述中明确原因和结果。原因:1 落点在棋盘上。2 落点与起点构成日字。3 落点处无己方棋子。4 落点方向的邻近交叉点无棋子。5 落点处无棋子。6 落点处为对方棋子(非老将)。7 落点处为对方老将。结果:21.不移动棋子。22.移动棋子。23.移动棋子并除去对方棋子。24.移动棋子并提示战胜对方结束游戏。第二步根据上面分析的原因和结果结合题目中二者的关系建立因果图。其因果图如图17-3所示图中结点11是导出结果的进一步原因。第三步标记约束。由于4种结果不能同时发生所以在因果图上标记O(惟一)约束。由于原因5、6、7不能同时发生所以在因果图上标出E(异)约束。 问题2:解答:根据上面的因果图建立对应的判定表。在该应用程序中原因有7个一个完整的判定表应有27(上标)=128种情况。由于篇幅的限制且考虑到5、 6、7原因只与中间结果11有关所以这里将完整的判定表拆分为两个子表如表17-12和表17-13所示。对于结果22、23、24中间结果是原因因此在表17-13中将11作为原因。 由表17-12可知当结点11为1时结果21为0。由于结果21、22、23、24受到O约束的限制不能同时为0所以在表17-13中的的2列是不能出现的情况;同样受到O约束的还有8、12、14和16列;由于E约束第7、8、11到16列也是不可能出现的情况。在表中用灰框表示。最后根据判定表设计测试用例。如表17-13所示判定表中没有被划去的每一列就是一个测试用例。
问题1:解答:第一步,从中国象棋中走马事件中的走马原则的描述中,明确原因和结果。原因:1 落点在棋盘上。2 落点与起点构成日字。3 落点处无己方棋子。4 落点方向的邻近交叉点无棋子。5 落点处无棋子。6 落点处为对方棋子(非老将)。7 落点处为对方老将。结果:21.不移动棋子。22.移动棋子。23.移动棋子,并除去对方棋子。24.移动棋子,并提示战胜对方,结束游戏。第二步,根据上面分析的原因和结果,结合题目中二者的关系,建立因果图。其因果图如图17-3所示,图中,结点11是导出结果的进一步原因。第三步,标记约束。由于4种结果不能同时发生,所以在因果图上标记O(惟一)约束。由于原因5、6、7不能同时发生,所以在因果图上标出E(异)约束。 问题2:解答:根据上面的因果图,建立对应的判定表。在该应用程序中,原因有7个,一个完整的判定表应有27(上标)=128种情况。由于篇幅的限制,且考虑到5、 6、7原因只与中间结果11有关,所以这里将完整的判定表拆分为两个子表,如表17-12和表17-13所示。对于结果22、23、24,中间结果是原因,因此在表17-13中,将11作为原因。 由表17-12可知,当结点11为1时,结果21为0。由于结果21、22、23、24受到O约束的限制,不能同时为0,所以在表17-13中的的2列是不能出现的情况;同样受到O约束的还有8、12、14和16列;由于E约束,第7、8、11到16列也是不可能出现的情况。在表中用灰框表示。最后根据判定表设计测试用例。如表17-13所示,判定表中没有被划去的每一列就是一个测试用例。 解析:首先分析走马规则,找出所有的原因以及所有可能的结果,结合题目中找出二者的联系,按照因果图的画法规则,画出因果图。然后按照基于因果图的方法设计测试用例。