emei227 发表于 2007-4-15 11:00:43

请帮我把这小段程序设计个白盒测试用例 !急!!

设计测试用例题
使用基本路径法设计出的测试用例能够保证程序的每一条可执行语句在测试过程中至少执行一次。以下代码与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设计测试用例,使其满足基本路径覆盖的要求。

Joan2005 发表于 2007-4-20 11:27:32

论坛里有这个资料的,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 编辑 ]

kokoling 发表于 2007-4-20 16:55:33

我觉得平均时间复杂度是不是n*(1+1/4+1/4*1/100)=

Joan2005 发表于 2007-4-21 23:21:39

在一篇日志里看到的关于复杂度的计算:
圈复杂度的计算方法很简单,计算公式为: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

seifer1754 发表于 2007-4-22 00:12:49

区域数 也就是 基本路径数啊。
这么说 圈复杂数就是 基本路径数了。

emei227 发表于 2007-4-23 18:36:04

多谢各位指教

多谢各位指教,本人受益非浅.
sdlkfj6

moodspace 发表于 2007-5-25 11:32:19

hehe 太好了

zfylan 发表于 2007-5-29 14:50:54

原来看贴是成长的必由之路啊,强烈支持sdlkfj9

ドラゴン桜 发表于 2008-10-23 23:26:50

不对啊~
是边的数量减去节点数加2~~~
我是搞这个的~:lol :victory:

不破不力 发表于 2009-1-13 22:53:06

回复 1# 的帖子

我来思考思考

VisualUnit 发表于 2009-1-13 23:23:57

基路径法太费时,这个题简单,还不觉得,如果有十几个分支,基路径法就要费很多时间了。
这个题,用Visual Unit 2的话,一两分钟就可以完成百分百语句/条件/分支/路径覆盖。
http://www.KaileSoft.cn/Picture/Path2.jpg

ydl668 发表于 2010-4-27 13:42:23

还可以!
页: [1]
查看完整版本: 请帮我把这小段程序设计个白盒测试用例 !急!!