当前位置:文档之家› 实验1-白盒测试实验报告

实验1-白盒测试实验报告

实验1-白盒测试实验报告
第一章白盒测试
实验1 语句覆盖
【实验目的】
1、掌握测试用例的设计要素和关键组成部
分。

2、掌握语句覆盖标准,应用语句覆盖设计测
试用例。

3、掌握语句覆盖测试的优点和缺点。

【实验原理】
设计足够多的测试用例,使得程序中的每个语句至少执行一次。

【实验内容】
根据下面提供的程序,设计满足语句覆盖的测试用例。

1、程序1源代码如下所示:
#include <iostream.h>
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 <<”普通三角形”;
}
}
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源代码如下所示:
void DoWork(int x,int y,int z) {
int k=0,j=0;
if((x>3)&&(z<10))
{
k=x*y-1; //语句块1 j=sqrt(k);
}
if((x= =4)||(y>5))
{
j=x*y+10; //语句块2 }
j=j%3; //语句块3 }
输入数据预期输出
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源代码如下所示:
int logicExample(int x, int y)
{
int magic=0;
if(x>0 && y>0)
{
magic = x+y+10; // 语句块1
}
else
{
magic = x+y-10; // 语句块2
}
if(magic < 0)
{
magic = 0; // 语句块3 }
return magic; // 语句块4
}
预期输出
x y magic
4418
400
040
100-585
-1-10
4、程序4源代码如下所示:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
struct Borrower{ int id,books; }borrowers[100];
void main()
{
int borrowerid,a=0,bookid;
bool flag = true;
borrowers[1].id = 1101; borrowers[2].id = 1102;
borrowers[3].id = 1103; borrowers[4].id = 1104;
borrowers[1].books = 2; borrowers[2].books = 4;
borrowers[3].books = 1; borrowers[4].books = 3;
printf("***********借阅图书**********\n\n");
while(flag)
{
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<stdio.h>
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)。

实验心得
通过本次实验掌握测试用例的设计要素和关键组成部分,也掌握语句覆盖标准,应用语句覆盖设计测试用例和语句覆盖测试的优点和缺点,了解了白盒测试的基本过程,并能独立查找解决程序中的错误,本次实验受益良
多。

相关主题