实验 白盒测试
一、实验目的
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; } 要求: 写出以上程序的语句覆盖、判定覆盖、条件覆盖、判定—条件覆 盖、多条件组合覆盖、路径覆盖的测试用例。 流程图: 条件M={(x 测试用例 输入:x=2,y=4,z=3 输出:14 输入:x=6,y=2,z=8 输出:0 输入:x=1,y=2,z=3 输出:3 输入:x=10,y=4,z=8 输出:40 T F T P4(1-3-4) F P3(1-2-5) 判定M的值 T F F P2(1-3-5) 判定N的值 T 覆盖路径 P1(1-2-4) 判定覆盖 测试用例 判定M的值 判定N的值 覆盖路径 输入:x=2,y=4,z=3 输出:14 输入:x=6,y=2,z=8 输出:0 T F T P1(1-2-4) F P2(1-3-5) 条件覆盖 对于M: x x==10取真时为T3,取假时为F3; y>3取真时为T4,取假时为F4; 测试用例 输入:x=2,y=4,z=6 输出:8 输入:x=10,y=2,z=5 输出:20 取值条件 T1,F2,F3,T4 F1,T2,T3,F4 (1-3-4) x>y,z<5,x ==10,y<3 P2具体取值条件 覆盖路径 P1(1-3-4) x 测试用例 输入:x=2,y=4,z=3 输出:14 输入:x=6,y=2,z=8 输出:0 取值条件 T1,T2,T3,T4 F1,F2,F3,F4 具体取值条件 覆盖路径 P1(1-2-4) x M /M /M /M N N N /N x 测试用例 输入:x=2,y=4,z=3 输出:14 输入:x=1,y=2,z=3 输出:3 输入:x=10,y=12,z=8 输出:120 输入:x==1,y=2,z=8 输出:0 T1,F2,F3,F4 P2(1-3-5) 2,8 T1,F2,T3,T4 P4(1-3-4) 2,5 T1,T2,F3,F4 P3(1-2-5) 1,8 覆盖条件 T1,T2,T3,T4 覆盖路经 P1(1-2-4) 覆盖组合 1,5 参照课本P104—P108 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 ; }