软件测试实验报告Word格式.docx
- 文档编号:18926145
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:15
- 大小:22.68KB
软件测试实验报告Word格式.docx
《软件测试实验报告Word格式.docx》由会员分享,可在线阅读,更多相关《软件测试实验报告Word格式.docx(15页珍藏版)》请在冰豆网上搜索。
n,&
p,&
q);
if(m>
0&
&
n<
6)
m=n+3;
n=n*2;
}
if(P>
5||q<
0)
p=2*q+5;
q++;
printf("
输出的四个数是:
%d,%d,%d,%d\n"
m,n,p,q);
return;
(2)分别依据白盒测试逻辑覆盖法中的语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖的原理设计相应的测试用例。
(3)根据给定的流程图,实际运行测试用例,检测程序的实现是否正确。
三•程序流程图
运行结果
语句覆盖:
测试用例
取值条件
具体取值条件
m=1,n=2,p=6,q=-1
T1,T2,T3,T4
m>
0,*6,p>
5,q<
m=2,n=3,p=4,q=1
T1,T2,F3,F4
0,*6,p<
5,q>
m=-1,n=7,p=7,q=-2
F1,F2,T3,T4
m<
0,n>
6,p>
m=-2,n=4,p=3,q=3
F1,F2,F3,F4
判定覆盖:
判定条件
输入:
{m=3,n=2,p=9,q=-3}
0andn<
6
输出:
{m=5,n=4,p=-1,q=-2}
p>
5orq<
{m=-4,n=10,p=2,q=4}
6,p<
0andn>
p<
5orq>
条件覆盖:
{m=1,n=7,p=6,q=2}
T1,F2,T3,F4
6,p>
{m=1,n=7,p=9,q=3}
{m=-3,n=4,p=1,q=-1}
F1,T2,F3,T4
{m=-3,n=4,p=3,q=0}
判定-条件覆盖:
{m=1,n=2,p=6,q=-1}
0,n<
{m=5,n=4,p=3,q=0}
{m=-1,n=9,p=4,q=2}
条件组合覆盖:
覆盖条件
{m=1,n=7,p=6,q=1}
{m=1,n=7,p=7,q=2}
{m=-1,n=2,p=3,q=-1}
{m=-1,n=2,p=3,q=0}
{m=-1,n=7,p=3,q=1}
{m=-1,n=7,p=3,q=0}
6,p<
四.实验内容中遇到的问题、解决方法和体会。
答:
遇到的问题:
实验过程中,编写程序有点问题,总是输不出结果,不断进行检查和调试,以至于花费很多时间。
解决方法:
通过自己检查和调试和向同学寻求帮助得以解决问题,最后运行
得到结果。
体会:
通过这次实验,我知道了只有自己动手去做,才会知道自己还有哪些不足,才能不断提高自己的实践能力。
同时,我还知道了白盒覆盖的几种覆盖方法以及它们之间的区别。
总之,我们要知道理论和实践相结合的重要性,通过不断实践来提高自己的能力。
.实验目的
1)熟悉二分查找算法,能正确实现程序
(2)掌握白盒测试的基本路径测试法,重点掌握如何根据程序控制流计算程序
的环路复杂度,并且确定程序基本路径。
1)选择一门语言,完成二分查找的实现;
源代码:
#include<
intfind(int*arry,intleng,intkey){
intlow=1;
intmid;
inthigh=leng;
while(low<
=high)
mid=(low+high)/2;
if(key>
arry[mid-1])low=mid;
elseif(key<
arry[mid-1])
high=mid;
else
returnmid;
return0;
intmain()
inta[10];
inti,m,n;
for(i=0;
i<
10;
i++)
a[i]=i+1;
do
请输入查找数(1~10!
):
"
scanf("
%d"
m);
}while(m>
10||m<
1);
n=find(a,10,m);
查询值为a[%d]\n"
n-1);
return。
;
(2)完成相应的程序控制流图,并计算出程序的环路负责度;
(3)确定程序的基本路径,设计相应的测试用例,覆盖确定的基本路径程序控制流图如下:
由程序控制图可知环路复杂度为5,因此有5条基本路径。
基本路径1:
A-B-A
基本路径2:
A-B-C-D-E-A
基本路径3:
A-B-C-D-E-F-H-C-D-E-A
基本路径4:
A-B-C-D-E-G-I-C-D-E-A
基本路径5:
A-B-C-D-E-F-H-C-D-E-G-I-C-D-E-A
测试用例图:
预期输出
结果输出
通过路径
M=0
Error!
—
基本路径1
M=5
a[4]
查询值为a[4]
基本路径2
M=3
a[2]
查询值为a[2]
基本路径3
M=7
a⑹
查询值为a[6]
基本路径4
M=4
A[3]
查询值为a[3]
基本路径5
运行结果:
三.实验内容中遇到的问题、解决方法和体会。
编写的程序有错误不知道该怎么改
通过向同学寻求帮助解决,最后运行得到结果
通过这次实验,感觉自己C语言的基础太差,以后要加强对C语言
的学习。
通过这次实验,我还知道了怎样计算出程序的环路复杂度,还有如何完成相应的程序控制流图。
基于黑盒测试的用例设计与验证
(1)理解黑盒测试的基本原理;
(2)掌握黑盒测试的等价类划分法与边界值分析法,并能够根据相应的方法设计测试用例。
2.实验内容
(1)选择一门语言,完成以下程序:
输入三个整数,三角形三条边的长度,输出三角形所属的类型。
doubletriangle(doublea,doubleb,doublec)
if(a+b>
c&
b+c>
a&
a+c>
b)
return1;
doubledengbian(doublea,doubleb,doublec)
if(a==b&
b==c)
doubledengyao(doublea,doubleb,doublec)
if(a==b||b==c||a==c)
returnl;
;
}doublezhijiao(doublea,doubleb,doublec)
if(a*a+b*b==c*c||b*b+c*c==a*a||a*a+c*c==b*b)returnl;
doublea,b,c;
请输入三角形三边:
%lf"
a);
b);
c);
if(triangle(a,b,c))
if(dengbian(a,b,c))
等边三角形\n"
elseif(dengyao(a,b,c)&
zhijiao(a,b,c))
等腰直角三角形\n"
elseif(dengyao(a,b,c))
等腰三角形\n"
elseif(zhijiao(a,b,c))
直角三角形\n"
一般三角形\n"
不能构三角形\n"
(2)依据黑盒测试中的等价类划分法,边界值分析法设计相应的测试用例。
等价类划分:
编号
等价类
输入
输出
1
三边为数字字符
234
一般三角形
2
两边之和大于第三边
3
两边相等且两边之和大于第三边
334
等腰三角形
4
两边相等且满足a*a+b*b=c*c
2*2+2*2=8
等腰直角三角形「
5
能构成三角形且满足a*a+b*b=c*c
3*3+4*4=25
直角三角形
能构成三角形且三边相等
222
等边三角形
7
三边中出现了非数字字符
a23
不能构成三角形
8
两边之和小于第三边
236
9
三边中出现了负数
-113
边界值分析法
边界值
测试用例的设计思路
数字字符
出现了除数字字符之外的符号
如输入:
a23,则不能构成三角形,反之成立
边长
三边大于0
如果输入的数中有小于0的数,则不能构成三角形,反之成立
三边边长之和
如果两边之和小于第三边,则不能构成三角形,反之成立
(3)利用设计的测试用例测试编写的程序。
3.实验内容中遇到的问题、解决方法和体会。
编写代码出现了一点问题,用等价类划分时不知道该怎么划分。
解决方法:
通过查看书本和向同学寻求帮助解决。
通过这次实验,我知道了黑盒测试的基本原理,掌握了黑盒测试的等
价类划分法与边界值分析法,并能够根据相应的方法设计测试用例。
在此次实验中也遇到了一些问题,不过出现问题才能知道我们的不足之处,然后改正并完善。
所以遇到困难应该想办法解决,大胆尝试,这样才能提高自己的能力。
一.实验目的
(2)掌握黑盒测试的判定表设计方法;
(3)能够根据判定表完成测试用例的生成。
输入年月日,输出该日的下一日日期。
#include<
voidmain()
intyear,month,day,flag=0;
m:
pleaseinputyearmonthday:
%d%d%d"
year,&
month,&
day);
if((year%4==0&
year%100!
=0)||year%400==0)
flag=1;
//当年份为闰年时,flag为1
if(month==2)//月份为2
if((day==28&
flag==0)||(day==29&
flag==1))
day=1;
month++;
〃如果是平年的第28天或者闰年的第29天,则day复位,month
加一
elseif(day==29&
flag==0)//平年输入29天为错误
{printf("
thereisnot29thFebruary!
year);
gotom;
else//其他日期,贝Uday加一
day++;
elseif(month==12)〃月份为12
if(day==31)〃如果是输入31,则day复位,month复位,year++
month=1;
year++;
else//如果是其他日期,则day++
elseif(month==1||month==3||month==5||month==7||month==8||month==1O)月份为1,3,5,7,8,10
if(day==31)//如果输入31,贝Uday复位,month加一
else//如果是其他日期,则day加一
else//月份为4,6,9,11
if(day==30)//如果输入30,则day复位,month加一
}printf("
thenextdayis%4d%4d%4d\n"
year,month,day);
(2)利用黑盒测试中的判定表法确定程序的条件项,条件桩,动作项,动作桩,
完成并优化判定表。
条件桩:
(1)1<
=month<
=12
(2)1<
=day<
=31
(3)2月平年28天,闰年29天动作桩:
(1)日期加1
(2)日期复位
(3)月份加1
(4)月份复位
(5)年份加1
(6)不可能
条
件
序号
10
11
12
13
14
15
每月30天
每月31天,12
月除外
12月
2月
平年
-
闰年
1<
=日期<
=27
日期=30天
日期=31天
日期=28天
日期=29天
动作
日期加1
日期复位
月份加1
月份复位
年份加1
不可能
(3)根据判定表完成测试用例的设计,并结合编写的程序完成实际的测试工作。
测试用例
200951
每月31天
201381
2月平年28天
200131
2月闰年29天
200031
12月31天
201511
2月输入30天
错误的输入
每月30天时输入31
月份大于12
输入中含有非数字字符
20110a12
实验中编写代码的时候出现了许多问题,导致运行的不到结果;
还有写判定表的时候不知道该怎么写,大脑有点混乱,不过最后判定表写出来了,虽然不知道是否正确。
代码部分通过调试和向同学求助解决,最后运行得到正确的结果;
判
定表部分通过自己查看书本和不断思考解决。
通过这次实验,我知道了判定表并不是像我们想象的那么好写,如果思绪紊乱就可能写不出来;
同时我们要不断地锻炼自己,这样才能更好地提高自己的实践能力。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 实验 报告