白盒测试:路径测试及测试用例设计

admin 2024年7月1日08:43:17评论3 views字数 2097阅读6分59秒阅读模式

来源: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)

  测试过程:

白盒测试:路径测试及测试用例设计

  软件缺陷报告:

白盒测试:路径测试及测试用例设计

  测试代码:

  #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("有效个数:%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)执行测试,填写软件缺陷报告。

  测试过程:

白盒测试:路径测试及测试用例设计

  软件缺陷报告:

白盒测试:路径测试及测试用例设计

  测试代码:

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

原文始发于微信公众号(啄木鸟软件测试):白盒测试:路径测试及测试用例设计

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年7月1日08:43:17
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   白盒测试:路径测试及测试用例设计http://cn-sec.com/archives/2903123.html

发表评论

匿名网友 填写信息