niusouti.com

为了对下图所示的程序段进行覆盖测试,必须适当地选择测试用例组。若x,y是两个变量,可选择的用例组共有I、II、III、Ⅳ四组(如下表所示),则实现判定覆盖至少应采用的测试用例组是(44)。A.Ⅰ. Ⅱ. Ⅲ或 Ⅰ. Ⅱ. ⅣB.Ⅰ. Ⅱ. Ⅲ或Ⅱ.Ⅲ. ⅣC.Ⅰ. Ⅲ. Ⅳ或 Ⅱ.Ⅲ. ⅣD.Ⅰ. Ⅲ. Ⅳ或Ⅰ. Ⅱ. Ⅳ

题目

为了对下图所示的程序段进行覆盖测试,必须适当地选择测试用例组。若x,y是两个变量,可选择的用例组共有I、II、III、Ⅳ四组(如下表所示),则实现判定覆盖至少应采用的测试用例组是(44)。

A.Ⅰ. Ⅱ. Ⅲ或 Ⅰ. Ⅱ. Ⅳ

B.Ⅰ. Ⅱ. Ⅲ或Ⅱ.Ⅲ. Ⅳ

C.Ⅰ. Ⅲ. Ⅳ或 Ⅱ.Ⅲ. Ⅳ

D.Ⅰ. Ⅲ. Ⅳ或Ⅰ. Ⅱ. Ⅳ


相似考题
更多“为了对下图所示的程序段进行覆盖测试,必须适当地选择测试用例组。若x,y是两个变量,可选择的用例组 ”相关问题
  • 第1题:

    现有一个计算类型的程序,它的输入只有一个Y,其范围是—50≤Y≤50。现采用黑盒法进行测试,设计了一组测试用例:—100,100,0。设计这组测试用例的方法是()。


    参考答案:等价分类

  • 第2题:

    选择一个适当的测试用例,用以测试下图的程序,能达到判定覆盖的是(53)。

    A.

    B.

    C.

    D.


    正确答案:C
    解析:本题考查软件测试的方法。为了得到判定覆盖,要求图中的判定分别取True和False,只有利用选项C才能达到这个目的。

  • 第3题:

    某C语言子程序如下。 int a:=0; if(x==0 && y>2)a:=1 /*A语句*/ else{ if(x<1 || y==1)else a:=2 /*B语句*/其中x,y是两个已定义的整型变量。如表6-2所示给出了可供选择的4组测试数据组,则实现条件覆盖至少应采用的测试数据组是(54)。

    A.Ⅰ和Ⅱ组

    B.Ⅰ、Ⅱ和Ⅲ组

    C.Ⅰ、Ⅱ和Ⅳ组

    D.Ⅰ、Ⅲ和Ⅳ组


    正确答案:D
    解析:在白盒测试用例设计中,有语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖等常见的覆盖测试策略,这些策略的相关描述及发现错误的能力如表6-10所示。条件覆盖测试策略的本质是:构造一组测试用例数据,使被测程序中每一个判定语句的每个逻辑条件的可能取值至少满足次,本试题程序段的程序流程图如图6-12所示。对该程序段实施条件覆盖测试,可选择测试数据组Ⅰ(x=0,y=3),以同时满足判断条件(z=0)and(y>2)中x=0和y>2的取值条件:可选择测试数据组Ⅲ(x=-1,y=2),以满足判断条件(x1)or(y=1)中x1的取值条件;可选择测试数据组Ⅳ(x=3,y=1),以满足判断条件(x1)or(y=1)中y=1的取值条件。因此本试题的正确答案是选项D。对本试题程序段实施语句覆盖至少应采用的测试数据组是Ⅰ和Ⅱ组(即选项A);实现路径覆盖至少应采用的测试数据组是“Ⅰ、Ⅱ和Ⅲ组(即选项B”或“Ⅰ、Ⅱ和Ⅳ组(选项C)”。

  • 第4题:

    软件测试是软件质量保证的主要手段之一,“高产”的测试是指(29)。

    A.用适量的测试用例运行程序,证明被测程序正确无误

    B.用适量的测试用例运行程序,证明被测程序符合相应的要求

    C.用少量的测试用例运行程序,发现被测程序尽可能多的错误

    D.用少量的测试用例运行程序,纠正被测程序尽可能多的错误


    正确答案:C
    解析:本题考查软件测试的相关知识。软件测试的目的就是在软件系统交付运行之前,尽可能多地发现系统中的错误和缺陷,它是保证软件质量的主要手段之一。在软件测试过程中,为了发现系统中的错误,应竭力设计能暴露错误的测试用例。高效的测试是指用少量的测试用例,发现被测软件尽可能多的错误。

  • 第5题:

    在结构测试用例的设计中,有语句覆盖、条件覆盖、判定覆盖、路径覆盖等。为了对如图10-20所示的程序段进行覆盖测试,必须适当地设计测试数据组。若x,y是两个变量,可供选择的测试数据组共有I、II、III、Ⅳ4组(如表10-10 中给出),则实现判定覆盖至少应采用的测试数据组是(1);实现条件覆盖至少应采用的测试数据组是(2);实现路径覆盖至少应采用的测试数据组是(3)或(4)。

    A.I和II组

    B.II和III组

    C.III和IV组

    D.I和IV组

    E.I、II和III组


    正确答案:D

  • 第6题:

    若采用白盒测试法对下面流程图所示算法进行测试,且要满足语句覆盖,则至少需要(51)个测试用例,若表示输入和输出的测试用例格式为(A,B,X;X),则满足语句覆盖的测试用例是(52)。

    A. (1,3,3;8)
    B. (1,3,5;10)
    C. (5,2,15;8)
    D. (5,2,20;9)

    答案:A
    解析:
    白盒测试方法: (1)语句覆盖。被测程序的每个语句至少执行一次。是一种很弱的覆盖标准。 (2)判定覆盖。也称为分支覆盖,判定表达式至少获得一次真、假值。判定覆盖比语句覆盖强。 (3)条件覆盖。每个逻辑条件的各种可能的值都满足一次。 (4)路径覆盖。覆盖所有可能的路径。 (5)判定/条件覆盖。每个条件所以可能的值(真/假)至少出现一次。 (6)条件组合覆盖。每个条件的各种可能值的组合都至少出现一次。 此处只需要一个测试用例就可以完成所有的语句覆盖。 此题有误,无正确答案。按照要求,应该选择A=2.B=3,X取任意值。

  • 第7题:

    在设计白盒测试用例时,(请作答此空)是最弱的逻辑覆盖。在下图所示流程中,至少需要( )个测试用例才可以实现路径覆盖。

    A.条件覆盖
    B.语句覆盖
    C.判定覆盖
    D.路径覆盖

    答案:B
    解析:
    主要的软件测试方法有:(1)语句覆盖。被测程序的每个语句至少执行一次。是一种很弱的覆盖标准。(2)判定覆盖。也称为分支覆盖,判定表达式至少获得一次“真”、“假”值。判定覆盖比语句覆盖强。(3)条件覆盖。每个逻辑条件的各种可能的值都满足一次。(4)路径覆盖。覆盖所有可能的路径。(5)判定/条件覆盖。每个条件所有可能的值(真/假)至少出现一次。(6)条件组合覆盖。每个条件的各种可能值的组合都至少出现一次。满足路径覆盖,只要覆盖所有可能的路径,总共是3条路径,所以需要用3个测试用例即可。

  • 第8题:

    若采用白盒测试法对下面流程图所示算法进行测试,且要满足语句覆盖,则至少需要(51)个测试用例,若表示输入和输出的测试用例格式为(A,B,X;X),则满足语句覆盖的测试用例是(52)。

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

    答案:A
    解析:

  • 第9题:

    逻辑路径覆盖法是白盒测试用例的重要设计方法,其中语句覆盖法是较为常用的方法,针对下面的语句段,采用语句覆盖法完成测试用例设计,测试用例见下表,对表中的空缺项(True或者False),正确的选择是( )。
    语句段:
    if(A&&(B||C))x=l;
    else x=O;
    用例表:


    A.①TRUE②FALSE③TRUE
    B.①TRUE②FALSE③FALSE
    C.①FALSE②FALSE③TRUE
    D.①TRUE②TRUE③FALSE

    答案:A,C
    解析:
    试题分析:本题考查白盒测试用例的设计方法——语句覆盖法的基础知识。语句覆盖法强调程序段中的每一个可执行语句至少执行一次。③必需选择TRUE,①与②可以选择TRUE或者FALSE。

  • 第10题:

    用自盒测试方法对如下图所示的流程图进行测试。若要满足分支覆盖,则至少要(29)个测试用例,正确的测试用例对是(30)(测试用例的格式为(A,B,X;X))。


    A.(1,3,3;3)和(5,2,15;3)
    B.(1,1,5;5)和(5,2,20;9)
    C.(2,3,10;5)和(5,2,18;3)
    D.(2,2,16;16)和(5,2,21;9)

    答案:D
    解析:
    先用代入法求出第30题,然后判断第29题需要两个测试用例即可。

  • 第11题:

    对下图所示的程序流程图进行语句覆盖测试和路径覆盖测试,至少需要( )个测试用例。

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

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

  • 第12题:

    在白盒测试法中,下图至少需要( )个测试用例才可以完成路径覆盖,语句组2不对变量i进行操作。

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

    答案:C
    解析:
    白盒测试常用的技术是逻辑覆盖,即考查用测试数据运行被测程序时对程序逻辑的覆盖程度。主要的覆盖标准有六种:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合条件覆盖和路径覆盖。
    (1)语句覆盖
    语句覆盖是指选择足够多的测试用例,使得运行这些测试用例时,被测程序的每个语句至少执行一次。很显然,语句覆盖是一种很弱的覆盖标准。
    (2)判定覆盖
    判定覆盖又称分支覆盖,它的含义是,不仅每个语句至少执行一次,而且每个判定的每种可能的结果(分支)都至少执行一次。判定覆盖比语句覆盖强,但对程序逻辑的覆盖程度仍然不高。
    (3)条件覆盖
    条件覆盖的含义是,不仅每个语句至少执行一次,而且使判定表达式中的每个条件都取到各种可能的结果。条件覆盖不一定包含判定覆盖,判定覆盖也不一定包含条件覆盖。
    (4)判定/条件覆盖
    同时满足判定覆盖和条件覆盖的逻辑覆盖称为判定/条件覆盖。它的含义是,选取足够的测试用例,使得判定表达式中每个条件的所有可能结果至少出现一次,而且每个判定本身的所有可能结果也至少出现一次。
    (5)条件组合覆盖
    条件组合覆盖的含义是,选取足够的测试用例,使得每个判定表达式中条件结果的所有可能组合至少出现一次。显然,满足条件组合覆盖的测试用例,也一定满足判定/条件覆盖。因此,条件组合覆盖是上述五种覆盖标准中最强的一种。然而,条件组合覆盖还不能保证程序中所有可能的路径都至少经过一次。
    (6)路径覆盖
    路径覆盖的含义是,选取足够的测试用例,使得程序的每条可能执行到的路径都至少经过一次(如果程序中有环路,则要求每条环路径至少经过一次)。路径覆盖实际上考虑了程序中各种判定结果的所有可能组合,因此是一种较强的覆盖标准。
    本题的第二问比较复杂,关键是我们要清楚程序流程图中有几条路径,然后为每条路径设置一个测试用例。
    在本题给出的程序流程图中,如果我们将判定“x?

  • 第13题:

    为了对下图所示的程序进行覆盖测试,必须适当地选取测试数据。若X,Y是两个变量,可供选择的测试数据组共有Ⅰ,Ⅱ,Ⅲ,Ⅳ四组(如表中给出),则实现语句覆盖至少应采用的测试数据组是(6);实现条件覆盖至少应采用的测试数据组是(7);实现路径覆盖至少应采用的测试数据组是(8)。

    A.Ⅰ和Ⅳ组

    B.Ⅲ和Ⅳ组

    C.Ⅰ和Ⅱ组

    D.Ⅱ,Ⅲ和Ⅳ组


    正确答案:C
    解析:Ⅰ和Ⅱ组可覆盖执行K语句J语句

  • 第14题:

    ●在结构测试用例设计中,有语句覆盖、条件覆盖、判定覆盖(即分支覆盖)、路径覆盖等,其 (45) 是最强的覆盖准则。为了对图1所示的程序段进行覆盖测试,必须适当地选取测试数据组。若x和y是两个变量,可供选择的测试数据组共有I、Ⅱ、Ⅲ、Ⅳ四组(见表2),则实现判定覆盖至少应采用的测试数据组是 (46) ;实现条件覆盖至少采用的测试数据组是 (47) ,实现路径覆盖至少应采用的测试数据组是 (48) 或 (49) 。

    图1 程序段

    (45) A.语句覆盖

    B.条件覆盖

    C.判定覆盖

    D.路径覆盖

    (46) ,(47) A.I和Ⅱ组

    B.Ⅱ和Ⅲ组

    C.Ⅲ和Ⅳ组

    D.I和Ⅳ组

    (48) ,(49) A.I、Ⅱ和Ⅲ组

    B.Ⅱ、Ⅲ和Ⅳ组

    C.I、Ⅲ和Ⅳ组

    D.I、Ⅱ和Ⅳ组


    正确答案:D,A,D,A,D
    【解析】测试阶段在软件生命周期中占有重要地位。一个软件产品在交付用户正式使用前主要经过3种测试:单元测试、集成测试和验收测试。测试的方法有黑盒法和白盒法。黑盒方法主要用于功能测试或数据驱动测试:白盒方法主要用于结构测试或逻辑驱动测试。测试用的数据称为测试用例,正确选取测试用例对测试的最终结果有很大影响。白盒测试用例的设计方法有语句覆盖、条件覆盖、分支覆盖、路径覆盖等多种,其中语句覆盖是最弱的覆盖准则,路径覆盖则最强。本题所给出的4组测试数据,要实现分支覆盖即判定覆盖,必须使程序中每个逻辑判断的取真分支和取假分支在每组测试数据时至少遍历一次,应采用的测试数据组是第Ⅰ和第Ⅱ组数据;要实现条件覆盖,必须使程序中每个条件的可能取值至少满足一次,应采用的测试数据组是Ⅰ和Ⅳ组数据;要实现路径覆盖,求程序中的所有路径至少经历一次,则应采用的测试数据组是第Ⅰ、Ⅱ、Ⅲ组或者第Ⅰ、Ⅱ、Ⅳ组。

  • 第15题:

    在结构测试用例设计中,有语句覆盖、条件覆盖、判定覆盖(即分支覆盖)、路径覆盖等,其(45)是最强的覆盖准则。为了对图1所示的程序段进行覆盖测试,必须适当地选取测试数据组。若x和y是两个变量,可供选择的测试数据组共有Ⅰ、Ⅱ、Ⅲ、Ⅳ四组(见表 2),则实现判定覆盖至少应采用的测试数据组是(46);实现条件覆盖至少采用的测试数据组是(47),实现路径覆盖至少应采用的测试数据组是(48)或(49)。

    A.语句覆盖

    B.条件覆盖

    C.判定覆盖

    D.路径覆盖


    正确答案:D

  • 第16题:

    采用白盒测试方法对下图进行测试,设计了4个测试用例:①(x=0,y=3), ②(x=1,y=2), ③(x=-1,y=2),④(x=3,y=1)。至少需要测试用例①②才能完成( )覆盖,至少需要测试用例①②③或①②④才能完成( )覆盖。

    A.语句 B.条件 C.判定\条件 D.路径 A.语句 B.条件 C.判定\条件 D.路径


    正确答案:A,D

  • 第17题:

    试题三(共 15分)

    阅读以下关于嵌入式软件测试用例设计的叙述,回答问题 1至问题 3,将答案填入答题纸的对应栏内。

    【说明】

    某程序段的流程如图 3-1所示,x、y是两个变量,K、J 表示一段程序执行体,表 3-1 所示为本题可供选择的四组测试用例组。

    【问题1】(3分)

    简答以下问题。

    (1)条件覆盖的含义是什么?

    (2)路径覆盖的含义是什么?

    【问题 2】(2分)

    在程序测试用例设计中,有语句覆盖、条件覆盖、判定覆盖(分支覆盖)和路径覆盖等。其中,____是最强的覆盖准则。

    请把以下 4个选项中正确的选项序号填入上述空白处。

    ①语句覆盖

    ②条件覆盖

    ③判定覆盖(分支覆盖)

    ④路径覆盖

    【问题 3】(10 分)

    为了对图 3-1 所示的程序段进行覆盖测试,必须适当地选取测试用例组。实现判定覆盖至少应采用的测试用例组是 (1)和 (2) ,实现条件覆盖至少应采用的测试用例组是 (3) ;实现路径覆盖至少应采用的测试用例组是 (4) 和 (5)。

    请把以下 8个选项中正确的选项序号填入上述空白处。

    ① 试用例组Ⅰ和Ⅱ

    ②测试用例组Ⅱ和Ⅲ

    ③测试用例组Ⅲ和Ⅳ

    ④测试用例组Ⅰ和Ⅳ

    ⑤测试用例组Ⅰ、Ⅱ和Ⅲ

    ⑥测试用例组Ⅱ、Ⅲ和Ⅳ

    ⑦测试用例组Ⅰ、Ⅲ和Ⅳ

    ⑧测试用例组Ⅰ、Ⅱ和Ⅳ


    正确答案:

    试题三(共15分)
    【问题1】(3分)
    (1)条件覆盖是指设计足够的测试用例,使得被测程序每一个判定中的每个条件的所有可能结果至少出现一次。
    (2)路径覆盖是指设计足够的测试用例,使得被测程序中每条路径至少执行一次。

    【问题2】(2分)
    (1)④(路径覆盖)

    【问题3】 (10分)
    (1)⑤
    (2)⑧
    (3)⑦
    (4)⑤
    (5)⑧
    其中,第(1)、(2)题的答案顺序可互换,第(4)、(5)题的答案顺序可互换。

  • 第18题:

    在设计白盒测试用例时,( )是最弱的逻辑覆盖。在下图所示流程中,至少需要(请作答此空)个测试用例才可以实现路径覆盖。

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

    答案:C
    解析:
    主要的软件测试方法有:(1)语句覆盖。被测程序的每个语句至少执行一次。是一种很弱的覆盖标准。(2)判定覆盖。也称为分支覆盖,判定表达式至少获得一次“真”、“假”值。判定覆盖比语句覆盖强。(3)条件覆盖。每个逻辑条件的各种可能的值都满足一次。(4)路径覆盖。覆盖所有可能的路径。(5)判定/条件覆盖。每个条件所有可能的值(真/假)至少出现一次。(6)条件组合覆盖。每个条件的各种可能值的组合都至少出现一次。满足路径覆盖,只要覆盖所有可能的路径,总共是3条路径,所以需要用3个测试用例即可。

  • 第19题:

    采用白盒测试方法对下图进行测试,设计了4个测试用例:①(x=0,y=3),②(x=1,y=2),③(x=-1,y=2),④(x=3,y=1)。至少需要测试用例①②才能完成 ( ) 覆盖,至少需要测试用例①②③或①②④才能完成 (请作答此空) 覆盖。

    A.语句
    B.条件
    C.判定/条件
    D.路径

    答案:D
    解析:
    语句覆盖要求被测程序中的每一条语句至少执行一次,这种覆盖对程序执行逻辑的覆盖很低。
    条件覆盖要求每一判定语句中每个逻辑条件的各种可能的值至少满足一次。判定/条件覆盖要求判定中每个条件的所有可能取值(真/假)至少出现一次,并使得每个判定本身的判定结果(真/假)也至少出现一次。路径覆盖则要求覆盖被测程序中所有可能的路径。
    通过测试用例①(x=0,y=3),能执行到语句A,同时覆盖左侧路径;通过测试用例②(x=1,y=2),能执行到语句B,同时覆盖右侧路径;通过测试用例③(x=-1,y=2)或④(x=3,y=1),什么也不执行,覆盖中间路径。

  • 第20题:

    为了对下图所示的程序段进行覆盖测试,必须适当地选择测试用例组。若x,y是两个变量,可选择的用例组共有Ⅰ、Ⅱ、Ⅲ、Ⅳ四组(如下表所示),则实现判定覆盖至少应采用的测试用例组是______。

    A.Ⅰ、Ⅱ、Ⅲ或Ⅰ、Ⅱ、Ⅳ
    B.Ⅰ、Ⅱ、Ⅲ或Ⅱ、Ⅲ、Ⅳ
    C.Ⅰ、Ⅲ、Ⅳ或Ⅱ、Ⅲ、Ⅳ
    D.Ⅰ、Ⅲ、Ⅳ或Ⅰ、Ⅱ、Ⅳ

    答案:A
    解析:
    本题考查软件结构测试方面的基础知识。在结构测试中,根据覆盖目标的不同,可分为语句覆盖、条件覆盖、判定覆盖、路径覆盖等。判定覆盖的含义是涉及若干测试用例,运行被测程序,使得程序中每个判定的取真值分支和取假值分支至少执行一次。本题中,为判定覆盖选取测试用例情形:对第一个判定选取测试用例组Ⅰ和Ⅱ,当用Ⅰ覆盖判定的T分支时,不会走到第二个分支;当用Ⅱ覆盖判定的F分支时,第二个判定需要另取一个测试用例组覆盖T分支,此时,取测试用例组Ⅲ或Ⅳ即可。

  • 第21题:

    对下图所示流程图采用白盒测试方法进行测试,若要满足路径覆盖,则至少需要( )个测试用例

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

    答案:C
    解析:
    路径覆盖:使程序中每条都至少执行一次。
    如图每个判断都需要两个用例,因此需要6个测试用例。

  • 第22题:

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

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

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

  • 第23题:

    用自盒测试方法对如下图所示的流程图进行测试。若要满足分支覆盖,则至少要(29)个测试用例,正确的测试用例对是(30)(测试用例的格式为(A,B,X;X))。

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

    答案:B
    解析:
    先用代入法求出第30题,然后判断第29题需要两个测试用例即可。