您好,欢迎访问三七文档
广西科技大学实验报告专业:软件工程班级:软件132学生姓名:李广贵学号:201300406067指导老师:李威龙一,实验目的(1)掌握白盒测试技术,并能应用白盒测试技术设计测试用例(2)能用Junit实施测试二,实验内容(1)用白盒测试的基路径测试法测试一段代码(2)编写一个java类,并用Junit测试编写的java类三,实验过程(一)白盒测试1,用基路径测试法测试下面代码:publicclassMysort{intresult;publicvoidsort(intiRecordNum,intiType){intx=0;inty=0;while(iRecordNum0){if(iType==0){x=y+2;}else{if(iType==1){x=y+5;}else{x=y+10;}}iRecordNum--;result=x;}}publicintgetResult(){returnresult;}}2,控制流图程序的控制流图如图1所示:图13,计算圈复杂度流图中区域的数量对应于圈复杂度,,从图中可以直观的看出,其区域数为。因此其圈复杂度为44,寻找独立路径1path1:1-2-3-4-5-10-3-112path2:1-2-3-4-6-7-9-10-3-113path3:1-2-3-4-6-8-9-10-3-114path4:1-2-3-115,导出测试用例为了确保基本路径集中的每一条路径的执行,根据判断节点给出的条件,选择适当的数据以保证某一条路径可以倍测到。(二)Junit测试(1)编写一个java类,用Junit测试结果正误publicclassCaculator{privateintresult;//静态变量,用于存储运行结果publicvoidadd(intn){result=result+n;}publicvoidsubstract(intn){result=result-1;//Bug:正确的应该是result=result-n;}publicvoidmultiply(intn){//此方法尚未写好}publicvoiddivide(intn){result=result/n;}publicvoidsquare(intn){result=n*n;}publicvoidsquareRoot(intn){for(;;);//Bug:死循环}publicvoidclear(){result=0;//将结果清零}publicintgetResult(){returnresult;}}(2)生成JUnit测试框架完整代码如下:importstaticorg.junit.Assert.*;importorg.junit.After;importorg.junit.Before;importorg.junit.Test;importorg.junit.Ignore;publicclassCaculatorTest{Caculatorcalculator=newCaculator();@BeforepublicvoidsetUp()throwsException{}@AfterpublicvoidtearDown()throwsException{}@TestpublicvoidtestAdd(){calculator.add(1);calculator.add(3);assertEquals(4,calculator.getResult());}@TestpublicvoidtestSubstract(){calculator.add(5);calculator.add(3);assertEquals(2,calculator.getResult());}@Ignore(Multiply()Notyetimplemented)publicvoidtestMultiply(){fail(尚未实现);}@TestpublicvoidtestDivide(){fail(尚未实现);}}四,实验结果及分析:1,白盒测试:(1)测试用例如下:用例编号路径输入数据预期输出1Path1:1-2-3-4-5-10-3-11iRecording=1,iType=0X=22path2:1-2-3-4-6-7-9-10-3-11iRecording=1,iType=1X=53path3:1-2-3-4-6-8-9-10-3-11iRecordNum=1,iType=3X=104path4:1-2-3-11iRecordNum=1X=0(2)结果分析:设计四个测试用例分别覆盖四条路径,并给出预期结果。可以通过实际的输出结果与预期的输出结果的比较来测试程序的正确性。2,Junit测试(1)测试结果:(2)结果分析:从测试结果可以看出,测试的类是Caculator,其所在的包是andy。以及本次测试一共测试了java类的三个方法,分别是testAdd()方法,testSubstract()方法和tesrDivide()方法。而且还可以看出testAdd()方法测试结果表明是正确的,而另外两个方法有测试结果可以看出其方法的代码是错误的。从测试结果还可以看出测试每个方法所用的时间。五,实验收获与体会:通过实验对白盒测试更加了解,亲自动手更了解过程
本文标题:软件测试实验报告一
链接地址:https://www.777doc.com/doc-6002794 .html