白盒测试.doc_第1页
白盒测试.doc_第2页
白盒测试.doc_第3页
白盒测试.doc_第4页
白盒测试.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

湖北科技学院软件测试实验报告课程名称软件测试方法与技术班级实验日期姓名学号实验成绩实验名称白盒测试实验实验目的与要求(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)分别以语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖方法设计测试用例,并写出每个测试用例的执行路径(用题中给出的语句编号表示)。题目二、折半查找请按要求对下面的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 ( key = = array mid )return mid;else if ( key 3&z5x*y+10j=j%3j=sqrt(k)TFTF开始结束程序的控制流图如下:56789101234语句覆盖的测试用例:语句覆盖是设计足够的测试用例使程序中的每一条可执行语句至少执行一次。这题中,两个if语句的判定之后,只要确保使两个判定都为真,那么所有的执行语句就都可以执行了,即可达到语句覆盖的要求。所以设计的测试用例如下:x = 4 , y = 6 , z = 8 。 这组测试用例的执行路径是12345678910判定覆盖的测试用例:判定覆盖要求程序中每个判断的取真分支和取假分支至少经历一次。这题中,有两个判定语句,至少需要设计两组测试用例,才能分别覆盖两个if语句的真分支和假分支。所以设计的测试用例如下:用例1:x = 4 , y = 6 , z = 8 ,其执行路径是12345678910 ;用例2:x = 3 , y = 5 , z = 8 ,其执行路径是12367910。条件覆盖的测试用例条件覆盖要求每个判断中每个条件的可能取值至少要满足一次。这道题目中的条件有四个,分别如下: x 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 判定条件覆盖:判定/条件覆盖要求判断中每个条件的所有可能至少出现一次,并且每个判断本身的可能判定结果也至少出现一次。题目中的条件有四个,分别如下: x 3 ; z 5 ;该程序中的分支有四个 。所以设计的测试用例如下表所示:测试用例编号测试数据覆盖条件执行路径1x=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条件组合覆盖:条件组合覆盖要求每个判定的所有可能条件取值组合至少执行一次。这道题目中共有四个条件分别如下: 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第二个判定:取真分支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路径覆盖:路径覆盖要求覆盖程序中所有可能的路径。这道题中可能的执行路径共有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.high = array.length-1;4.while ( low = high ) 5.mid = (low high)/2;6.if ( key = = array mid )7.return mid;8.else if ( key array mid )9.high = mid -1;10.else11.low = mid +112.13.return -1;14.程序的流程图如下:开始Low=0high=array.length-1low=highFTmid=(high+low)/2return -1结束Key=arraymidTFreturn midkey3) & (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 extends TestCase private static int x,y,z;private static DoWork dowork=new DoWork(x,y,z);public void setUp() throws Exception Testpublic 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 private static int x,y,z;private static DoWork dowork=new DoWork(x,y,z);public void setUp() throws Exception Testpublic 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 int x,y,z;private static DoWork dowork=new DoWork(x,y,z);public void setUp() throws Exception Testpublic 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;private static DoWork dowork=new DoWork(x,y,z);public void setUp() throws Exception Testpublic 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 = high) mid = (low+high)/2;if (key = arraymid)return mid;else if (key array mid)high = mid -1;elselow = mid+1;return -1;测试程序:(1)package gy.test;import junit.framework.*;public class BinSearchTest1 extends TestCaseprivate static BinSearch search= new BinSearch();private int array = ;public 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 Exception public void testBinSearch() assertEquals(1, search.binSearch(array, 4);(3)package gy.test;import junit.framework.*;public class BinSearchTest3 extends TestCaseprivate static BinSearch search= new BinSearch();private int array = 2,4,6,8;public void setUp() throws Exception public void testBinSearch() assertEquals(0, search.binSearch(array, 2);(4)package gy.test;imp

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论