习题01
0401 逻辑路径覆盖法是白盒测试用例的重要设计方法,其中语旬覆盖法是较为常用的方法,针对下面的语句段,采用语句覆盖法完成测试用例设计,测试用例见下表,对表中的空缺项(True或者False),正确的选择是(  )。
    语句段:
      if(A&&(B||C))      x=1;
      else                  x=0; 
用例表:
 
用例1
用例2
A
TRUE
FALSE
B
①true
FALSE
C
TRUE
②true
A&&(B||C)
③true
FALSE
A. TRUE FALSE TRUE
B. TRUE FALSE FALSE
C. FALSE FALSE TRUE
D. TRUE TRUE FALSE
输入数据
条件
预期结果
A=TRUE,B=TRUE,C=TRUE
T T
x=1
A=F,B=F,C=F
F T
x=0
0402  针对以下程序段,对于(A,B,C)的取值,以下(    )测试用例能够满足语句覆盖的要求。
      IF((A+10)=2 OR (B-20)<3) THEN C=0
      IF((A+30)>10 AND (C-30)<0) THEN B=30
A. (2,30,1) 
B.(-20,0,30) 
C. (-30,20,30) 
D. (2,20,3)
输入数据
条件
预期结果
A=-8,B=20,C=30
T T
C=0,B=30
A=-20,B=0,C=30
T T
C=0,B=30
0403  为以下程序段,设计足够的测试用例满足语句覆盖 。
    if (x>8&&y>5)     {
            if(x>16||y>10)    s1;
    } 
    else    {
                if (x>0||y>0)    s2; 
                else                s3;   
输入数据
条件
预期结果
x=17,y=11
T T T
S1
x=7,y=4
F F T
S2
x=-7,y=4
F F F
S3
0404  针对下列程序段,需要(  )个测试用例才可以满足语句覆盖的要求。
    switch ( value )
{
    case 0:    other = 30;                    break;
    case 1:    other = 50;                    break;
    case 2:    other = 300;
        case 3:    other = other / value;    break;
    default:    other = other * value;
}
A.2                        B.3                    C.4                      D.5
输入数据
条件
预期结果
Value=0
T F F F
other=30
Value=1
F T F F
other=50
Value=3
F F T F
other=100
Value=4
F F F T
other= other/4
0405  对下面的个人所得税程序中,满足语句覆盖测试用例的是(      ) 。
    if (income < 800)     tarrate = 0 
    else      if (income <= 1500)  tarrate = 0.05 
                else if (income < 2000)  tarrate = 0.08 
                        else  tarrate = 0.1   
A.income = (800, 1500, 2000, 2001)     
B.income = (800, 801, 1999, 2000) 
C.income = (799, 1499, 2000, 2001)     
D.income = (799, 1500, 1999, 2000) 
输入数据
条件
预期结果
Income=799
TFFF
 tarrate = 0
Income=1500
FTFF
tarrate =0.05
Income=1999
FFTF
tarrate =0.08
Income=2000
FFFT
tarrate =0.1
0406  阅读下列流程图:
当用判定覆盖法进行测试时,至少需要设计 (  ) 个测试用例。
A.2              B.4            C.6          D.8
while语句流程图怎么画
输入数据
条件
预期结果
x=0,y=0,d=0
FT
d=0
X=0,y=2,
FF
d=d/2
x=2,y=0
TT
d=d/2
x=1,y=2
TF
d=d/(1*2)
0407
数据输入
条件
预期结果
b=0,a=0
TT
result=0
b=0,a=-2
TF
result=-1
b=1,a=1
FTT
result=-1
b=1,a=-2
FTF
result=1
b=0,a=0
FFT
result=1
b=0,a=-2
FFF
result=-1
0408  针对下列C语言程序段,对于(MaxNum,Type),至少需要(  )个测试用例能够满足判定覆盖的要求。
    while(MaxNum-->0)
    {
          if(10==Type)
              x=y*2;
          else
                  if(100==Type)
                        x=y+10;
                  else
                      x=y-20;
    }
A.5                     B.4                  C.3                    D.2
数据输入
条件
预期结果
type=10
TFF
x=y*2
type=100
FTF
x=y+10
type!=10&&type!=100
FFT
x=y-20
0409  为以下程序段,设计足够的测试用例满足判定覆盖 。
    if (x>8&&y>5)     {
            if(x>16||y>10)    s1;
    } 
    else    {
                if (x>0||y>0)    s2; 
                else                s3;   
输入数据
条件
预期结果
x=17,y=11
T T T
S1
x=7,y=4
F F T
S2
x=-7,y=4
F F F
S3
0410  针对程序段:IF((X>10) AND (Y<20))
    THEN W=W/A ,  对于(X,Y)的取值,以下(  )组测
    试用例能够满足判定覆盖的要求。
A. (30,15) (40,10)            B. (3,0) (30,30) 
C. (5,25) (10,20)              D. (20,10) (1,100)
输入数据
条件
预期结果
x=11,y=19
T
w=w/a
x=9,y=21
F
0411    假设 A, B 为布尔变量,对于逻辑表达式(A&&B||C),需要(  )个测试用例才能完成判定覆盖(DC) 。
A.2                  B.3                  C.4                  D.5
输入数据
条件
预期结果
A=T,B=T,C=T
T
A=T,B=F,C=T
F
A=T,B=F,C=F
F
0412  针对下列程序段,需要(    )个测试用例可以满足分支覆盖的要求。
int IsLeap(int year)    {
      if ( year % 4 == 0 )   {
            if ( year % 100 == 0 )   { 
                      if ( year % 400 == 0 )    leap = 1;
                      else            leap = 0;                        }
          else            leap = 1;      }
      else          leap = 0;
      return  leap;                                            }
A. 3                B.4                C.6                D.7
输入数据
条件
预期结果
year=400
TTT
leap=1
year=100
TTF
leap=0
year=16
TFF
leap=1
year=6
FFF
leap=0
0413  针对以下 C 语言程序段,假设 sta[10]= -1,对于 x 的取值,需要(  )个测试用例能够满足分支覆盖的要求。
int  MathMine(int  x)    {
    int  m=0;
    int  i;
    for(i=x-1;i<=x+1;i++)      {
          if(i<0)                    continue;
          if(i >31)                    break;
          if(sta[i]==-1)          m++;                             
      }
    return  m;
}
A.3                  B.4                  C.5                D.6

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。