51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 6370|回复: 16
打印 上一主题 下一主题

[原创] 关于07年软件评测师下午第一题控制流图的画法求证,答案是错的吗

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-8-12 10:23:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 agrapea 于 2011-8-12 10:35 编辑

这是题目


这是下载的答案



我的疑问是答案中画的控制流图是判定条件当成是一个单一条件来画的,但是判定条件中明明是包含了复合条件。
所以我认为圈复杂度应该是V(G)=11

这是我画的控制流图,请高手指点下,到底是答案正确还是按我的做法?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2011-8-12 10:32:41 | 只看该作者
用例板块人气不高啊,盼。。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2011-8-12 15:56:59 | 只看该作者
怎么没人应呢
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    7 天前
  • 签到天数: 547 天

    连续签到: 1 天

    [LV.9]测试副司令

    4#
    发表于 2011-8-12 17:55:44 | 只看该作者
    这题我也在复习,答案是没有错的。楼上也是考试的吧?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2011-8-13 13:34:46 | 只看该作者
    回复 1# agrapea

    很欣赏LZ的学习方式,怀疑任何事物,并思考其原因,才能得到真正意义的提高。
    ————————————————
    这题的答案没有问题。在流程图中,对多个判断逻辑,若它们的成功和失败判断逻辑的输出一致的话,是可以被化简的。


    if ( month ==4 || month ==6 || month ==9 || month ==11 )
    这个逻辑判断中,虽然包括了4个不同的判断逻辑,但是由于它们的成功或失败的结果一致,故它们被看做是单个判断逻辑,只不过这个判断逻辑可以进行最高4次判断而已 。

    可以参考if ( month >= 1 && month <=12 )这种类似符合条件的判断逻辑帮助理解。它同样也是进行了2次判断。

    PS:单纯的判断的次数与流程图的复杂度没有必然的联系。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
     楼主| 发表于 2011-8-16 13:26:05 | 只看该作者
    回复 5# Jackc

    但是如果把if ( month ==4 || month ==6 || month ==9 || month ==11 )看成是单个逻辑判断,取真取假各一次,取真时只需要满足以上任一条件即可,所以写测试用例时只要取m=4,6,9,11中任一一个数,这样基本路径虽然满足了语句覆盖和判定覆盖,但是没有满足条件覆盖,假如取m=4,那么当m=6,9,11时没有测试到,无法确保正确。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
     楼主| 发表于 2011-8-16 13:32:21 | 只看该作者
    回复 4# 楠族开心果


    是啊,准备今年考。本来我自己写的答案也是和标准答案一样的,根本就没有想过复合条件,最近看教材的时候上面的例子提到了复合条件的拆分,重新看了下这个问题。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
     楼主| 发表于 2011-8-16 13:35:02 | 只看该作者
    教材上是这么写的

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2011-8-18 10:25:17 | 只看该作者
    回复 6# agrapea

    其实路径合并的原理上和黑盒的等价法类似
    比较if ( month ==4 || month ==6 || month ==9 || month ==11 )

    if ( month >= 1 && month <=12 )

    可以思考一下,为什么会觉得第1个判断需要测试4次?而第2个判断只测试1次呢?

    PS:节点合并,除了与输入判断条件有关外,也与判断输出结果有关。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
     楼主| 发表于 2011-8-18 11:36:47 | 只看该作者
    明白了,相当于如果复合条件取真、取假的结果是一致时,可以将复合条件看成是一个等价类,等价类中任一一个数能代表这个等价类的其他值。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2011-8-22 10:29:18 | 只看该作者
    正在复习相关知识,多谢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2011-11-7 15:10:28 | 只看该作者
    谢谢两位的讨论,我也明白了一些。我原本也是觉得这题目答案有误的。课本上没有介绍这条简化规则。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2011-11-7 15:14:06 | 只看该作者
    回复 10# agrapea


        留个电子信箱,方便讨论。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2011-11-7 15:14:36 | 只看该作者
    回复 9# Jackc


    谢谢您的指点!        
    留个电子信箱,方便讨论。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2011-11-9 13:13:33 | 只看该作者
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
    发表于 2012-9-25 11:14:46 | 只看该作者
    回复 10# agrapea
    不是很明白什么意思,我正在复习,今年考试,求赐教
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
    发表于 2012-10-25 17:23:00 | 只看该作者
    请教楼主一个问题:1 答案里面第一列怎么有6条语句  ,我怎么觉着是5条呢  
                      2  图中1.2.3.4 各对应哪个语句   
    真心请教!
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-15 04:49 , Processed in 0.077326 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表