关于控制流图环路复杂度的小问题,请老师和理解的同学指教,谢谢~
教材162页基本路径覆盖法:如果判断条件的条件表达式是由一个或多个逻辑运算符<OR,AND,NAND,NOR
>连接的复合条件表达式,则需要改为一系列只有单条件的嵌套的判断。
if a OR b
then procedurex;
else procedure y;
如果按照流图来看的话,这个流图的复杂度为3,这个流图是不是有
1)a---x
2)a---b---y
3)a---b---x
3条基本路径?
但是按照我们实际的来看的话,是不是只有2条基本路径:
1)then procedurex;
2)else procedure y;
所以觉得有些疑惑,请老师或者理解的同学指教,谢谢。
[ 本帖最后由 guolm1225 于 2006-7-26 19:20 编辑 ] 该方法让程序中的循环体最多只执行一次,把条件表达式中的复合条件改为一系列只有单条件的嵌套的判断.就是在基本路径的基础上进行拆分的,两者应该好区分吧.个人意见,如有不对,敬请指出!
[ 本帖最后由 wxq8102 于 2006-7-26 22:44 编辑 ] 认真好学的小guo同学:P表扬一下!
以下是我的理解,欢迎切磋:D
首先,按教材内容分析,讲到“基本路径”,都是程序流程里只有单条件判断的前提下,所以,以复合条件下的分支内容“then procedure x; else procedure y;”来作为基本路径的内容,这应该是不准确滴。
其次,按实际来分析,结合条件看:
if a OR b
then procedurex;
else procedure y;
它是有三种情况:
1. a为真,procedurex;
2. a不为真,b为真,procedurex;
3. a、b均不为真时,procedurey。
因为在实际执行时,如果a为真,程序将不再判断b,直接执行procedure x,只有当a不为真时,才去判断b,此时若b为真,procedure x,b不为真,就procedure y。然后就得到你下面贴的那张图啦:) 谢谢楼上2位。。。
再谢谢zmMMsdlkfj2
昨天你是不是跑去17testing区注册发帖啦。。sdlkfj2 晕,这你也知道?汗……
昨天在家搜QTP 8.2的破解版,有个百度快照指向17testing,但一个关键的文件快照里看不到,就注册了去实际网页上看,唉,可惜,貌似这个帖子已经被删了或屏蔽了。好像是顺便答了个QTP的题,你是看到俺答的题了吧呵呵
[ 本帖最后由 morn 于 2006-7-28 20:51 编辑 ] 哈哈,4242,这都被我抓到咯。
对了,刚刚发现。 真的啊,明天去学校拷回来嘿嘿,周四那天没拷东西回家,想着去mercury下9.0的呵呵,但用演示版的心里终归有点不爽,就去找8.2的破解了,真是曲折~~ 是QC的8.2吗,找到了吗?如果找到破解版发一下地址,共享啊. 原帖由 wxq8102 于 2006-7-29 20:50 发表
是QC的8.2吗,找到了吗?如果找到破解版发一下地址,共享啊.
非也。QTP
页:
[1]