问题 问答题

用基本路径测试法为下列程序设计测试用例。
void sort (int iRecordNum,int itype)

int x=0;y=0;
while (iRecordNuin>0)

if (itype==0)
x=y+2;break;
else

if(itype==1)
x=y+10;
else
x=y+20;


答案

参考答案:(1)根据上面的源程序画出对应的程序流程图和控制流图,如图1、2所示:
[*]
[*]
(2)计算得到的控制流图G(图2)的环路复杂度V(G):
V(G)=P+1=3(判定节点数)+1=4
V(G)=E-N+2=10-8+2=4
V(G)=4(区域数)
这里的环路复杂性“4”也代表了构成基本路径集的独立路径,V(G)=4恰好为程序中的独立路径条数。
(3)确定线性无关的路径的基本集。由该程序的环路复杂性为4,可确定该图有4条线性无关的基本路径集,分别是:
Path1:4—14
Path2:4—6—7—14
Path3:4—6—8一10—13—4—14
Path4:4—6—8—11—13—4—14
(4)生成测试用例,确保基本路径集中每条路径的执行。根据判定节点给出的条件选择适当的数据以保证选定的路径可以被测试到。满足上面基本路径集的测试用例是:
①测试用例1—Pathl(4—14)
输入数据:iRecordNum=0,或任取iRecordNum<0的某一个值
期望输出结果:x=0
②测试用例2—Path2(4—6—7—14)
输入数据:iRecordNum=1,itype=0
期望输出结果:x=2
③测试用例3—Path3(4—6—8—10—13—4—14)
输入数据:iRecordNum=1,itype=1
期望输出结果:x=10
④测试用例4—Path4(4—6—8—11—13—4—14)
输入数据:iRecordNum=1,itype=2
期望输出结果:x=20

填空题
单项选择题