阅读以下说明,回答问题,将解答填入答题纸的对应栏内。 【说明】 在开发某大型电子商务系统项目过程中,为保证软件的开发质量,需要进行软件测试。某测试员需要完成销售情况统计模块及某函数的测试任务。 根据以下程序代码、程序控制流程图及测试用例表,填写(1)~(

admin2021-03-25  25

问题  阅读以下说明,回答问题,将解答填入答题纸的对应栏内。
【说明】
在开发某大型电子商务系统项目过程中,为保证软件的开发质量,需要进行软件测试。某测试员需要完成销售情况统计模块及某函数的测试任务。
根据以下程序代码、程序控制流程图及测试用例表,填写(1)~(7)空。
1.    int TestFunction(int  sum,int  flag)
2.    {
3.    int temp=0;
4.    while(sum>0)
5.    {
6.    if(flag==0)
7.    {
8.temp=sum+50;
9.    break;
10.    }
11.    else
12.    {
13.    if(flag==1)
14.    {
15.temp+=10;
16.    }
17.    else
18.    {
19.temp+=20;
20.    }
21.    }
22.    sum—一;
23.    }
24.    return temp;
25.}
    测试人员使用基本路径测试方法测试该函数,根据程序
执行情况,绘制程序的控制流程图,如图3.1所示。

    注:在图3.1中的数字是源程序中的行号,语句3和4
顺序执行,合并为结点4;语句8和9顺序执行,合并为结
点8。
    由图3.1可以计算出程序环路复杂度V(G)=(1)一
(2)+2=4。
    结合程序代码,在图3—1中,从起始结点4到终止结点
24共有4条独立路径:
    Ⅰ) 4.24
    Ⅱ)4,6,8,24
    Ⅲ) (3)
    Ⅳ)4,6,13,19,22,4,24
    针对上面4条独立路径,可以设计表3-1l所示的测试用例。

选项

答案(1)10 (2)8 (3)4, 6, 13, 15, 22,4, 24 (4)1 (5)II或者2 (6)0 (7)III或者3

解析 本问题考查了基本路径软件测试方法。结合程序代码、程序控制流程图,计算程序环路复杂度,分析程序执行的独立路径。
环路复杂度用来定量度量程序的逻辑复杂度,通常标记为V(G)。环路复杂度可根据程序控制流图计算得到(流图一般标记为G)。计算环路复杂度通常采用以下3种方法:
(1)控制流图中的区域数等于环路复杂度。
(2)v(G)=E—N+2,其中,E是控制流图中边的数量,N是节点的数量。
(3)v(G)=P+1,其中,P是控制流图中判定节点的数量。
题目考查的是使用第二种方法计算环路复杂度,由图3一1控制流图可得到,控制流图中边的数量E=10,节点的数量N=8,所以V(G)=10—8+2=4。
独立路径也称为基本路径,其含义包含以下两点:
(1)独立路径是一条从起始节点到终止节点的路径。
(2)一条独立路径至少包含一条其他独立路径没有包含的边,也就是说,至少引入了一条新的执行语句。
根据上述规则,可以看出从起始结点4到终止结点24共有4条独立路径,而第三条独立路径应为:4,6,13,15,22,4,24。
分析程序代码可知,当flag=0时,执行结果返回sum+50;当flag=1时,执行结果返回sum*10;当flag为其他值、sum的值大于0时,执行结果返回sum*20;当flag为其他值、sum的值小于0时,程序不执行循环体中的语句,执行结果返回temp的初始值。
在基本路径测试用例中,要使程序代码执行路径Ⅳ,当flag=2,执行结果temp=20时,说明sum的值大于0,根据执行结果可知,sum=1;
当flag=0,sum=1时,temp=1+50=51,程序代码执行路径II;
当flag的值为任意值、sum小于0时,程序不执行循环体语句,temp=0,程序代码
执行路径I;
当flag=1,sum=2时,tenlp=2×10=20,程序代码执行路径III。
转载请注明原文地址:https://kaotiyun.com/show/BvXZ777K
0

最新回复(0)