软件工程三角形软件测试源码截图流程图.docx
《软件工程三角形软件测试源码截图流程图.docx》由会员分享,可在线阅读,更多相关《软件工程三角形软件测试源码截图流程图.docx(11页珍藏版)》请在冰豆网上搜索。
软件工程三角形软件测试源码截图流程图
驱动模块
测试用例
1
t\
测试结果
测试用例
测试结果
用例采集
被测模块
结果输出
丿测试用例1丿
测试用例
理论面积
理论面积
测试用例理论面积h
Szs模块
Srs模块
Lcort模块
图1测试系统总体结构图
开始
图2Szcj模块流程图
开始
结束
图3Srsj模块流程图
开始
\
厂
结束
图4Lcort模块流程图
NO.
类别
用例
实际结果
备注
输入数据
理论结果
1
有效等价类
3,3,3
返回1
返回1
理论与实际相符
2
有效等价类
1,3,6
返回3
返回3
理论与实际相符
3
有效等价类
6,4,1
返回3
返回3
理论与实际相符
4
有效等价类
0,6,1
返回-1
返回-1
理论与实际相符
5
无效等价类
4,4
返回0
返回-2
理论与实际不符
NO.
类别
用例
实际结果
备注
表1等价分类法
图5等价分类运行图
输入数据
理论结果
1
有效等价类
4,4,4
返回1
返回1
理论与实际相符
2
有效等价类
3,4,5
返回2
返回2
理论与实际相符
3
有效等价类
1,2,1
返回3
返回3
理论与实际相符
4
有效等价类
0,6,1
返回-1
返回-1
理论与实际相符
5
有效等价类
4,4,-1
返回-2
返回-2
理论与实际不符
表2边界值分类
当理际结昱勻理花值不同纹即被
|边0I边)>1边&*
^.0:
4.0:
1.0:
4.9:
5,0:
2-8:
2.0:
1.0!
3-6!
t1.0S-1.G!
3.0:
1-01
e.e:
I理论cuz3.4:
i.e:
6.a:
2.eie.et3.0!
0.01-1.G:
厌匹地便箔杲凹二i
(头S^typaI头际“5
3.41
6.ei
a.e:
0.6!
I测试結具I
Q.ei
1.0:
i.e:
1.0:
Pr&ss玉nykeytccontinue
图6边界值分类运行图
'Cs\Users.\Administratcr\DownIoads\VC6\MyCrojedt5\2\lDetMJc\l.exe*
NO.
类别
用例
实际结果
备注
输入数据
理论结果
1
条件覆盖法
5,5,5
返回1
返回1
理论与实际相符
2
条件覆盖法
2,0,5
返回-1
返回-1
理论与实际相符
3
条件覆盖法
42-1
返回-2
返回-2
理论与实际相符
4
条件覆盖法
7,6,5
返回2
返回2
理论与实际相符
5
条件覆盖法
4,4,9
返回2
返回2
理论与实际相符
6
判定覆盖法
5,5,5
返回1
返回1
理论与实际相符
7
判定覆盖法
2,0,5
返回-1
返回-1
理论与实际相符
8
判定覆盖法
4,2,-1
返回-2
返回-2
理论与实际相符
9
判定覆盖法
7,6,5
返回2
返回2
理论与实际相符
10
判定覆盖法
4,4,9
返回2
返回2
理论与实际相符
表3逻辑覆盖法
图7逻辑覆盖法运行图
NO.
类别
用例
实际结果
备注
输入数据
理论结果
1
路径覆盖法
1,2,3
返回3
返回3
完成路径覆盖1
2
路径覆盖法
3,4,5
返回2
返回2
完成路径覆盖2
3
路径覆盖法
4,4,4
返回1
返回1
完成路径覆盖3
4
路径覆盖法
3,-2,1
返回-2
返回-2
完成路径覆盖4
5
路径覆盖法
0,1,2
返回-1
返回-1
完成路径覆盖5
表4路径覆盖法
图8路径覆盖法
n
结束
b
d
路径1:
sacefhjln
路径2:
sacefhikn
路径3:
sacefgmn
路径4:
sabn
路径5:
sacdn
图9路径覆盖流程图
#inelude
//定义测试用例
floatcy[5][8]={
{1,2,3,3,3.4},{3,4,5,2.0,6},{4,4,4,1,0},{3,-2,1,-2,0},{0,1,2,-1,0}
};
/*桩1:
正三角行面积*/
floatSzsj(floata)
{
inti;
for(i=0;i<5;i++)
{
if((cy[i][O]==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:
判断合理边并返回*/
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){
if(a<0||b<0||c<0){//非法情况1
*f=0;
return-2;
}
if(a==0||b==0||c==0){//非法情况2
*f=0;
return-1;
}
if(a>0&&b>0&&c>0){//合法情况1
if(a==b&&b==c&&a==c){
*f=Szsj(a);/*正三角行面积*/
return1;
}
else
if(a+b>c&&b+c>a&&c+a>b){//合法情况2
*f=Srsj(a,b,c);/*任意三角行面积*/
return2;
}
else{II非法情况3
*f=Lcort(a,b,c);I*判断合理边并返回*I
return3;
}
}
elsereturn0;II非法情况4
}
I*主控模块*I
intmain()
{
floata,b,c,f=0;〃定义三个边长和理论面积
inttype,i;II定义和玄幻变量
for(i=0;i<5;i++)
{
a=cy[i][O];
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;
else
cy[i][7]=-1;
}
printf("当实际结果与理论值不同时即被测程序存在错误时测试结果中为-1\n");
printf("|边a|边b|边c|理论type|理论area|实际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]);
}