白盒测试实验报告
-
实
验
报
告
课
程
专业年级
指导教师
软件测试
计科
07
级
实验项目
白盒测试用例设计与执行
姓
名
李专
学
号
实验时间
2010-6-4
实验成绩
一、实验目的
1
.熟练掌握如何运用基路径测试方法进行测试用例设计。
2
.初步熟悉如何利用程序插装技术进行逻辑覆盖率分析。
二、实验内容
1
、题目
前
一日函数
PreDate
是
NextD
ate
的逆函数(代码实现见下)
,实现功能为:
输入
1800
年
到
2050
年之间的某个日期,函数返回这一天的前一天的日期。(此处不考虑无效输入)
p>
请采用基路径方法对前一日函数进行测试用例设计,
并利用程序插装
技术对测试用例的
判定覆盖率进行检查分析。
代码:
(
被测函数为
PreD
ate)
#include
typedef struct
MyDate{
int month;
int
day;
int year;
}MyDate;
MyDate PreDate(MyDate
date);
int Leapyear(int year);
void Print(MyDate date);
MyDate PreDate(MyDate date)
//
输入日期有效性检查中其他模块实现,此处假设输入日期都是合法数据
{
yesterday;
= //
initialization
=
=
days_month[13]={0,31,0,31,
30,31,30,31,31,30,31,30,31};
//
< br>初始化每月天数,其中
2
月不确定,初始化为
0
(>1)
=-1;
else
{
(==1)
{
=-1;
=12;
=31;
}
if(==3)
{
(Leapyear())
{
=2;
=29;
}
else
{
=2;
=28;
}
}
else
{
=-1;
=days_month[-1];
}
}
yesterday;
}
Leapyear(int year)
{
((year%4==0&&year%100!=0)
|| (year%400==0))
1;
return 0;
}
void
Print(MyDate date)
{
(
}
2
、测试用例设计
1
)控制流图
2
)环路复杂度计算
由图可知,图中的环路有五条,故环路复杂度为五。
3
)基本路径集设计
基本路径集为:
A
< br>.
1
、
2
、
3
、
4
、
5
、
6
、
p>
8
、
12
、
13
、
14
、
15
、
20
、
25
B
.
1
、
2
、
3
、
4
、
5
、
6
、
8
、
12
、
16
、
17
、
20
、
25
C
.
1
、
2
、
3
、
4
、
5<
/p>
、
6
、
8
、
12
、
18
、
19
、
20
、
25
D
.
1
、
2
、
3
、
4
、
5
、
6
、
8
、
9
、
10
、
11
、
20
、
25
E
.
1
、
2
、
3
、
4
、
p>
5
、
6
、
7
、
20
、
25
4
)测试用例集设计
测试用例集为:
2000-1-2
2000-1-1 2000-3-1
1999-3-1
1980-5-1
3
、插装后源程序清单与判定覆盖率分析结
果(要求截取插装后程序运行界面)
#include
typedef struct
MyDate{
int month;
int
day;
int year;
5
5
7
19
18
16
15
1
2
3
4
5
6
8
12
13
14
15
9
10
11
}MyDate;
int a[6];
MyDate
PreDate(MyDate date);
int Leapyear(int
year);
void Print(MyDate date);
int count();
MyDate
PreDate(MyDate date)
//
输入日期有
效性检查中其他模块实现,此处假设输入日期都是合法数据
{
int days_month[
13]={0,31,0,31,30,31,30,31,31,30,31,30,31};
MyDate yesterday;
= //
initialization
=
=
//
初始化每月天数,其中
2
月不确定,初始化为
0
if(>1)
{
}
else
{
a[1]= count();
if(==1)
{
a[2]= count();
=-1;
}
=12;
=31;
a[0]=count();
=-1;