软件测试练习题1.对以下程序进⾏测试
PROCEDURE EX(A,B:REAL;VAR X:REAL);BEGIN
IF(A=3)OR(B> 1)THEN X:=A×BIF(A>2)AND(B=0)THEN X:=A-3END
先画出程序流程图。再按不同逻辑覆盖法设计⼀种(写出名称)测试数据。2.请给出⼀组测试⽤例对下⾯的程序流程图达到判定覆盖。
3.请根据下⾯的程序写出满⾜条件组合覆盖的测试数据begins1;
if (x=0) and (y=2) thens2 ;else
if (x<1) or (y=1) thens3 ;s4 ;end
4.采⽤综合测试策略,对以下模块进⾏测试。要求绘制出程序流程图,并写出测试⽅法,
列出所有的判定,并给出所选择的⽤例。模块功能为:使⽤直接插⼊法将10个整数按递增次序排列。main( ) // 使⽤直接插⼊法
{ int data[ ]={23,56,234,1,45,34,21,394,3,35};int i, j, temp;for(i=1;i<10;i++){ j=i-1; temp=data[i];
while(data[j]>temp&&j>=0) //⼤者后移{ data[j+1]=data[j]; j--; }
data[j+1]=temp; /* 插⼊正确位置}
for(i=0;i<10;i++)printf(”%d”,data[i]);printf(”\\n”);}
5.为下列伪代码设计符合判定覆盖和条件组合覆盖的测试⽤例。STARTINPUT(A,B,C,D)IF(A>0) AND (B>0)THEN X=A+BELSE X=A-BEND IFIF (C>A) OR (DTHEN Y=C-DELSE Y=C+DEND IFPRINT(X,Y)STOP
6.下图为⼀个被测程序流程图,试⽤条件覆盖⽅法为它设计⾜够的测试⽤例。
7.已知被测试模块流程图如下,按照“判定覆盖”法,在表格中填⼊满⾜测试要求的数据。
d b填写下表
8. 请根据程序流程图设计该程序段的语句覆盖测试⽤例,请列举A ,B ,X 的值。
9. 试⽤条件覆盖测试⽅法,设计测试下⾯的伪代码程序的测试⽤例1: STRAT
INPUT (A,B,C,D) 2:IF (A>0) 3: AND (B>0) 4:THEN X=A+B 5:ELSE X=A-B 6:ENDIF 7:IF(C>A)8: OR(D9: TEHN Y=C-D10:ELSE Y=C+D
11:ENDIF12:PRINT (X,Y)STOP
10.根据下列条件使⽤等价类划分法设计测试⽤例。
某⼀8位微机,其⼋进制常数定义为:以零开头的数是⼋进制整数,其值的范围是-177~177,如05,0127,-06511.根据下列条件使⽤等价划分法设计测试⽤例。
某⼀8位微机,其⼗六进制常数定义为:以0x或0X开头的数是⼗六进制整数,其值的范围是-7f~7f(表⽰⼗六进制的⼤⼩写字母不加区别),如0X13,0X6A,-0X3c。
12.竞猜系统中:投注的⾦额要求是⼤于10的正整数。请根据等价类划分的原则给出相应的测试⽤例。
根据分析等到以下等价类表。
13.采⽤健壮性边界测试⽅法,对⼀个两个数的加法器进⾏测试(两个输⼊值均在100⾄200之间,包含100和200)
14.⾦额校验测试⽤例设计:⾦额范围[0.00,99.99](最多只能有两位⼩数),要求划分等价类,然后设计测试⽤例。例如输⼊:56.57 21. 23.4输出:56元5⾓7分21元23元4⾓
15.某直辖市的电话号码由三部分组成,这三部分的名称和内容分别是:地区码:空⽩或四位数字
前缀:⾮“0”和⾮“1”开头的4位数字;后缀:4位数字
假定被测程序接受⼀切符合上述规定的电话号码,拒绝所有不符合的号码,试设计它的测试⽤例。16.试对以下程序设计语句覆盖、条件覆盖、判定条件覆盖、条件组合覆盖以及判定副⾼的测试⽤例。(1)
if(x>=80&&y>=80)t=1;else
if(x=y>=140&&(x>=90)||y>=90)t=2;elset=3(2)
void DoWork(int x,int y,int z){
int k=0,j=0;if((x>3)&&(z<10)){k=x*y-1;j=sqrt(k);}
if((x==4)||(y>5))j=x*y+10;j=j%3;}
因篇幅问题不能全部显示,请点此查看更多更全内容