1、白盒测试doc湖北科技学院软件测试实验报告课程名称软件测试方法与技术班级实验日期姓名学号实验成绩实验名称白盒测试实验实验目的与要求(1)掌握白盒测试技术,并能应用白盒测试技术设计测试用例(2)能用Junit 实施测试实验环境主流 PC 机一套,需安装windows 操作系统、Office、Eclipse 和Junit实验内容题目一:用逻辑覆盖测试方法测试以下程序段void DoWork (int x,int y,int z)1 int k=0, j=0;2 if ( (x3)&(z5)8 j=x*y+10;9 j=j%3;10 说明:程序段中每行开头的数字(110)是对每条语句的编号。(1)画
2、出程序的控制流图(用题中给出的语句编号表示)。(2)分别以语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖方法设计测试用例,并写出每个测试用例的执行路径(用题中给出的语句编号表示)。题目二、折半查找请按要求对下面的java 代码进行测试。代码的功能是:用折半查找法在元素呈升序排列的数组中查找值为key 的元素。public int binSearch ( int array, int key ) int mid, low, high;low = 0;high = array.length-1;while ( low = high ) mid = (low high)/2;if
3、( key = = array mid )return mid;else if ( key 3 ; z 5 ;设计用例时要使每个条件分别取真和取假。设计的测试用例如下表。测试用例编号测试数据覆盖条件执行路径1x=3,y=8,z=8假真假真1-2-3-6-7-8-9-102x=4,y=5,z=13真假真假1-2-3-6-7-8-9-10 判定条件覆盖:判定/条件覆盖要求判断中每个条件的所有可能至少出现一次,并且每个判断本身的可能判定结果也至少出现一次。题目中的条件有四个,分别如下:1x 3 ; z 5 ;该程序中的分支有四个 。所以设计的测试用例如下表所示:测试用例编号测试数据覆盖条件执行路径1
4、x=4,y=8,z=8真真真真1-2-3-4-5-6-7-8-9-102x=3,y=5,z=13假假假假1-2-3-6-7-9-10条件组合覆盖:条件组合覆盖要求每个判定的所有可能条件取值组合至少执行一次。这道题目中共有四个条件分别如下:1 x 3 ; z 5 ;设定x 3 为真时,记作T1 ;为假时,即x 3 , 记作F1 ;z 5为真时,记作T4 ; 为假时,即y 5 , 记作F4 。条件组合如下表:编号具体条件取值覆盖条件判定取值1x 3 , z 3 , z 10T1,F2第一个判定:取假分支3x 3 ,z 5T3,T4第二个判定:取真分支6x = = 4 ,y 5T3,F4第二个判定:
5、取真分支7x 4 , y 5F3,T4第二个判定:取真分支8x 4 , y 5F3,F4第二个判定:取假分支设计的测试用例如下:测试用例编号测试数据覆盖条件执行路径1x = 4 , y = 8 , z = 8T1,T2,T3,T41-2-3-4-5-6-7-8-9-102x = 4 , y = 3 , z = 13T1,F2,T3,F41-2-3-6-7-8-9-103x = 2 , y = 8 , z = 8F1,T2,F3,T41-2-3-6-7-8-9-104x = 2 , y = 3 , z = 13F1,F2,F3,F41-2-3-6-7-9-10路径覆盖:路径覆盖要求覆盖程序中所有
6、可能的路径。这道题中可能的执行路径共有4条,所以需要设计4个测试用例:测试用例编号测试数据执行路径1x = 4 , y = 8 , z = 81-2-3-4-5-6-7-8-9-102x = 4 , y = 3 , z = 131-2-3-6-7-8-9-103x = 6 , y = 2 , z = 81-2-3-4-5-6-7-9-104x = 2 , y = 3 , z = 131-2-3-6-7-9-10(2) 题目二程序编号后如下:public int binSearch ( int array, int key ) 1.int mid, low, high;2.low = 0;3.h
7、igh = array.length-1;4.while ( low = high ) 5.mid = (low high)/2;6.if ( key = = array mid )7.return mid;8.else if ( key 3) & (z5) j=x*y+10; j=j%3; public boolean doWork(int x,int y,int z) return true; 测试程序:(1)package gy.test2;import junit.framework.*;import org.junit.Test;public class DoWorkTest1 ex
8、tends TestCase private static int x,y,z; private static DoWork dowork=new DoWork(x,y,z); public void setUp() throws Exception Test public void testDoWork() assertEquals(true, dowork.doWork(4, 8, 8); (2) package gy.test2;import static org.junit.Assert.*;import org.junit.Test;public class DoWorkTest2
9、private static int x,y,z; private static DoWork dowork=new DoWork(x,y,z); public void setUp() throws Exception Test public void testDoWork() assertEquals(true, dowork.doWork(4, 3, 13); (3)package gy.test2;import static org.junit.Assert.*;import org.junit.Test;public class DoWorkTest3 private static
10、int x,y,z; private static DoWork dowork=new DoWork(x,y,z); public void setUp() throws Exception Test public void testDoWork() assertEquals(true, dowork.doWork(6, 2, 8); (4)package gy.test2;import static org.junit.Assert.*;import org.junit.Test;public class DoWorkTest4 private static int x,y,z; priva
11、te static DoWork dowork=new DoWork(x,y,z); public void setUp() throws Exception Test public void testDoWork() assertEquals(true, dowork.doWork(2, 3, 13); 2.源程序:package gy.test;public class BinSearch public int binSearch (int array,int key) int mid,low,high; low = 0; high = array.length-1; while (low
12、 = high) mid = (low+high)/2; if (key = arraymid) return mid; else if (key array mid) high = mid -1; else low = mid+1; return -1; 测试程序:(1)package gy.test;import junit.framework.*;public class BinSearchTest1 extends TestCase private static BinSearch search= new BinSearch(); private int array = ; publi
13、c void setUp() throws Exception public void testBinSearch() assertEquals(-1, search.binSearch(array, 1); (2)package gy.test;import junit.framework.*;public class BinSearchTest2 extends TestCase private static BinSearch search= new BinSearch(); private int array = 2,4,6; public void setUp() throws Ex
14、ception public void testBinSearch() assertEquals(1, search.binSearch(array, 4); (3)package gy.test;import junit.framework.*;public class BinSearchTest3 extends TestCase private static BinSearch search= new BinSearch(); private int array = 2,4,6,8; public void setUp() throws Exception public void tes
15、tBinSearch() assertEquals(0, search.binSearch(array, 2); (4)package gy.test;import junit.framework.*;public class BinSearchTest4 extends TestCase private static BinSearch search= new BinSearch(); private int array = 2,4,6,8; public void setUp() throws Exception public void testBinSearch() assertEquals(2, search.binSearch(array, 6);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1