您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 山东大学软件测试白盒测试实验报告
软件学院实验报告实验题目:白盒程序测试学号:日期:2014.04.08班级:姓名:Email:实验目的:通过本次实验,掌握利用白盒测试方法对程序进行功能测试的方法,学会利用路径覆盖、语句覆盖、条件覆盖、判定覆盖、判定-条件覆盖以及条件组合覆盖法设计测试用例。硬件环境:机房计算机以及个人机器软件环境:Win8.1C-freeGooglechrome实验步骤:首先使用最基本的三角形形状判定程序设计相应的测试用例,综合网络查询获得的方法,从而对程序测试用例的设计有一定概念;然后编写一个新的程序并针对新编写的程序设计测试用例,从而整体掌握测试用例的设计方法。1.三角形形状判定程序(1)核心程序代码:/**判断三角形的类*/publicclassTriangleTest{/**判断三角形的种类。参数a,b,c分别为三角形的三边,*返回的参数值为0,表示非三角形;*为1,表示普通三角形;*为2,表示等腰三角形;*为3,表示等边三角形。*/publicstaticinttest(inta,intb,intc){if((a+bc)&&(b+ca)&&(a+cb)){//判断为三角形if((a==b)&&(b==c))//判断为等边三角形return3;if((a==b)||(b==c)||(a==c))//判断为等腰三角形return2;else//判断为普通三角形return1;}else{//为非三角形return0;}}}(2)程序流程图:(3)测试用例设计:1)语句覆盖测试用例输入期望输出覆盖对象测试结果Case1a=1,b=2,c=30①,⑤0Case2a=3,b=4,c=51①,②,④,⑥1Case3a=3,b=3,c=42①,②,④,⑦2Case4a=3,b=4,c=53①,②,③32)条件覆盖测试用例输入期望输出覆盖对象测试结果Case5a=1,b=6,c=70F1,T2,T30Case6a=7,b=1,c=60T1,F2,T30Case7a=1,b=7,c=60T1,T2,F30Case8a=3,b=3,c=42T1,T2,T3,T4,F5,T6,F7,F82Case9a=3,b=4,c=32T1,T2,T3,F4,F5,F6,F7,T82Case10a=4,b=3,c=32T1,T2,T3,F4,T5,F6,T7,F823)判定覆盖测试用例输入期望输出覆盖对象测试结果Case11a=1,b=2,c=30①,⑤0Case12a=3,b=4,c=51①,②,④,⑥1Case13a=3,b=3,c=42①,②,④,⑦2Case14a=3,b=4,c=53①,②,③34)条件-判定覆盖测试用例输入期望输出覆盖对象测试结果Case15a=1,b=6,c=70F1,T2,T3(①,②)0Case16a=7,b=1,c=60T1,F2,T3(①,②)0Case17a=1,b=7,c=60T1,T2,F3(①,②)0Case18a=3,b=3,c=42T1,T2,T3,T4,F5,T6,F7,F8(①,②,③,⑦)2Case19a=3,b=4,c=32T1,T2,T3,F4,F5,F6,F7,T82(①,②,③,⑦)Case20a=4,b=3,c=32T1,T2,T3,F4,T5,F6,T7,F8(①,②,③,⑦)2Case21a=3,b=3,c=33F1,T2,T3(①,②,③)3Case22a=3,b=4,c=51T1,F2,T3(①,②,④,⑥)15)条件组合覆盖测试用例输入期望输出覆盖对象测试结果Case23a=1,b=6,c=70F1,T2,T30Case24a=7,b=6,c=10T1,F2,T30Case25a=1,b=7,c=60T1,T2,F20Case26a=3,b=3,c=33T1,T2,T3,T4,T53Case27a=3,b=3,c=42T1,T2,T3,T4,F5,F6,F7,T82Case28a=4,b=3,c=32T1,T2,T3,F4,T5,F6,T7,F82Case29a=3,b=4,c=51T1,T2,T3,F4,F5,F6,F7,F81Case30a=3,b=4,c=32T1,T2,T3,F4,F5,F6,F7,T82备注其他条件组合,无法到达结束(4)程序控制流图基本路径覆盖测试用例输入期望输出覆盖对象测试结果Case31a=1,b=6,c=70A-D0Case32a=7,b=6,c=10A-B-D0Case33a=1,b=7,c=60A-B-C-D0Case34a=3,b=3,c=33A-B-C-E-G-H3Case35a=3,b=3,c=42A-B-C-E-G-I2Case36a=4,b=3,c=32A-B-C-E-F-H2Case37a=3,b=4,c=32A-B-C-E-F-J-H2Case38a=3,b=4,c=51A-B-C-E-F-J-K1至此,关于三角形形状判定程序我们已经分别用语句覆盖、判定覆盖、条件覆盖、条件-判定覆盖、条件组合覆盖以及基本路径覆盖法分别给出了测试用例,下面再书写一个新的例子,对这个例子进行分析进一步给出测试用例。2.实现一个类(1)核心程序代码:publicclassTest{staticvoiddowork(intx,inty,intz){intk=0,j=0;if((x3)&&(z10)){k=x*y-1;j=(int)Math.sqrt(k);}if((x==4)||(y5)){j=x*y+10;}j=j%3;System.out.println(k=+k);System.out.println(j=+j);}publicstaticvoidmain(String[]args){dowork(4,6,5);}}(2)程序流程图(3)设计测试用例1)语句覆盖输入期望输出覆盖对象测试结果Case1x=4,y=6,z=51ace12)判定覆盖输入(x3)and(z10)(x=4)or(y5)期望输出覆盖对象测试结果Case2x=4,y=6,z=7真真1ace1Case3x=2,y=5,z=10假假0abd03)条件覆盖x3为真,记为T1x3为假,记为-T1z10为真,记为T2z10为假,记为-T2x=4为真,记为T3x=4为假,记为-T3y5为真,记为T4y5为假,记为-T4输入期望输出覆盖条件覆盖对象测试结果Case4x=3,y=5,z=50-T1,T2,-T3,T4abe0Case5x=4,y=4,z=112T1,-T2,T3,-T4abe24)条件-判定覆盖输入期望输出覆盖条件覆盖对象测试结果Case6x=14,y=4,z=50T1,T2,T3,T4ace0Case7x=22,y=6,z=111-T1,-T2,-T3,-T4abd15)条件组合覆盖1.X3,Z10,记为T1,T22.X3,Z=10,记为T1,-T23.X=3,Z10,记为–T1,T24.X=3,Z=10记为–T1,-T25.X=4,Y5记为T3,T46.X=4,Y=5记为T3,-T47.X4,Y5记为–T3,T48.X4,Y=5记为–T3,-T4输入覆盖条件覆盖对象覆盖组合号Case8x=4,y=6,z=7T1,T2,T3,T4ace15Case9x=4,y=5,z=11T1,-T2,T3,-T4abe26Case10x=3,y=5,z=10-T1,-T2,-T3,-T4abd48Case11x=3,y=6,z=7-T1,T2,-T3,T4abe376)路径覆盖输入覆盖对象覆盖条件Case12x=4,y=6,z=7aceT1,T2,T3,T4Case13x=3,y=5,z=10abd-T1,-T2,-T3,-T4Case14x=3,y=6,z=11abe-T1,-T2,-T3,T4Case15x=4,y=5,z=6acdT1,T2,-T3,-T4至此,自己书写程序的白盒测试工作也已经完成。结论分析与体会:通过这次白盒测试实验,我回顾了白盒测试的所有方法,包括语句覆盖、条件覆盖、判定覆盖、条件-判定覆盖以及条件组合覆盖,还有路径覆盖。这里条件组合覆盖由于比较复杂因此在比较庞大的程序中很少使用,但是条件组合覆盖可以穷举所有的情况,因此可以最好的进行程序测试。我们使用比较多的是条件-判定覆盖,这种覆盖将复杂度降低的同时也可以比较好的满足测试需求,因此是一种不错的选择。开始引用网上的白盒测试例子即典型的三角形形状判断的例子,并将这个例子加以完善给出了所有测试方法的测试用例,接着书写自己的程序实现一个功能并给出相应的测试用例,使得这个实验的进行比较完善。这次实验,使自己对测试用例的设计更加熟悉。
本文标题:山东大学软件测试白盒测试实验报告
链接地址:https://www.777doc.com/doc-5791987 .html