2015年计算机三级《软件测试技术》上机练习题(2)
1、三角形问题说明:输入三个正整数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