您好,欢迎访问三七文档
实验项目软件测试日期2015-11-16专业班级计科12(3)组号10同组者杨爱红、李香、陈晓彤、张家秀学生学号1208210137姓名项雪丽机号6-5成绩一、实验目的掌握熟悉黑盒测试方法、白盒测试方法。二、主要仪器设备微型计算机系统,MSVisio2003软件,IDE环境(如:TC2.0、VC++6.0等)三、实验原理与方法根据提供的程序,选择指定的设计程序进行单元测试:(1)使用等价分类法、边界值分类法或对比分析法进行黑盒测试用例设计;(2)使用逻辑覆盖法和路径覆盖法进行白盒法测试用例设计。四、实验内容与步骤1、主要内容根据所提供的程序模块,设计和构建测试环境,使用黑盒测试方法对程序进行单元测试;编写设计测试方案:设计驱动模块与桩模块、设计测试用例、记录测试过程、编写测试报告。1)、测试方法:①黑盒法:等价类划分法、边界值分类法②白盒法:逻辑覆盖法(选2种)、基本路径覆盖法2)、指定的问题:案例:三角形面积的计算inttri-mj(floata,floatb,floatc,float*f){if(a0||b0||c0)return–2;if(a=0||b=0||c=0)return–1;if(a0&&b0&&c0){if(a==b&&b==c&&a==c){*f=Szsj(a);/*正三角行面积*/return1;}elseif(a+bc&&b+ca&&c+ab){*f=Srsj(a,b,c);/*任意三角行面积*/return2;}else{*f=Lcort(a,b,c);/*判断合理边并返回*/return3;}}elsereturn0}实验四2、测试方案1)测试环境(在Visio中设计测试系统结构与代码,提交文档:“班级_学号_TE.vsd”中)(1)驱动模块A.内部结构图入口出口定义变量a,b,c,f,type,i被测模块的判断赋给typei5全局定义cy[5][8]数组i=0将cy数组的a,b,c的值赋给a,b,c将type值赋给cy数组将f值赋给cy数组判断cy[i][3]==cy[i][5]&&cy[i][4]==cy[i][6]?Ycy[i][7]=1Ncy[i][7]=-1printf(当实际结果与理论值不同时即被测程序存在错误时测试结果中为-1\n);printf(|边a|边b|边c|理论type|理论area|实际type|实际area|测试结果|\n);i++i5i++i=0输出cy数组的值图1:驱动模块内部结构图B.代码intmain(){floata,b,c,f=0;inttype,i;for(i=0;i5;i++){a=cy[i][0];b=cy[i][1];c=cy[i][2];type=tri_mj(a,b,c,&f);cy[i][5]=type;cy[i][6]=f;if(cy[i][3]==cy[i][5]&&cy[i][4]==cy[i][6])cy[i][7]=1;elsecy[i][7]=-1;}printf(当实际结果与理论值不同时即被测程序存在错误时测试结果中为-1\n);printf(|边a|边b|边c|理论type|理论area|实际type|实际area|测试结果|\n);for(i=0;i5;i++){printf(|%4.1f|%4.1f|%4.1f|%4.1f|%4.1f|%4.1f|%4.1f|%4.1f|\n,cy[i][0],cy[i][1],cy[i][2],cy[i][3],cy[i][4],cy[i][5],cy[i][6],cy[i][7]);}}(2)桩模块A.内部结构图入口定义正三角形Szsj返回正三角形的面积出口Y定义变量ii=0i5i++全局定义cy数组判断cy数组中的值是否与被测模块中的a,b,c相对应入口定义任意三角形Srsj返回任意三角形的面积出口Y定义变量ii=0i5i++全局定义cy数组判断cy数组中的值是否与被测模块中a,b,c相对应入口定义合理边Lcort返回三角形面积出口Y定义变量ii=0i5i++全局定义cy数组判断cy数组中的值是否与被测模块中a,b,c值相对应图2:正三角形、任意三角形和合理边桩模块B.代码/*正三角行面积*///桩模块floatSzsj(floata){inti;for(i=0;i5;i++){if((cy[i][0]==a)&&(cy[i][1]==a)&&(cy[i][2]==a)){returncy[i][4];}}}/*任意三角行面积*/floatSrsj(floata,floatb,floatc){inti;for(i=0;i5;i++){if((cy[i][0]==a)&&(cy[i][1]==b)&&(cy[i][2]==c)){returncy[i][4];}}}/*判断合理边并返回*/floatLcort(floata,floatb,floatc){inti;for(i=0;i5;i++){if((cy[i][0]==a)&&(cy[i][1]==b)&&(cy[i][2]==c)){returncy[i][4];}}}2)测试用例设计说明:本次实验使用了黑盒测试法的等价类划分法和边界值分类法,白盒测试法的逻辑覆盖法和基本路径覆盖法。对于等价类划分法和边界值分析法,都有着有效和无效之分。由于边界值分析法所设计的测试用例,更有可能发现程序中的错误,因此经常把边界值分析法与其他测试方法结合起来使用。对于逻辑覆盖法,有判定覆盖、条件覆盖、判定/条件覆盖和条件组合覆盖四种,任选两种,将预期结果、执行路径、判定以及条件都在逻辑覆盖法中显现了出来。而基本路径测试方法则主要对测试数据的路径表现出来。3、实验主要步骤1)系统的启动过程双击桌面的viso图标,打开viso。2)环境建造过程打开Visio软件,选择“文件”|“新建”|“流程图”|“基本流程图”选项,新建一个Visio文件,可以选择“文件”|“形状”|“常规”|“基本形状”选项,可以选择各种基本形状,进行绘制模型图,包括:总体机构图、驱动模块图、桩模块图、和代码页。3)测试过程在给出的被测模块实验代码的基础上进行修改,使程序变得完整。打开VC6.0,编写驱动模块代码和桩模块代码,确认无误后运行代码,并对提前设计好的测试用例进行测试,记录测试结果,最后对测试的结果进行分析和总结。五、完整的实验结果1、提交:A.测试系统设计:12(3)_1208210137_TE.vsdB.测试记录文件:12(3)_1208210137_TA.doc2、测试记录1)等价类划分法NO类别用例实际结果备注输入数据理论结果1有效等价类4,4,4返回1返回1理论值与实际值相符2有效等价类3,4,5返回2返回2理论值与实际值相符3有效等价类1,2,3返回3返回3理论值与实际值相符4有效等价类-3,2,4返回-2返回-2理论值与实际值相符5无效等价类1,3返回0返回-2理论值与实际值有误6有效等价类2,0,4返回-1返回-1理论值与实际值相符2)边界值分类法NO类别用例实际结果备注输入数据理论结果1有效等价类3,3,3返回1返回1理论值与实际值相符2有效等价类3,4,5返回2返回2理论值与实际值相符3有效等价类2,1,4返回3返回3理论值与实际值相符4有效等价类-3,2,3返回-2返回-2理论值与实际值相符5有效等价类0,1,2返回-1返回-1理论值与实际值相符3)逻辑覆盖法(条件覆盖法、判定覆盖法)NO方法类别用例实际结果备注输入数据理论结果1条件覆盖法4,4,4返回1返回1理论值与实际值相符2条件覆盖法3,4,5返回2返回2理论值与实际值相符3条件覆盖法1,2,3返回3返回3理论值与实际值相符4条件覆盖法-2,2,4返回-2返回-2理论值与实际值相符5条件覆盖法2,0,4返回-1返回-1理论值与实际值相符6判定覆盖法4,4,4返回1返回1理论值与实际值相符7判定覆盖法3,4,5返回2返回2理论值与实际值相符8判定覆盖法1,2,3返回3返回3理论值与实际值相符9判定覆盖法-2,2,4返回-2返回-2理论值与实际值相符10判定覆盖法2,0,4返回-1返回-1理论值与实际值相符4)基本路径覆盖法NO类别用例实际结果备注输入数据理论结果1路径11,2,3返回3返回3覆盖流程图中的路径12路径23,4,5返回2返回2覆盖流程图中的路径23路径34,4,4返回1返回1覆盖流程图中的路径34路径4-2,3,4返回-2返回-2覆盖流程图中的路径45路径52,0,4返回-1返回-1覆盖流程图中的路径5开始a0||b0||c0return-2a==0||b==0||c==0return-1a0&&b0&&c0a==b&&b==c&&c==a*f=Szsj(a)return1a+bc&&a+cb&&b+ca*f=Srsj(a,b,c)return2*f=Lcort(a,b,c)return3结束YYYYsabcdefghijklmn路径1:sacefhjln路径2:sacefhikn路径3:sacefgmn路径4:sabn路径5:sacdnreturn1oNNYNN图3:路径流程图3、测试记录分析通过以上测试记录值可以看出:1)当输入的边值小于或等于0时,则提示错误,返回-2或-1;2)在等价类划分中,输入两条边数据,就会出现理论值与实际结果不符;3)在基本路径覆盖法中,不存在路径返回值为0。测试结果:六、实验结果讨论1、本次试验是对程序的测验过程,在经过需求分析、编码、画图等一系列过程后,还需进行软件测试,测验软件是否可运行。而该试验使用到了三角形的形成原理。2、在等价类划分法中,首先我们需要明确用例的等价类,区分有效等价类和无效等价类。3、区分判定覆盖和条件覆盖,在进行判定覆盖方法测试时,我们首先要了解该用例中所有判定的分支,即每个判定分支都至少经过一次;4、在基本路径测试方法中,必须先画出设计图,确定其程序执行路径,为每条路径设计一个测试用例。
本文标题:软件测试--三角形
链接地址:https://www.777doc.com/doc-2210037 .html