来源:CSDN
一、实验目的
1、掌握控制流图,独立路径,圈复杂度,程序基本路径集的概念。
2、掌握McCabe程序基本路径集确定方法。
3、掌握基本路径集测试法。
二、实验任务
以下三个任务、至少完成两个
1、程序void score_processing(float score[],int length)的功能说明如下:程序统计数组score前10个元素中有效成绩([0,100]内为有效成绩)的个数、总和及平均值,并输出。参数说明:数组score内按顺序存放着n个学生成绩(n<=length),且以-1作为结束标志,length为数组的长度且length〉10。
试用基本路径集测试法测试该程序,撰写实验报告。
实验步骤:
1)画出程序的控制流图。
程序流程图
控制流程图
2)计算流图G的圈复杂度V(G)。
V(G)= 3
3)确定只包含独立路径的基本路径集。
(1)①②③④⑥③⑦
(2)①②③④⑤⑥③⑦
4)根据上面的独立路径,设计测试用例,得到测试用例表。
5)执行测试,填写软件缺陷报告。(软件缺陷报告格式同实验2)
测试过程:
软件缺陷报告:
测试代码:
void
score_processing
(
float
score[],
int
length)
{
int
number =
0
;
float
sum =
0
;
float
avg =
0
;
for
(
int
i =
0
;i <
10
;i ++){
if
(score[i] >=
0
&& score[i] <=
100
){
sum = sum + score[i];
number++;
}
}
avg = sum/number;
printf
(
"有效个数:%dn"
,number);
printf
(
"总分:%.2fn"
,sum);
printf
(
"平均分:%.2fn"
,avg);
}
int
main
()
{
int
length=
12
;
float
temp =
0
;
float
score[
12
];
printf
(
"请依次输入12个成绩:n"
);
for
(
int
j =
0
;j < length;j++){
scanf
(
"%f"
,&temp);
score[j] = temp;
}
score_processing(score,length);
return
0
;
}
2、程序int binsearch(int array[],int length,int key)实现折半查找的功能。数组array元素按升序排列,length为数组array的长度,key为要查找的值。
试用基本路径集测试法测试该程序,撰写实验报告。
实验步骤:同上。
3、对三角问题运用基本路径集测试法设计测试用例,并执行测试,撰写实验报告。
实验步骤:
1)画出程序的控制流图。
流程图
控制流图
2)计算流图G的圈复杂度V(G)。
V(G) = 5
3)确定只包含独立路径的基本路径集。
(1)①③?
(2)①②④⑤?
(3)①②④⑥⑦?
(4)①②④⑥⑧⑨?
(5)①②④⑥⑧⑩?
4)根据上面的独立路径,设计测试用例,得到测试用例表。
5)执行测试,填写软件缺陷报告。
测试过程:
软件缺陷报告:
测试代码:
void
triangle
(
int
a,
int
b,
int
c )
;
int
main
(
void
)
{
int
x,y,z;
printf
(
"please input (length):n"
);
printf
(
"a:"
);
scanf
(
"%d"
,&x);
printf
(
"b:"
);
scanf
(
"%d"
,&y);
printf
(
"c:"
);
scanf
(
"%d"
,&z);
triangle( x,y,z );
//判断三角形类型
}
void
triangle
(
int
a,
int
b,
int
c )
{
int
temp;
if
( a > b )
{
//如果a比较b大,就相互转换
temp = a;
a = b;
b = temp;
}
if
( a > c )
{
//如果a比较c大,就相互调换
temp = a;
a = c;
c = temp;
}
if
( b > c )
{
//如果b比较c大,就相互调换
temp = b;
b = c;
c = temp;
}
if
( a<
0
||b<
0
||c<
0
||a>
200
||b>
200
||c>
200
)
{
printf
(
"输入不合法n"
);
return
;
}
else
{
if
( a+b <= c )
{
printf
(
"不构成三角形!!n"
);
return
;
}
else
{
if
( a == b || b == c)
{
if
( a != c )
printf
(
"等腰三角n"
);
else
printf
(
"等边三角n"
);
}
else
{
printf
(
"普通三角形n"
);
}
}
}
}
原文始发于微信公众号(啄木鸟软件测试):白盒测试:路径测试及测试用例设计
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论