niusouti.com

采用白盒测试方法对下图进行测试,设计了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.路径

题目

采用白盒测试方法对下图进行测试,设计了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.路径


相似考题
更多“采用白盒测试方法对下图进行测试,设计了4个测试用例:①(x=0,y=3), ②(x=1,y=2), ③(x=-1,y=2),④(x=3 ”相关问题
  • 第1题:

    【问题5】 【C代码3】中x,y是两个已定义的整型变量。对该程序段进行覆盖测试时,必须适当地选取测试用例。如表5-10所示给出了可供选择的4组测试用例。若要实现语句覆盖,则至少应采用的测试用例是(2);若要实现条件覆盖,则至少应采用的测试用例是(3);若要实现路径覆盖,则至少应采用的测试用例是(4)或(5)。 【C代码3】 int a:=0; if (x==O && y>2) a:=1 /*A语句*/ else { if (x<1 || y==1) else a:=2 /*B语句*/ }

    【(2)~(5)空缺处供选择的答案】 A.Ⅰ和Ⅱ组 B.Ⅱ和Ⅲ组

    C.Ⅲ和Ⅳ组 D.Ⅰ和Ⅳ组

    E.Ⅰ、Ⅱ和Ⅲ组 F.Ⅱ、Ⅲ和Ⅳ组G.Ⅰ、Ⅲ和Ⅳ组 H.Ⅰ、Ⅱ和Ⅳ组


    正确答案:(2)A或(Ⅰ和Ⅱ组) (3)G或(Ⅰ、Ⅲ和Ⅳ组) (4)E或(Ⅰ、Ⅱ和Ⅲ组) (5)H或(Ⅰ、Ⅱ和Ⅳ组)
    (2)A或(Ⅰ和Ⅱ组) (3)G或(Ⅰ、Ⅲ和Ⅳ组) (4)E或(Ⅰ、Ⅱ和Ⅲ组) (5)H或(Ⅰ、Ⅱ和Ⅳ组) 解析:这是一道要求读者掌握软件测试过程中覆盖测试基本常识的分析题。本题的解答思路如下。
    1)覆盖测试是一种白盒测试方法,通常应用在软件测试的早期,即单元测试阶段。其基本思路是以程序的内部结构为基础来设计测试用例,以覆盖尽可能多的程序内部逻辑结构,发现其中的错误和问题。测试人员必须事先拥有被测程序的规格说明书和程序清单。
    2)在白盒测试用例设计中,有语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖等几种常见的覆盖测试策略,这些策略的相关描述如表5-15所示。

    3)【C代码3】程序段的程序流程图如图5-13所示。
    
    4)结合表5-15中给出的语句覆盖测试策略的描述,选择足够多的测试用例数据,使被测程序中每条语句都至少执行1次。对于本案例的程序段,可选择测试用例Ⅰ(x=0,y=3),满足“(x=0)and(y>2)|”的判断条件,使A语句被执行1次;可选择测试用例Ⅱ(x=1,y=2),不满足“(x1)or(y=1)”的判断条件,使B语句被执行1次。因此(2)空缺处应选择选项A(即Ⅰ和Ⅱ组测试用例)。
    5)结合表5-15中给出的判定覆盖测试策略的描述,选择足够多的测试用例数据,使得程序中每个判定都获得1次“真”值和“假”值,或者说使程序中每1个取“真”分支和取“假”分支都至少通过1次。对于本案例的程序段,可选择测试用例Ⅰ(x=0,y=3),使判断条件(x=0)and(y>2)的“真”分支执行1次;可选择测试用例Ⅱ(x=1,y=2),使判断条件(x1)or(y=1)的“假”分支执行1次;可选择测试用例Ⅲ(x=-1,y=2)或选择测试用例Ⅳ(x=3,y=1),使判断条件(x1)or(y=1)的“真”分支执行1次。
    6)条件覆盖测试策略的本质是:构造一组测试用例数据,使被测程序中每一个判定语句的每个逻辑条件的可能取值至少满足1次。对于本案例的程序段要实施条件覆盖测试,可选择测试用例Ⅰ(x=0,y=3),以同时满足判断条件(x=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的取值条件。因此(3)空缺处应选择选项G(即Ⅰ、Ⅲ和Ⅳ组测试用例)。
    7)结合表5-15中给出的判定/条件覆盖测试策略的描述,构造一组测试用例数据,使得判定中的每个逻辑条件取得各种可能的值,并且使得每个判定取得各种可能的判定结果。结合以上第6)点的分析结论可知,对于本案例的程序段,选择测试用例Ⅰ(x=0,y=3),同时满足判断条件(x=0)and(y>2)中x=0和y>2的取值条件,且使得该判断条件的“真”分支执行1次。 选择测试用例Ⅱ(x=1,y=2),使判断条件(x=0)and(y>2)的“假”分支执行1次;同时不满足(x1)or(y=1)的取值条件,且使判断条件(x1)or(y=1)的“假”分支执行1次。 选择测试用例Ⅲ(x=-1,y=2),满足判断条件(x1)or(y=1)中x1的取值条件,且使得使该判断条件的“真”分支执行1次,使判断条件(x=0)and(y>2)的“假”分支执行1次。 也可选择测试用例Ⅳ(x=3,y=1),满足判断条件(x1)or(y=1)中y=1的取值条件,且使得使该判断条件的“真”分支执行1次,使判断条件(x=0)and(y>2)的“假”分支执行1次。
    8)对于条件组合覆盖测试策略,其含义是选择足够多的测试用例数据,使被测程序中每个判定中逻辑条件的各种组合都至少出现1次。对于本案例的程序段,要实现条件组合覆盖测试工作所需的测试用例如表5-16所示。

    9)结合表5-15中给出的路径覆盖测试策略的描述,选择足够多的测试用例数据,使被测程序中每一条可能的路径至少执行1次。对于本案例的程序段主要有3条路径:执行判断条件(x=0)and(y>2)“真”分支的路径;执行判断条件(x=0)and(y>2)“真”分支的路径;执行判断条件(x=0)and(y>2)“假”分支的路径。
    选择测试用例Ⅰ(x=0,y=3),同时满足判断条件(x=0)and(y>2)中x=0和y>2的取值条件,使得该判断条件的“真”分支路径被执行1次。
    选择测试用例Ⅱ(x=1,y=2),同时不满足判断条件(x1)or(y=1)中x1和y=1的取值条件,使得该判断条件的“假”分支路径被执行1次。
    选择测试用例Ⅲ(x=-1,y=2),满足判断条件(x1)or(y=1)中x1的取值条件,或者选择测试用例Ⅳ(x=3,y=1),满足判断条件(x1)or(y=1)中y=1的取值条件,使得使该判断条件的“真”分支路径被执行1次。
    由以上分析可知,(4)、(5)空缺处可分别填入选项E(即Ⅰ、Ⅱ和Ⅲ组测试用例)和选项H(即Ⅰ、Ⅱ和Ⅳ组测试用例)。

  • 第2题:

    下列程序的执行结果是()。 includeclass Sample{ int x,y; public: Sample() {x=y=0

    下列程序的执行结果是( )。 #include<iostream.h> class Sample { int x,y; public: Sample() {x=y=0;} Sample(int a,int b) {x=a;y=b;} ~Sample() { if(x==y) cout<<"x=y"<<end1; else cout<<"x!=y"<<end1; } void disp() { cout<<"x="<<x<<",y="<<y<<end1; } }; void main() { Sample s1(2,3); s1.disp(); }

    A.x=2,y=2

    B.x=3,y:3

    C.x=2,y=3

    D.x=3,y=2


    正确答案:C
    解析:此题考查的是类的构造函数和析构函数。首先,Sample s1(2,3)会调用含有两个参数的构造函数Sample(int a,int b){x=a;y=b;},disp()函数输出成员变量x和y的值:x=2,y=3;然后结束时调用析构函数,因为x和y值不等,故输出x!=y。

  • 第3题:



    A.2x-y+2=0
    B.2x+y+1=0
    C.2x+y-3=0
    D.2x-y+3=0

    答案:D
    解析:
    提示:对y求导,代入x=-1得到切线斜率k=2,把x=-1代入曲线方程得交点(-1,1),利用点斜式写出切线方程。

  • 第4题:

    采用白盒测试方法对下图进行测试,设计了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),什么也不执行,覆盖中间路径。

  • 第5题:

    过直线3x+2y+1=0与2x-3y+5=0的交点,且垂直于直线L:6x-2y+5=0的直线方程是(  )

    A.x-3y-2=0
    B.x+3y-2=0
    C.x-3y+2=0
    D.x+3y+2=0

    答案:B
    解析:

  • 第6题:

    直线2x-3y+1=0关于直线x=1对称的直线方程是( )

    A.2x-3y+1=0
    B.2x+3y-5=0
    C.3x+2y-5=0
    D.3x-2y+5=0
    E.3x-2y-5=0

    答案:B
    解析:
    设点(x,y)在所求直线上,诚点关于x=1对称的点为(2-x,y),由于点(2-x,y)在直线2x-3y+1=0上,所以有2×(2-x)-3y+1=0,化简得2x+3y-5=0.

  • 第7题:

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

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

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

  • 第8题:

    请根据测试条件(X>3,Y<5)设计条件组合覆盖测试用例()

    • A、X=6,Y=3
    • B、X=6,Y=8
    • C、X=2,Y=3
    • D、X=2,Y=8

    正确答案:C

  • 第9题:

    阅读下面程序,下列选项中,能够完成语句覆盖的测试用例是() if((x>4)||(z<7)) { k=x*y-1; j=sqrt(k); } if((x==8)&&(y>5)) { j=x%y+2; } j=j%3;

    • A、x=2,y=6,z=5
    • B、x=6,y=6,z=5
    • C、x=8,y=6,z=4
    • D、x=8,y=5,z=5

    正确答案:C

  • 第10题:

    请为下面的程序设计符合判定覆盖的测试用例。 int main() { int a,b,c,x,y,z,t; scanf(“d%,d%,d%”,&a,&b,&c,&t); if a>5 && t<1 x=10 else x=1; if b>10 y=20 else y=2; if c>15 z=30 else z=3; printf(“d%,d%,d%/n”,x,y,z) }


    正确答案: a>5,t=0
    a<=5,t=0
    b>10
    b<=10
    c>15
    c<=15

  • 第11题:

    单选题
    请根据条件(x>3,y<5)设计条件组合覆盖测试用例:() A.x=6,y=3 B.x=6,y=8 C.x=2,y=3 D.x=2,y=8
    A

     A、B、C、D

    B

     A、B、C

    C

     A、B、D

    D

     C、D


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

  • 第12题:

    单选题
    请根据测试条件(X>3,Y<5)设计条件组合覆盖测试用例()
    A

    X=6,Y=3

    B

    X=6,Y=8

    C

    X=2,Y=3

    D

    X=2,Y=8


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

  • 第13题:

    下列程序执行后,屏幕的输出是()。includeusing namespace std;void swap(int x,int y)

    下列程序执行后,屏幕的输出是( )。 #include<iostream> using namespace std; void swap(int x,int y) { int temp=x; x=y; y=temp; cout<<"x="<<x<<"",y=""<<y<<end1; } int main() { int x=3,y=2; swap(x,y); cout<<"x="<<x<<",y="<<y<<end1; return 0; }

    A.x=3,y=2 x=3,y=2

    B.x=2,y=3 x=3,y=2

    C.x=2,y=3 x=2,y=3

    D. x=3,y=2 x=2,y=3


    正确答案:B

  • 第14题:

    根据源代码请回答以下问题。 void sort( int Num, int Type ){ int x = 0; int y = 0; while (Num > 0) { if( Type = = 0) x = y + 2; else { if( Type = = 1 ) x = y + 5; else x = y + 10; } Num--; } } (1) 请画出控制流图并计算控制流图复杂度V(G) 。 (2) 找出独立路径。 (3) 请使用基本路径测试法设计测试用例。 (4) 根据控制流图,找出变量x和y的DU path


    正确答案:
    V(G)=4(2)找出独立路径。1-71-2-3-71-2-4-5-71-2-4-6-7(3)请使用基本路径测试法设计测试用例。Num=1Num=1,type=0Num=1,type=1Num=1,type=2(4)根据控制流图,找出变量x和y的DUpathX无DUpathY的DUpath1-2-3-71-2-4-5-71-2-4-6-7

  • 第15题:

    曲面z=1-x2-y2在点(1/2,1/2,1/2)处的切平面方程是:
    A.x+y+z-3/2=0
    B.x-y-z+3/2=0
    C.x-y+z-3/2=0
    D.x-y+z+3/2=0


    答案:A
    解析:
    提示:F(x,y,z)=x2+y2+z-1

  • 第16题:

    曲线y=x3+2x-1在点M(1,2)处的切线方程是

    A.5x-y-3=0
    B.x-5y-3=0
    C.5x+y-3=0
    D.x+5y-3=0

    答案:A
    解析:

  • 第17题:

    曲线y=x3-4x+2在点(1,-1)处的切线方程为(  )

    A.x-y-2-0
    B.x-y=0
    C.x+y=0
    D.x+y-2=0

    答案:C
    解析:

  • 第18题:

    用自盒测试方法对如下图所示的流程图进行测试。若要满足分支覆盖,则至少要(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题需要两个测试用例即可。

  • 第19题:

    设计下列伪程序的语句覆盖测试用例。 BEGIN INPUT(A,B,C) IF A>5 THEN X=10 ELSE X=1 END IF IF B>10 THEN Y=20 ELSE Y=2 END IF IF C>15 THEN Z=30 ELSE Z=3 END IF PRINT(X,Y,Z) END
    因为每个判定表达式为真或假时均有赋值语句,为了使每个语句都至少执行一次,总共需要两组测试数据,以便使得每个判定表达式取值为真或假各一次。下面是实现语句覆盖的典型测试用例:
    (1)使3个判定表达式之值全为假
    输入:A=1,B=1,C=1
    预期的输出:X=1,Y=2,Z=3
    (2)使3个判定表达式之值全为真
    输入:A=20,B=40,C=60
    预期的输出:X=10,Y=20,Z=30

  • 第20题:

    请根据条件(x>3,y<5)设计条件组合覆盖测试用例:() A.x=6,y=3 B.x=6,y=8 C.x=2,y=3 D.x=2,y=8

    • A、 A、B、C、D
    • B、 A、B、C
    • C、 A、B、D
    • D、 C、D

    正确答案:A

  • 第21题:

    有二元函数f(x,y),其中x∈[1,12],y∈[1,31];请写出该函数采用基本边界值分析法设计的测试用例。


    正确答案:{ <1,15>,<2,15>,<11,15>,<12,15>,<6,15>,<6,1>,<6,2>,<6,30>,<6,31> }

  • 第22题:

    问答题
    Is the value of x3y-x2y2+xy3 equal to 0?  (1) x=0  (2) y=0

    正确答案: D
    解析:
    由于每一项都包含x和y,故只要x、y有一个值为0,可知原式值为0,故本题选D项。

  • 第23题:

    问答题
    设计下列伪程序的语句覆盖测试用例。 BEGIN INPUT(A,B,C) IF A>5 THEN X=10 ELSE X=1 END IF IF B>10 THEN Y=20 ELSE Y=2 END IF IF C>15 THEN Z=30 ELSE Z=3 END IF PRINT(X,Y,Z) END

    正确答案: 因为每个判定表达式为真或假时均有赋值语句,为了使每个语句都至少执行一次,总共需要两组测试数据,以便使得每个判定表达式取值为真或假各一次。下面是实现语句覆盖的典型测试用例:
    (1)使3个判定表达式之值全为假
    输入:A=1,B=1,C=1
    预期的输出:X=1,Y=2,Z=3
    (2)使3个判定表达式之值全为真
    输入:A=20,B=40,C=60
    预期的输出:X=10,Y=20,Z=30
    解析: 暂无解析