软件测试试题.docx
- 文档编号:4484792
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:17
- 大小:536.57KB
软件测试试题.docx
《软件测试试题.docx》由会员分享,可在线阅读,更多相关《软件测试试题.docx(17页珍藏版)》请在冰豆网上搜索。
软件测试试题
Homework1:
第5章:
边界值测试
1.加法器程序计算两个1~100之间的整数的和。
设计加法器边界值测试用例集合。
解:
加法器测试用例增加如下几条
(1)弱健壮性等价测试类:
A=0B=10C=ERROR
A=1B=10C=11
A=2B=10C=12
A=10B=0C=ERROR
A=10B=1C=11
A=10B=2C=12
A=99B=10C=109
A=100B=10C=110
A=101B=10C=ERROR
A=10B=99C=109
A=10B=100C=110
A=10B=101C=ERROR
(2)是否需要考虑以下情形?
虑到小数,非字符等其它情况测试用例还要增加以下几种情形:
A=3.1B=5.6C=ERROR
A=AB=BC=ERROR
A=B=#C=ERROR
A=空格B=空格C=ERROR
A=B=C=ERROR
解:
Homework2:
第6章:
等价类测试
1.保险公司人寿保险保费计算程序的等价类测试
某保险公司人寿保险的保费计算方式为:
保费=投保额×保险费率
其中,保险费率根据年龄、性别、婚姻状况和抚养人数的不同而有所不同,体现在不同年龄、性别、婚姻状况和抚养人数,点数设定不同。
10点以上保险费率为0.6%,10点及10点以下保险费率为0.1%;而点数又是由投保人的年龄、性别、婚姻状况和抚养人数来决定的,具体规则如下所示:
保险公司计算保费费率的规则
年龄
性别
婚姻
抚养人数
20~39
6点
40~59
4点
其他
2点
M
4点
F
3点
已婚
3点
未婚
5点
1人扣0.5点,
最多扣3点
假设投保额是1万元,找出保险公司人寿保险保费计算程序的等价类测试用例。
对程序中各个输入条件的要求如下:
年龄是一位或两位非零整数,值的有效围为1~99;性别是一位英文字符,有效取值只能为‘M’(表示男性)或’F’(表示女性);婚姻的有效取值只能为‘已婚’或‘未婚’;抚养人数的有效取值可以是空白或一位非零整数(1~9)。
(1)分析程序的规格说明,列出等价类表(包括有效等价类和无效等价类)。
(2)根据
(1)中的等价类表,设计能覆盖所有等价类的测试用例的输入数据和预期输出。
解:
(1)
(2)
Homework3:
第7章:
等价类测试
一个处理单价为5元钱的饮料自动售货机软件测试用例的设计。
规格说明如下:
若投入5元钱或10元钱,按下“橙汁”或“啤酒”的按钮,则相应的饮料就送出来。
若售货机没有零钱找,则一个显示“零钱找完”的红灯亮,这时在投入10元钱并按下按钮后,饮料不送出来而且10元钱也退出来;若有零钱找,则显示“零钱找完”的红灯灭,在送出饮料的同时退还5元钱。
构造因果图分析规格说明,用决策表设计测试用例。
解:
1)分析这一段说明,列出原因和结果
原因:
1.售货机有零钱找
2.投入1元硬币
3.投入5角硬币
4.押下橙汁按钮
5.押下啤酒按钮
结果:
21.售货机〖零钱找完〗灯亮
22.退还1元硬币
23.退还5角硬币
24.送出橙汁饮料
25.送出啤酒饮料
2)画出因果图,如图3-11所示。
所有原因结点列在左边,所有结果结点列在右边。
建立中间结点,表示处理的中间状态。
中间结点:
11.投入1元硬币且押下饮料按钮
12.押下〖橙汁〗或〖啤酒〗的按钮
13.应当找5角零钱并且售货机有零钱找
14.钱已付清
图3-11:
售货机因果图
3)转换成判定表:
4)在判定表中,阴影部分表示因违反约束条件的不可能出现的情况,删去。
第16列与第32列因什么动作也没做,也删去。
最后可根据剩下的16列作为确定测试用例的依据。
Homework4:
第9章:
路径测试(测试覆盖指标)
1.练习一:
求解一元二次方程程序如下:
main()
{floata,b,c,x1,x2,mid;
scanf(“%f,%f,%f”,&a,&b,&c);
if(a!
=0)
{mid=b*b-4*a*c;
if(mid>0)
{x1=(-b+sqrt(mid))/(2*a);
x2=(-b-sqrt(mid))/(2*a);
printf(“tworealroots\n”);}
else{if(mid==0)
{x1=-b/2*a;
printf(“onerealroot\n”);}
else{x1=-b/(2*a);
x2=sqrt(-mid)/(2*a);
printf(“twocomplexroots\n”);}
}
printf(“x1=%f,x2=%f\n”,x1,x2);
}
}
1、用语句覆盖准则对该程序设计测试用例;
2、用分支覆盖准则对该程序设计测试用例;
解:
1.语句覆盖
由控制图可以很容易看到,可以只选3组(所有的点必须覆盖):
第1组:
2,5,3,
执行顺序为:
1,2,3,4,5,10,11,12,13
第2组:
1,2,1
执行顺序为:
1,2,3,4,5,6,8,9,11,12,13
第3组:
4,2,1
执行顺序为:
1,2,3,4,5,6,7,9,11,12,13
2.分支覆盖
由控制图可以很容易看到,可以只选4组(所有的边必须覆盖):
第1组:
2,5,3(a!
=0,mid>0),
执行顺序为:
1,2,3,4,5,10,11,12,13
第2组:
1,2,1(a!
=0,mid=0),
执行顺序为:
1,2,3,4,5,6,8,9,11,12,13
第3组:
4,2,1(a!
=0,mid<0),
执行顺序为:
1,2,3,4,5,6,7,9,11,12,13
第4组:
0,2,1(a=0)
执行顺序为:
1,2,3,13
练习二:
程序如下:
main()
{inti,j,k,match;
scanf(“%d%d%d,&i,&j,&k);
if(i<=0‖j<=0‖k<=0‖i+j<=k‖i+k<=j‖j+k<=i)match=4;
elseif(i==j&&i==k&&j==k)match=1;
elseif(i==j‖i==k‖j==k)match=2;
elsematch=3;
printf(“match=%d\n”,match);
}
用条件覆盖准则对该程序设计测试用例;
用分支-条件覆盖准则对该程序设计测试用例;
用组合覆盖准则对该程序设计测试用例;
解:
分析:
三组判定:
(1)条件覆盖:
第一组:
if(a<=0||b<=0||c<=0||a+b<=c||b+c<=a||c+a<=b)
有6个条件
第二组:
if(a==b&&b==c&&c==a)有3个条件
第三组:
if(a==b||b==c||c==a)有3个条件
实际上只有9个条件
(a<=0b<=0c<=0a+b<=cb+c<=ac+a<=b)a==bb==cc==a
000TTTTTTTTT
234FFFFFFFFF
这样,2组测试用例,使得每个条件,至少各有一次“真”和“假”。
(2)分支-条件覆盖:
根据流程图,有4条分支:
测试用例为:
000match=1
234match=3
111match=4
223match=2
(3)条件组合覆盖:
Homework5:
第9章(基路径测试)
1.函数说明:
当i_flag=0;返回 i_count+100
当i_flag=1;返回 i_count *10
否则 返回 i_count *20
输入参数:
inti_count ,
inti_flag
输出参数:
int i_return;
代码:
1 int Test(int i_count, int i_flag)
2 {
3 int i_temp = 0;
4 while (i_count>0)
5 {
6 if (0 == i_flag)
7 {
8 i_temp = i_count + 100;
9 break;
10 }
11 else
12 {
13 if (1 == i_flag)
14 {
15 i_temp = i_temp + 10;
16 }
17 else
18 {
19 i_temp = i_temp + 20;
20 }
21 }
22 i_count--;
23 }
24 return i_temp;
25 }
用基路径测试方法,画出DD路径图,计算圈复杂度,并列出基路径,设计对应的测试用例。
解:
(1)基本路径测试步骤:
1.导出程序流程图的拓扑结构—控制流图G
2.计算控制流图G的环路复杂度V(G)
环路复杂度是一种为程序逻辑复杂性提供定量测试的软件度量。
将该度量用于计算程序的基本独立路径数目。
为确保所有语句至少执行一次的测试数量的上界。
简单的定义就是控制流图的区域数目
3.确定只包含独立路径的基本路径集
4.设计测试用例
(2)控制流图
(3)计算流图G的环路复杂度V(G)
有三种方法计算环路复杂度:
1>V(G)=区域个数=4
2>V(G)=E-N+2,E是流图中边的数量,N是流图中结点的数量。
V(G)=10-8+2=4
3>V(G)=P+1,P是流图G中判定结点的数量
V(G)=3+1=4
(4)基本路径:
1B
(4,24)
2C,E,J
(4,6,8,24)
3C,D,F,H,A,B
(4,6,13,15,22,4,24)
4C,D,G,I,A,B
(4,6,13,19,22,4,24)
(5)测试用例:
1B(4,24)
输入数据:
i_flag=0,或者是i_flag<0的某一个值。
预期结果:
i_temp=0.
2C,E,J(4,6,8,24)
输入数据:
i_count=1;i_flag=0
预期结果:
i_temp=101.
3C,D,F,H,A,B(4,6,13,15,22,4,24)
输入数据:
i_count=1;i_flag=1
预期结果:
i_temp=10.
4C,D,G,I,A,B(4,6,13,19,22,4,24)
输入数据:
i_count=1;i_flag=2
预期结果:
i_temp=20.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 试题