实验六 白盒测试
一、实验目的
1、系统地学习和理解白盒测试的基本概念、原理,掌握白盒测试的基本技术和方法;
2、通过实验和应用,逐步提高和运用白盒测试技术解决实际测试问题的能力。
3、掌握决策表和因果图的测试用例设计方法
二、实验内容
1.
程序代码如下:
int result(int x, int y, int z) {
int k=0,j=0; if((x if((x==10)||(y>3)) j=x*y; return k+j; } 要求: 写出以上程序的语句覆盖、判定覆盖、条件覆盖、判定—条件覆 盖、多条件组合覆盖、路径覆盖的测试用例。 k=0,j=0 1 T 2 x 语句覆盖:令x=10,y=11,z=4.满足“x 测试用例 输入x=10,y=11,z=3 输出k=21,j=110 第一个判断值 T 第二个判断值 T 覆盖路径 1—2—4 输入x=5,y=3,z=5 输出k=0,j=0 F F 1—3—5 条件覆盖: 对于第一个判断:x>y取真时为T1,取假时F1 z<5取真时为T2,取假时F2 对于第二个判断:x=10取真时为T3,取假时F3 y>3取真时为T4,取假时F4 取值条件 T1,F2,F3,T4 具体取值条件 x>y,z>=5,x!=10,y>3 x>=y,z<5,x=10,y<=3 覆盖路径 1—3—4 测试用例 输入x=3,y=4,z=5 输出k=0,j=12 输入x=10,y=3,z=4 输出k=0,j=30 F1,T2,T3,F4 1—3—4 判定——条件覆盖: 测试用例 输入x=10,y=11,z=4 输出k=21,j=110 取值条件 T1,T2,T3,T4 具体取值条件 x 多条件组合覆盖: 测试用例 输入x=10,y=11,z=4 输出k=21,j=110 取值条件 T1,T2,T3,T4 覆盖路径 1—2—4 覆盖的判定—条件组合 x 2. 问题:插入函数 int insert(int a[],int val,int pos)。 功能:将成绩插入到成绩数组的指定位置,数组最大可以容纳200个成绩。 参数:a为成绩数组,val为成绩值,pos为插入的位置(应在1——实际成绩个数+1之间) 返回值:插入失败返回-1(如超过范围),成功返回实际长度(即实际成绩个数) Java 代码如下: int insert(int a[],int val,int pos){ 1 int i ; 2 int len=getArrValConut(a) ;//获取数组a中实际成绩个数 3 if(pos<1|| pos>len) //验证实际范围 if(pos<0|| pos>len) 4 return -1 ; 5 if(len=200)//验证是否超过数组最大长度 6 return -1 ; 7 for(i=len-1 ;i>=pos-1 ;i--)//从插入位置开始后移,以将插入位置空出 8 a[i+1]=a[i] ; 9 a[pos-1]=val ;//插入 10 return len ; } 要求: 1、静态代码检查,程序中哪几处有问题?找出并更正 1.if(len=200)改为if(len==200) for(i=len-1;i>=pos-1;i--)改为for(i=len-1;i>=pos;i--) 2、画出程序控制流图 2.