更多“ 根据McCabe环路复杂性度量,下面程序图(图5-2)的复杂度是(1),对这个程序进行路径覆盖测试,可得到的基本路径是(2)。(1)A.2B.3C.4D.5 ”相关问题
  • 第1题:

    ● 某程序的程序图如下所示,运用 McCabe 度量法对其进行度量,其环路复杂度是(32) 。

    (32)A. 2 B. 3 C. 4 D. 5


    正确答案:D

  • 第2题:

    ● 某程序的程序图如下图所示,运用 McCabe 度量法对其进行度量,其环路复杂度是 (36) 。

    (36)A. 4 B. 5 C. 6 D. 8


    正确答案:C

  • 第3题:

    Mcc:abe度量法是通过定义环路复杂度,建立程序复杂性的度量,它基于一个程序模块的程序图中环路的个数。计算有向图G的环路复杂性的公式为:V(G)=m—n+2,其中V(G)是有向图G中的环路个数,m是G中的有向弧数,n是G中的节点数。下图所示程序图的程序复杂度是( )。

    A.2

    B.3

    C.4

    D.5


    正确答案:B
    解析:要采用McCabe度量法度量程序复杂度,需要先画出程序流图,识别有向图中节点数n=8,有向弧数m=7,然后利用环路复杂性计算公式V(G)=m-n+2进行计算,得出程序图的程序复杂度是3。

  • 第4题:

    下图所示的程序流程图中有 (34)条不同的简单路径。采用McCabe度量法计算该程序图的环路复杂性为 (35) 。

    A.3

    B.4

    C.5

    D.6


    正确答案:A
    本题考查程序结构和复杂性的基本概念和相关知识。重新画出上述流程图,给相关的操作加上编号,并给出对应的等价图,如下图(a)和(b)所示。从图(a)可知,共有3条简单路径,即①②③④;①②③⑤⑦③;①②③⑤⑥⑦③根据图(b)计算程序复杂性,得到n=7,e=8,因此复杂性为e-n+2=3。

  • 第5题:

    根据Mccabe环路复杂性度量,下面程序图的复杂度是(20),对这个程序进行路径覆盖测试,可得到的基本路径是(21)。

    A.2

    B.3

    C.4

    D.5


    正确答案:C
    解析:程序图的环路数是源代码复杂程度的度量。根据McCabe度量法,环路数N= e-n+2,这里e表示有向图的边数,n表示结点数。图中e=13,n=11,得到N=4。另外一种方法是计算有向图把平面划分成的区域数,这里有3个闭合区域外加1个开放区域,共4个区域。所以程序图的复杂度是4。
      路径测试的关键是要找出程序图中所有可能的路径。对这个程序进行路径覆盖测试,可得到4条基本路径:
      A—B—C—H—I—K
      A—B—C—H—J—K
      A—B—C—D—E—F—G—C—H—I—K
      A—B—C—D—E—G—C—H—I—K
      所有基本路径都是从程序起点到终点,并且包含了至少一条独立的边。

  • 第6题:

    对以下的程序伪代码(用缩进表示程序块)进行路径覆盖测试,至少需要(请作答此空)个测试用例。采用McCabe度量法计算其环路复杂度为( )。

    A.2
    B.4
    C.6
    D.8

    答案:B
    解析:
    由公式可知V(G)=m-n+2得到14-12+2=4.

  • 第7题:

    采用McCabe度量法计算下列程序图的环路复杂性为( )

    A.2
    B.3
    C.4
    D.5

    答案:C
    解析:
    在一个强连通的有向图G中,环的个数为m-n+2p。其中m为图中弧的个数,n为图中的结点数,p是图中强连通分量的个数。题图为一强连通图,故p=1,而图中弧的个数为8,结点数为6,故环的个数为8-6+2=4。

  • 第8题:

    采用McCabe度量法计算下列程序图的环路复杂性为(32)。

    A.2
    B.3
    C.4
    D.5

    答案:C
    解析:
    在一个强连通的有向图G中,环的个数为m-n+2p。其中m为图中弧的个数,n为图中的结点数,p是图中强连通分量的个数。题图为一强连通图,故p=1,而图中弧的个数为8,结点数为6,故环的个数为8-6+2=4。

  • 第9题:

    对下图所示流程图采用McCabe度量法计算该程序的环路复杂性为( )

    A.1
    B.2
    C.3
    D.4

    答案:D
    解析:
    环形复杂度V(G)=E-N+2,其中,E是流图中边的条数,N是结点数。
    V(G)=E-N+2=10-8+2=4。

  • 第10题:

    对下图所示的程序流程图进行语句覆盖测试和路径覆盖测试,采用McCabe度量法计算其环路复杂度为( )。

    A.1
    B.2
    C.3
    D.4

    答案:D
    解析:
    覆盖2条路径就能达到语句覆盖的要求,用2个测试用例即可。路径覆盖需要把程序中的3条路径均覆盖一遍,需要4个用例。整个程序流程图转化为节点图之后,一共11个节点,13条边,根据环路复杂度公式有:13-11+2=4。

  • 第11题:

    对McCabe度量法,叙述错误的是()

    • A、McCabe度量法是一种基于程序控制流的复杂性度量法
    • B、McCabe度量法以图论为工具,用图的环路作为程序复杂性的度量值
    • C、McCabe度量法将简单IF语句和赋值语句的复杂性同等看待
    • D、McCabe复杂性度量也称为环路度量

    正确答案:C

  • 第12题:

    单选题
    下列描述中,不属于基本路径测试步骤的是()
    A

    进行边界值分析

    B

    据详细设计或源程序导出程序图

    C

    计算程序图的环路复杂性

    D

    确定只含独立路径的基本路径集


    正确答案: B
    解析: 暂无解析

  • 第13题:

    ● McCabe度量法是通过定义环路复杂度,建立程序复杂性的度量,它基于一个程序模块的程序图中环路的个数。计算有向图 G 的环路复杂性的公式为:V(G)=m-n+2,其中 V(G)是有向图 G 中的环路个数,m是 G 中的有向弧数,n 是 G 中的节点数。下图所示程序图的程序复杂度是 (32) 。

    (32)

    A. 2

    B. 3

    C. 4

    D. 5


    正确答案:B

  • 第14题:

    某程序的程序图如下图所示,运用McCabe度量法对其进行度量,其环路复杂度是(36) 。

    A.4

    B.5

    C.6

    D.8


    正确答案:C
    解析:McCabe度量法是一种基于程序控制流的复杂性度量方法。McCabe定义的程序复杂性度量值又称环路复杂度,它基于一个程序模块的程序图中环路的个数。计算有向图G的环路复杂性的公式:V(G)=m-n+2,其中V(G)是有向图G中的环路个数,m是图G中有向弧个数,n是图G中结点个数。
    该题中环路复杂度:弧数目一节点数目+2=11-7+2=6。

  • 第15题:

    对下图所示的程序流程图进行语句覆盖测试和路径覆盖测试,至少需要( )个测试用例。采用McCabe 度量法计算其环路复杂度为( )。

    A.2和3B.2和4C.2和5D.2和6A.1B.2C.3D.4


    正确答案:B,D

  • 第16题:

    ●试题二

    阅读下列程序和控制流图,将应填入(n)的字句写在答题纸的对应栏内。

    【程序】

    下面是一段求最大值的程序,其中datalist是数据表,n是datalist的长度。

    int GetMax(int n,int datalist[]){

    int k=0;

    for(int j=1;j<n;j++)

    if(datalist[j]>datalist[k])

    k=j;

    return k;

    }

    【控制流图】

    【问题1】

    该程序的控制流图中A~E分别是什么?

    【问题2】

    计算控制流图的McCabe环路复杂性。

    【问题3】

    用基本路径覆盖法给出测试路径。

    【问题4】

    为各测试路径设计测试用例。


    正确答案:
    ●试题二[问题1]【答案】(1)j<n(2)returnk;(3)datalist[j]>datalist[k]〓(4)k=j;(5)j++;[问题2]【答案】McCabe环路复杂性为3。[问题3]【答案】测试路径:Pathl:①→③Path2:①→②→④→⑥→…Path3:①→②→⑤→⑥→…[问题4]【答案】测试用例:Path1:取n=1,datalist[0]=1,预期结果:k=0Path2:取:n=2,datalist[0]=1,datalist[1]=0,预期结果:k=0Path3:取n=2,datalist[0]=0,datalist[1]=1,预期结果:k=1【解析】本题考查对软件测试概念和过程的理解,结合具体实例运用各种测试技术,学会测试用例设计、软件测试与程序调试的方法。软件测试是为了发现错误而执行程序的过程,其目的在于以最少的时间和人力系统地找出软件中潜在的各种错误和缺陷。根据2004新大纲和最近两次软件设计师考试的真题,不难发现各类系统分析理论的实例化考核比例逐渐升温,只要读者平时对这部分知识的实例多分析、多思考,这部分分数其实不难拿到。

  • 第17题:

    下图所示的程序流程图中有 (请作答此空) 条不同的简单路径,采用McCabe度量法计算该程序图的环路复杂性为 () 。

    A.3
    B.4
    C.5
    D.6

    答案:A
    解析:
    三条简单路径分别为begin→y=n-1成立→output A→end;begin→y=n-1不成立→A[i]>A[i+1]不成立→y=n-1成立→end;begin→y-n-1不成立→A[i]>A[i+1]成立→swapA[I],A[i+1] →y=n-1成立→end;
    MacCabe度量法公式为V(G)=m-n+2,V(G)是有向图G中环路数,m是图G中弧数,n是图G中节点数。本题中m=10,n=9,故V(G)=3。

  • 第18题:

    对以下的程序伪代码(用缩进表示程序块)进行路径覆盖测试,至少需要( )个测试用例。采用McCabe度量法计算其环路复杂度为(请作答此空)。

    A.2
    B.3
    C.4
    D.5

    答案:C
    解析:
    由公式可知V(G)=m-n+2得到14-12+2=4.

  • 第19题:

    对下图所示的程序流程图进行语句覆盖测试和路径覆盖测试,至少需要(请作答此空 )个测试用例。采用McCabe 度量法计算其环路复杂度为( )。

    A.2和3
    B.2和4
    C.2和5
    D.2和6

    答案:B
    解析:
    覆盖2条路径就能达到语句覆盖的要求,用2个测试用例即可。路径覆盖需要把程序中的所有路径覆盖遍,需要4个用例。整个程序流程图转化为结点图之后,一共11个结点,13条边,根据环路复杂度公式有:13-11+2=4。

  • 第20题:

    下图用白盒测试方法进行测试,图中有( )条路径采用McCabe度量计算该程序图的环路复杂性为(请作答此空)

    A.3
    B.4
    C.5
    D.6

    答案:B
    解析:
    图中有4条路径。35题的环路复杂性为图中闭环的个数+1,结果是4。

  • 第21题:

    对下图所示的程序流程图进行语句覆盖测试和路径覆盖测试,至少需要( )个测试用例。采用McCabe 度量法计算其环路复杂度为(请作答此空 )。

    A.1
    B.2
    C.3
    D.4

    答案:D
    解析:
    覆盖2条路径就能达到语句覆盖的要求,用2个测试用例即可。路径覆盖需要把程序中的所有路径覆盖遍,需要4个用例。整个程序流程图转化为结点图之后,一共11个结点,13条边,根据环路复杂度公式有:13-11+2=4。

  • 第22题:

    对下图所示的程序流程图进行判定覆盖测试,则至少需要(请作答此空)个测试用例。采用 McCabe 度量法计算其环路复杂度为( )。


    A.2
    B.3
    C.4
    D.5

    答案:A
    解析:
    判定覆盖是设计足够多的测试用例,使得程序中的每一个判断至少获得一次"真"和一次"假",即使得程序流程图中的每一个真假分支至少被执行一次。计算环路复杂度可以采用公式法:V(G)=m-n+2,其中m为弧度(边的数量),n为结点数量。或者可以数封闭区间的数量,除了图中明显的两处外,与外界的连通的部分也是一个封闭区间。

  • 第23题:

    下列描述中,不属于基本路径测试步骤的是()

    • A、进行边界值分析
    • B、据详细设计或源程序导出程序图
    • C、计算程序图的环路复杂性
    • D、确定只含独立路径的基本路径集

    正确答案:A