软件测试实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件测试实验报告文档编制序号:[KK8UY-LL9IO69-TTO6M3-MTOL89-FTT688]
《软件测试技术》
实验报告与习题册
2014/2015学年第2学期
系别计算机学院
专业
班级一班
姓名
指导教师
目录
实验一:基于白盒测试的用例设计与验证(一)
一.实验目的
(1)熟悉Eclipse开发环境
(2)掌握Java语言的基本语法,能够利用Java实现简单的程序开发(3)熟悉白盒测试基本原理
(4)掌握白盒测试的逻辑覆盖法,能够依据语句覆盖、判定覆盖、条件覆盖、判定\条件覆盖、条件组合覆盖的原理进行相应测试用例的设计工作。
二.实验内容
(1)选择一门语言,完成指定的单元程序开发。
#include
voidmain()
{
intm,n,p,q;
printf("pleaseinputm,n,p,q:\n");
scanf("%d,%d,%d,%d",&m,&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)根据给定的流程图,实际运行测试用例,检测程序的实现是否正确。
三.程序流程图
运行结果
语句覆盖:
判定覆盖:
条件覆盖:
判定-条件覆盖:
条件组合覆盖:
四.实验内容中遇到的问题、解决方法和体会。
答:遇到的问题:实验过程中,编写程序有点问题,总是输不出结果,不断进行检查和调试,以至于花费很多时间。
解决方法:通过自己检查和调试和向同学寻求帮助得以解决问题,最后运行得到结果。
体会:通过这次实验,我知道了只有自己动手去做,才会知道自己还有哪些不足,才能不断提高自己的实践能力。同时,我还知道了白盒覆盖的几种覆盖方法以及它们之间的区别。总之,我们要知道理论和实践相结合的重要性,通过不断实践来提高自己的能力。
实验一:基于白盒测试的用例设计与验证(二)
一.实验目的
(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 high=mid; else returnmid; } return0; } intmain() { inta[10]; inti,m,n; for(i=0;i<10;i++) a[i]=i+1; do { printf("请输入查找数(1~10!):"); scanf("%d",&m); }while(m>10||m<1); n=find(a,10,m); printf("查询值为a[%d]\n",n-1); return0; } (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 测试用例图: 运行结果: 三.实验内容中遇到的问题、解决方法和体会。 答:遇到的问题:编写的程序有错误不知道该怎么改。 解决方法:通过向同学寻求帮助解决,最后运行得到结果。 体会:通过这次实验,感觉自己C语言的基础太差,以后要加强对C 语言的学习。通过这次实验,我还知道了怎样计算出程序的环路复杂度,还有如何完成相应的程序控制流图。 实验一:基于黑盒测试的用例设计与验证(一) 一.实验目的 (1)理解黑盒测试的基本原理; (2)掌握黑盒测试的等价类划分法与边界值分析法,并能够根据相应的方法设计测试用例。 二.实验内容 (1)选择一门语言,完成以下程序:输入三个整数,三角形三条边的长度,输出三角形所属的类型。 #include doubletriangle(doublea,doubleb,doublec) { if(a+b>c&&b+c>a&&a+c>b) return1; else return0; } doubledengbian(doublea,doubleb,doublec) { if(a==b&&b==c) return1; else return0; } doubledengyao(doublea,doubleb,doublec) { if(a==b||b==c||a==c) return1; else return0; } doublezhijiao(doublea,doubleb,doublec) { if(a*a+b*b==c*c||b*b+c*c==a*a||a*a+c*c==b*b) return1; else return0; }