问题 问答题

用基本路径测试法为下列程序设计测试用例。
程序功能描述:计算学生人数、学生分数的总分数和平均分。要求运行时最多输入50个学生分数(以-1作为输入结束的标志),程序流程图如下图所示。

答案

参考答案:(1) 根据题目中的程序流程图,将其转换为控制流图,如下图所示。
[*]
(2) 计算得到的控制流图G的环路复杂性V(G)
V(G)=P+1=5(判定节点数)+1=6
V(G)=E-N+2=16-12+2=6
V(G)=6(区域数)
(3) 确定线性无关的路径的基本集。由该程序的环路复杂性为6,可确定该图有6条线性无关的基本路径集,分别是:
Path1:1-2-9-10-12
Path2:1-2-9-11-12
Path3:1-2-3-9-10-12
Path4:1-2-4-5-8-2....
Path5:1-2-4-5-6-8-2-...
Path6:1-2-4-5-6-7-8-2-...
(4) 生成测试用例,确保基本路径集中每条路径的执行。根据判定节点给出的条件选择适当的数据以保证特定路径可以被测试到。满足上面基本路径集的测试用例是:
①测试用例1-Path1(1-2-9-10-12)。
输入数据:score[k]=有效分数值;score[i]=-1,2<=i<=50。
期望输出结果:根据输入的有效分数算出正确的学生人数n1,总分sum,平均分average。
②测试用例2-Path2(1-2-9-11-12)。
输入数据:score[i]=-1。
期望输出结果:平均分average=-1,其他保持初始值。
③测试用例3-Path3(1-2-3-9-10-12)。
输入数据:多于50个有效分数值,即试图处理51个分数,要求前51个为有效分数。
期望输出结果:n1=50,且算出正确的总分sum和平均分average。
④测试用例4-Path4(1-2-4-5-8-2-...)。
输入数据:score[i]=有效分数值,当i<50;score[k]<0。
期望输出结果:根据输入的有效分数算出正确的学生人数n1,总分sum,平均分average。
⑤测试用例5-Path5(1-2-4-5-6-8-2-...)。
输入数据:score[k]:有效分数值,当i<50;score[k]>100。
期望输出结果:根据输入的有效分数算出正确的学生人数n1,总分sum,平均分average。
⑥测试用例6-Path6(1-2-4-5-6-7-8-2-...)。
输入数据:score[k]=有效分数值,当i<50。
划望输出结果:根据输入的有效分数算出正确的学生人数n1,总分sum,平均分average。

问答题
单项选择题 A1/A2型题