.驱动模块测试结果测试用例测试结果测试用例结果输出被测模块用例采集测试用例理论面积测试用例测试用例理论面积理论面积模块Szsj模块Srsj模块Lcort测试系统总体结构图1图专业资料word.开始输入正三角行边长i定义变量i=0i=判断模块边长和入边长是否符模Szc调输出正三角行面i+结图2Szcj模块流程图专业资料word.开始输入正三角行边定义变i=i=判断模块边长和入边长是否符调Srs模输出任意三行面i+结3Srsj图模块流程图专业资料word.开始输入正三角行边长i定义变量i=0i=判断模块边长和入边长是否符Lcor调输出合理边面i+结图4Lcort模块流程图专业资料word.NO.类别用例实际结果备注输入数据理论结果1有效等价类3,3,31返回1返回理论与实际相符2有效等价类1,3,6返回3返回3理论与实际相符3有效等价类6,4,1返回3返回3理论与实际相符4有效等价类0,6,1-1返回返回-1理论与实际相符专业资料word.-2理论与实际不符4,4返回0返回无效等价类5类别用例实际结果备注NO.等价分类法表1等价分类运行图5图专业资料word.理论结果输入数据理论与实际相符1返回4有效等价类1,4,4返回1理论与实际相符2有效等价类返回返回3,4,522返回33有效等价类3返回1,2,1理论与实际相符返回4返回有效等价类-1-10,6,1理论与实际相符-2有效等价类返回-2,4,4-1返回5理论与实际不符2表边界值分类边界值分类运行图图6专业资料word.NO.areturn-类别s用例开始实际结果备注2a<0IIb<0IIc<0YNa==0||b==0||c=creturn-1Y=0Nea>0&&b>0&&c>0fa==b&&a==c&c=*f=Szsjj(a,b,c)Y=agYimreturn1a+b&&a+c>b&&*f=Srsj(a,b,c)bYb+c>areturn1N路径路径jreturn2*f=Lcort(a,b,c)k路径lreturn3n结束专业资料word.理论结果输入数据1理论与实际相符5,5,5条件覆盖法1返回返回1返回2,0,52条件覆盖法-1理论与实际相符返回-1返回-2理论与实际相符返回-234,2,-1条件覆盖法条件覆盖法理论与实际相符返回42返回7,6,52理论与实际相符5返回4,4,9返回条件覆盖法22理论与实际相符5,5,5判定覆盖法返回16返回1判定覆盖法7-1理论与实际相符返回2,0,5-1返回8返回-24,2,-1判定覆盖法返回-2理论与实际相符2返回返回92理论与实际相符判定覆盖法7,6,5理论与实际相符返回判定覆盖法4,4,9返回2102逻辑覆盖法表3逻辑覆盖法运行图7图专业资料word.实际结果备注NO.类别用例理论结果输入数据1完成路径覆盖3返回3返回31路径覆盖法1,2,23,4,5返回222返回路径覆盖法完成路径覆盖34,4,4返回113完成路径覆盖路径覆盖法返回4返回返回-23,-2,14-2完成路径覆盖路径覆盖法520,15,路径覆盖法返回-1-1返回完成路径覆盖4路径覆盖法表8图路径覆盖法专业资料word.bd1:sacefhjln2:sacefhikn3:sacefgmn路径4:sabn路径5:sacdn9图路径覆盖流程图#include//定义测试用例floatcy[5][8]={1,2,-1,0}};*//*1桩:正三角行面积floatSzsj(floata){专业资料word.inti;for(i=0;i<5;i++){if((cy[i][0]==a)&&(cy[i][1]==a)&&(cy[i][2]==a)){returncy[i][4];}}}/*桩2:任意三角行面积*/floatSrsj(floata,floatb,floatc){inti;for(i=0;i<5;i++){if((cy[i][0]==a)&&(cy[i][1]==b)&&(cy[i][2]==c)){returncy[i][4];}}}3桩/*:判断合理边并返回*/专业资料word.floatLcort(floata,floatb,floatc){inti;for(i=0;i<5;i++){if((cy[i][0]==a)&&(cy[i][1]==b)&&(cy[i][2]==c)){returncy[i][4];}}}inttri_mj(floata,floatb,floatc,float*f){1非法情况if(a<0||b<0||c<0){//*f=0;return-2;}2if(a==0||b==0||c==0){//非法情况*f=0;return-1;}1合法情况if(a>0&&b>0&&c>0){//专业资料word.if(a==b&&b==c&&a==c){*f=Szsj(a);/*正三角行面积*/return1;}else2合法情况if(a+b>c&&b+c>a&&c+a>b){//*/*f=Srsj(a,b,c);/*任意三角行面积return2;}3else{//非法情况*/*f=Lcort(a,b,c);/*判断合理边并返回return3;}}elsereturn0;//非法情况4}/*主控模块*/intmain(){floata,b,c,f=0;//定义三个边长和理论面积inttype,i;//定义和玄幻变量专业资料word.for(i=0;i<5;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;}-1\n);牰湩晴尨当实际结果与理论值不同时即被测程序存在错误时测试结果中为测试结type|实际area|实际理论边printf(|边a|b|边c|type|理论area|果|\n);for(i=0;i<5;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]);}专业资料word.}专业资料word