一、选择题(1-25每题2分,共50分)
1. B 2. B 3. D 4. A5. B
6. B 7. D 8. D 9. C10. B
11. B 12. B 13. D 14. C15. C
16. D 17. B 18. D 19. B20. B
21. D 22. D 23. B 24. C25. D
二、论述题
1.问题1:
解答:
根据题意,划分等价类。
假定已知出生年月由六位数字字符表示,前四位代表年,后两位代表月,则可以划分三个有效等价类和七个无效等价类。具体如下:
有效等价类:
出生年月:
(1)六位数字
对应数值:
(5)197003-198912
月份对应数值:
(8)在1-12之间
无效等价类:
出生年月:
(2)含非数字字符
(3)少于六个数字字符
(4)多于六个数字字符
对应数值:
(6)小于197003
(7)大于198912
月份对应数值:
(9)等于0
(10)大于12
问题2:
解答:
根据上述等价类划分,设计测试用例。
有效等价类的测试用例,如下表所示:
无效等价类的测试用例,如下表所示:
2.问题1:
解答:
第一步,从中国象棋中走马事件中的走马原则的描述中,明确原因和结果。
原因:
1 落点在棋盘上。
2 落点与起点构成日字。
3 落点处无己方棋子。
4 落点方向的邻近交叉点无棋子。
5 落点处无棋子。
6 落点处为对方棋子(非老将)。
7 落点处为对方老将。
结果:
21.不移动棋子。
22.移动棋子。
23.移动棋子,并除去对方棋子。
24.移动棋子,并提示战胜对方,结束游戏。
第二步,根据上面分析的原因和结果,结合题目中二者的关系,建立因果图。
其因果图如图???所示,图中,结点11是导出结果的进一步原因。
第三步,标记约束。
由于4种结果不能同时发生,所以在因果图上标记O(唯一)约束。由于原因5、6、7不能同时发生,所以在因果图上标出E(异)约束。
问题2:
解答:
根据上面的因果图,建立对应的判定表。
在该应用程序中,原因有7个,一个完整的判定表应有27=128种情况。由于篇幅的限制,且考虑到5、6、7原因只与中间结果11有关,所以这里将完整的判定表拆分为两个子表,下面两个表所示。对于结果22、23、24,中间结果是原因,因此在后一个表中,将11作为原因。
由表可知,当结点11为1时,结果21为0。由于结果21、22、23、24受到O约束的限制,不能同时为0,所以在表17-13中的的2列是不能出现的情况;同样受到O约束的还有8、12、14和16列;由于E约束,第7、8、11到16列也是不可能出现的情况。在表中用灰框表示。
最后根据判定表设计测试用例。判定表中没有被划去的每一列就是一个测试用例。
3.问题1:
解答:
根据程序的源代码,容易画出对应的控制流图,如下图所示:
(其中圈中的数字代表的是语句的行号)
问题2:
解答:
第一步,根据上述控制流图计算该程序的环路复杂性。
由图可以看出,判定节点数为3,边数为10,节点总数为8,故
V(G)=10-8+2=4
或V(G)=3+1=4
第二步,根据环路复杂度为4,可确定4条基本独立路径。
Path1:4-24
Path2:4-6-8-24
Path3:4-6-13-15-22-4-24
Path4:4-6-13-19-22-4-24
第三步,设计测试用例
根据上面4条基本独立路径,可以设计测试用例如下:
测试用例1:
输入数据:i_flag=0, 或者是i_flag<0的某个值。
预期输出结果:i_temp=0。
测试用例2:
输入数据:i_count=1, i_flag=0。
预期输出结果:i_temp=101。
测试用例3:
输入数据:i_count=1, i_flag=1。
预期输出结果:i_temp=10。
测试用例4:
输入数据:i_count=1, i_flag=2。
预期输出结果:i_temp=20。
但这些测试用例是可以简化的,由于路径path1是path4的真子集,所以path1是可以不要的。故针对该程序最少的测试用例数为3,即上述测试用例2,测试用例3,测试用例4。
全国职称计算机考试速成过关系列套装:W .. 定价:¥133 优惠价:¥133.0 更多书籍 | |
全国职称计算机考试速成过关系列套装:W .. 定价:¥124 优惠价:¥124.0 更多书籍 |