参考答案与分析
一、选择题(1-25每题2分,共50分)
1. A 2. A 3. C 4. C5. C
6. B 7. B 8. B 9. D10. C
11. B 12. D 13. A 14. D15. C
16. D 17. B 18. C 19. D20. C
21. C 22. C 23. A 24. C25. A
二、论述题
1.首先分析手机中MP3播放器的各种状态有三个:播放、待机和停止。故根据题意找出各种状态之间转换的关系及条件,画出该程序状态图,如下图所示:
2.问题1:
解答:
首先分析软件中出现的所有原因和结果,并将其标号。
原因:
1 投入1元5角硬币
2 投入2元硬币
3 按"可乐"按钮
4 按"雪碧"按钮
5 按"红茶"按钮
结果:
21 退还5角硬币
22 送出"可乐"饮料
23 送出"雪碧"饮料
24 送出"红茶"饮料
中间状态:
11 已投币
12 已按钮
然后根据上述原因和结果,以及各状态间的关系,画出因果图,如图所示:
问题2:
解答:
将上述因果图转换为判定表,如表所示,每一列可以作为确定测试用例的依据。
3.问题1:
解答:
根据源程序易得流程图,如图所示。
问题2:
解答:
经过分析不难知,上面这个程序包含:
1)五个语句:每行一个语句。
2)三个条件:a>0;b<0;c>0
3)四个分支:有两个if语句,每个if语句有两个分支。
4)六个条件组合:条件表达式(a>0)||(b<0) 共有两个条件,a>0和 b<0,故有四个条件组合;条件表达式(c>0) 只有一个条件c>0,故有两个条件组合。所以该程序共有六个条件组合。
5)四条路径:从程序的入口到出口的路径共有四条,分别是:
Path1:1-2-3-5-6-8
Path2:1-2-3-5-7-8
Path3:1-2-4-5-6-8
Path4:1-2-4-5-7-8
这个程序有三个输入:a、b、c,其输入数据组合是非常大的。下面对该程序分别应用不同的逻辑覆盖准则,设计测试用例。
1 语句覆盖
根据语句覆盖准则,只需要采用两个输入数据组合:(a,b,c)=(1,1,1)、(-1,1,1),便可以把该程序的所有五个语句执行一遍。
2 分支覆盖(判定覆盖)
根据分支覆盖准则,只需要采用两个输入数据组合:(a,b,c)=(1,1,-1)、(-1,1,1),便可以把该程序的所有四个分支走遍。但未考虑b<0的情况,故不满足条件覆盖。说明满足分支覆盖的测试用例未必满足条件覆盖。
3条件覆盖
根据条件覆盖准则,只需要采用两个输入数据组合:(a,b,c)=(1,1,-1)、(-1,-1,1),便可以把该程序的三个条件的真假情况都覆盖到。 由于表达式(a>0)||(b<0)的计算值都为真,不会执行else语句,即不满足分支覆盖和语句覆盖。说明满足条件覆盖的未必满足分支覆盖和语句覆盖。
4条件组合覆盖
根据条件组合的覆盖准则 只需要采用四个输入数据组合:(a,b,c)=(1,-1,1)、(1,1,1)、(-1,1,-1)、(-1,-1,-1),便可以把该程序的六个条件组合情况覆盖到。但执行的路径数只有2个,故不满足路径覆盖。说明满足条件组合的覆盖不一定满足路径覆盖。
5 路径覆盖
根据路径覆盖的准则,由图 可见,只需要采用四个输入数据组合:(a,b,c)=(1,1,1)、(1,1,-1)、(-1,1,1)、(-1,1,-1),便可以把该程序的所有四条路径都覆盖。路径覆盖是最强的覆盖准则。
全国职称计算机考试速成过关系列套装:W .. 定价:¥133 优惠价:¥133.0 更多书籍 | |
全国职称计算机考试速成过关系列套装:W .. 定价:¥124 优惠价:¥124.0 更多书籍 |