2016年计算机三级软件测试技术上机试题
【第一题】
三角形问题说明:输入三个正整数a、b、c,分别作为三角形的三条边,现通过程序判断由三条边构成的三角形的类型是否为等边三角形、等腰三角形、直角三角形、普通三角形以及非三角形。根据问题的规格说明,可以从输出域划分5种等价类:
输出等价类
ID
条件
等价类
1
a=b∧b=c∧a=c∧(a+b>c∧b+c>a∧a+c>b)
等边三角形
2
a=b∨b=c∨a=c∧(a+b>c∧b+c>a∧a+c>b)
等腰三角形
3
a2+b2=c2∨b2+c2=a2∨a2+c2=b2∧(a+b>c∧b+c>a∧a+c>b)
直角三角形
4
a≠b∧b≠c∧a≠c∧(a+b>c∧b+c>a∧a+c>b)
普通三角形
5
(a+b≤c∨b+c≤a∨a+c≤b)∨a≤0∨b≤0∨c≤0
非三角形
编程实现:
(1)对每一个输出等价类,至少设计一个测试用例。
输入格式:输入(a,b,c):
输出格式:输出(ID类型):
例如:输入(a,b,c):5,5,5↙(回车)
输出(ID类型):1(等边三角形),2(等腰三角形)
(2)假设10≤a,b,c≤100,根据划分的等价类,设计边界值测试用例。
例如:输入(a,b,c):60,60,10↙(回车)
输出(ID类型):2(等腰三角形)
2、阅读下面的一段程序,
voidTest2(intX,intA,intB)
1{
2intk=0,j=0;
3if((A>1)&&(B=0))
4{
5X=X/A;
6k=A*B-1;
7}
8if((A==2)||(X>1))
9X=X+1;
10j=X+3;
11}//Test2
根据所给定的程序,确定该程序的独立路径如下:
路径1:3→8→10→11
路径2:3→5→6→8→10→11
路径3:3→8→9→10→11
路径4:3→5→6→8→9→10→11
编程实现:
对每一个独立路径,设计一个测试用例,并插入一条显示输出语句(printf/cout),显示测试路径标号。
输入格式:输入(X,A,B):
输出格式:输出(k,j):k=j=
路径ID:
例如:输入(X,A,B):1,2,1↙(回车)
输出(k,j):k=0j=5
路径ID:测试路径4
【第二题】
NextDate函数问题说明:输入一个日期,求从输入日期算起的第三天日期。例如,输入为2008年8月8日,则该程序的输出为2008年8月10日。NextDate函数包含三个整数变量month、day和year,并且满足下列条件:1≤ month ≤12、1≤ day ≤31和2000≤ year ≤2100。分析各种输入情况,列出为输入变量month、day、year划分的.有效等价类:
输入等价类
输入
ID
有效等价类
day
1
1 ≤day≤26
2
day=27
3
day=28
4
day=29
5
day=30
6
day=31
month
7
month=4,6,9,11
8
month=1,3,5,7,8,10
9
month=2
10
month=12
year
11
闰年
12
非闰年
编程实现:
(1) 对每一个有效等价类,至少设计一个测试用例。
输入格式:输入(yyyymmdd):
输出格式:输出(yyyy-mm-dd):
覆盖等价类(ID类型):
闰年(Y/N):
例如:输入(yyyymmdd) 20080105↙(回车)
输出(yyyy-mm-dd): 2008-01-07
覆盖等价类(ID类型):1,8,11
闰年(Y/N):N
(2)对每一个无效的month、day和year,分别输入一个无效等价类。
例如:输入(yyyymmdd) 20081305 ↙(回车)
输出(yyyy-mm-dd): 无效月份
覆盖等价类(ID类型):
闰年(Y/N):
2、阅读下面的一段程序:
void Test1(int N,intI)
1 {
2int x=0;
3int y=0;
4while(N-->0)
5{
6if(I==0)
7 x=y+2;
8 else
9 if(I==1)
10 y=y+10;
11 else
12 x=y+20;
13}//while
14 }//Test1
根据所给定的程序,确定该程序的独立路径如下:
路径1:4→14
路径2:4→6→7→14
路径3:4→6→9→10→4→14
路径4:4→6→9→12→4→14
编程实现:
对每一个独立路径,设计一个测试用例,并插入一条显示输出语句(printf/cout),显示测试路径标号。
输入格式:输入(N,I):
输出格式:输出(x,y):x= y=
路径ID:
例如:输入(N,I): 1,2↙(回车)
输出(x,y):x=20 y=0
路径ID:测试路径4
【2016年计算机三级软件测试技术上机试题】相关文章: