请帮我把这小段程序设计个白盒测试用例 !急!!
设计测试用例题使用基本路径法设计出的测试用例能够保证程序的每一条可执行语句在测试过程中至少执行一次。以下代码与C语言书写,请按要求回答问题。
IntIsLeap(int year)
{
if(year % 4 == 0)
{
if (year % 100 == 0)
{
if (year % 400 ==0)
leap = 1;
else
leap = 0;
}
else
leap = 1;
}
else
leap = 0;
return leap;
}
【问题1】请画出以上代码的程序流图
【问题2】请计算上述程序流图的环行复杂度V(G)(独立线性路径图)
【问题3】假设输入的取值范围是1000<year<2001,请使用基本路径测试法为变量year设计测试用例,使其满足基本路径覆盖的要求。 论坛里有这个资料的,2005年的软件评测师下午题.判断年份是否是闰年的程序.
如图.流程图.
基本路径有AB,ACD,ACEF,ACEG,针对四种路径设计输入数据.(1000~2001)
AB 1001,1002,1999,2001
ACD 1992
ACEF 1600
ACEG 1900
复杂度不知道怎么计算.是不是有几条路径复杂度就为几.这里V(G)=4?
[ 本帖最后由 Joan2005 于 2007-4-20 11:31 编辑 ] 我觉得平均时间复杂度是不是n*(1+1/4+1/4*1/100)= 在一篇日志里看到的关于复杂度的计算:
圈复杂度的计算方法很简单,计算公式为:V(G)=e-n+2。其中,e表示控制流图中边的数量,n表示控制流图中节点的数量。其实,圈复杂度的计算还有更直观的方法,因为圈复杂度所反映的是“判定条件”的数量,所以圈复杂度实际上就是等于判定节点的数量再加上1,也即控制流图的区域数,对应的计算公式为:V(G)=区域数=判定节点数+1。
V(G)=3+1=4.
具体可以看http://www.51testing.com/?70557/action_viewspace_itemid_8796.html 区域数 也就是 基本路径数啊。
这么说 圈复杂数就是 基本路径数了。
多谢各位指教
多谢各位指教,本人受益非浅.sdlkfj6 hehe 太好了 原来看贴是成长的必由之路啊,强烈支持sdlkfj9 不对啊~
是边的数量减去节点数加2~~~
我是搞这个的~:lol :victory:
回复 1# 的帖子
我来思考思考 基路径法太费时,这个题简单,还不觉得,如果有十几个分支,基路径法就要费很多时间了。这个题,用Visual Unit 2的话,一两分钟就可以完成百分百语句/条件/分支/路径覆盖。
http://www.KaileSoft.cn/Picture/Path2.jpg 还可以!
页:
[1]