实验1 白盒测试实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章白盒测试
实验1 语句覆盖
【实验目的】
1、掌握测试用例的设计要素和关键组成部分。
2、掌握语句覆盖标准,应用语句覆盖设计测试用例。
3、掌握语句覆盖测试的优点和缺点。
【实验原理】
设计足够多的测试用例,使得程序中的每个语句至少执行一次。
【实验内容】
根据下面提供的程序,设计满足语句覆盖的测试用例。
1、程序1源代码如下所示:
#include
void main()
{
int b;
int c;
int a;
if(a*b*c!=0&&(a+b>c&&b+c>a&&a+c>b))
{
if(a==b&&b==c)
{
cout<<"您输入的是等边三角形!";
}
else if((a+b>c&&a==b)||(b+c>a&&b==c)||(a+c>b&&a==c))
{
cout<<"您输入的是等腰三角形!";
}
else if((a*a+b*b==c*c)||(b*b+c*c==a*a)||(a*a+c*c==b*b))
{
cout<<您输入的是直角三角形";
}
else
{
cout <<”普通三角形”;
}
输入数据预期输出
A=6,b=7,c=8普通三角形
A=3,b=4,c=5直角三角形
A=4,b=2,c=4等腰三角形
A=1,b=1,c=1等边三角形
A=20,b=10,c=1非三角形2、程序2源代码如下所示:
输入数据预期输出
x=6 z=3 x=4 y=6k=35 j=34
x=6 z=3 x=3 y=5k=29 j=25
x=6 z=11 x=4 y=8k=0 j=42
x=6 z=3 x=2 y=4k=23 j=0
3、程序3源代码如下所示:
预期输出
x y magic
4418
400
040
100-585
-1-10
4、程序4源代码如下所示:
printf("请输入借书证号:");
scanf("%d",&borrowerid);
for(int i=0;i<10;i++)
{
if(borrowers[i].id==borrowerid)
{ a=i; flag=false; break; }
}
if(a==0)
printf("\n您的借书证号出错.\n");
if(borrowers[a].books==4) {
printf("\n您已达最大借书量.\n");flag=true;
}
}
printf("请输入图书编号:");
scanf("%d",&bookid);
printf("借书成功!!\n");
printf("借书证号图书编号剩余借书量\n");
printf("%d %d %d\n",borrowers[a].id,bookid,borrowers[a].books-1); }
缺陷:1.当输入借书证号为非数值型时程序会陷入死循环
2.当输入图书编号为非数值型时程序会异常退出
5、程序5源代码如下所示:
#include
int Search(int somearray[],int size,int value)
{
for(int i=1;i<=size;i++)
{
if(sonearray[i]==value)
return i;
}
return -1;
}
void main()
{
int size=6;
int value;
int array[size]={5,8,-56,235,-65,449};
do
{
printf(“请输入一个整数:”);
scanf(“%d”,&value);
}while(int(value)!=value);
if(int(value)==value)
Search(array,size+1,value);
}
程序存在错误:
修改错误后程序依然无法输出,定义value直接退出程序【实验要求】
1、实验前认真听讲,服从安排,独立思考并与小组成员合作完成实验。
2、撰写实验报告。
3、提交文件统一压缩(命名:姓名+实验项目名称,如张三_语句覆盖.zip)。
实验心得
通过本次实验掌握测试用例的设计要素和关键组成部分,也掌握语句覆盖标准,应用语句覆盖设计测试用例和语句覆盖测试的优点和缺点,了解了白盒测试的基本过程,并能独立查找解决程序中的错误,本次实验受益良多。