实验6、白盒测试:路径测试及测试用例设计

一、实验目的

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)根据上面的独立路径,设计测试用例,得到测试用例表。

测试用例ID

测试用例

预期输出

覆盖路径

number

sum

avg

T1

100,80,-2,89,72,60,44,81,64,77,86,97

9

667.00

74.11

(1)

T2

3,99,59,80,72,66,94,61,75,84,103,93

10

693.00

69.30

(2)

5)执行测试,填写软件缺陷报告。(软件缺陷报告格式同实验2)

测试过程:

软件缺陷报告:

测试模块:

成绩统计

开 发 者:

阿华

测 试 员:

阿华

测试日期:

2024.5.22

软件缺陷列表

缺陷ID

缺陷详细信息

BUG1

BUG2

测试代码:

#include <stdio.h>

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("有效个数:%d\n",number);

printf("总分:%.2f\n",sum);

printf("平均分:%.2f\n",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)根据上面的独立路径,设计测试用例,得到测试用例表。

测试用例ID

测试用例

预期输出

覆盖路径

a

b

c

T1

-1

55

200

输入不合法

(1)

T2

3

197

186

不构成三角形

(2)

T3

101

89

123

普通三角形

(3)

T4

99

100

99

等腰三角形

(4)

T5

200

200

200

等边三角形

(5)

5)执行测试,填写软件缺陷报告。

测试过程:

软件缺陷报告:

测试模块:

三角形

开 发 者:

阿华

测 试 员:

阿华

测试日期:

2024.5.22

软件缺陷列表

缺陷ID

缺陷详细信息

BUG1

BUG2

测试代码:

#include <stdio.h>

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");

}

   }

  }

}

  • 23
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值