51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 32101|回复: 67
打印 上一主题 下一主题

关于一道题目中因果图的问题

[复制链接]
  • TA的每日心情
    奋斗
    2018-2-28 18:04
  • 签到天数: 40 天

    连续签到: 1 天

    [LV.5]测试团长

    1#
    发表于 2005-3-23 14:58:23 | 显示全部楼层

    -因果图(cause-effect-diagram)-

    我来灌一贴,如下:

    [color=red]-因果图(cause-effect-diagram)-[/color]

    因果图也称鱼刺图。它是利用“头脑风暴法”,集思广益,寻找影响质量、时间、成本等问题的潜在因素,然后用图形的形式来表示的一种用的方法,它能帮助我们集中注意心搜寻产生问题的根源,并为收集数据指出方向。

    画因果图的方法如下:我们在一条直线(也称为脊)的右端写上所要分析的问题,在该直线的两旁画上与该直线成60度夹角的直线(称为大枝),在其端点标上造成问题的大因,再在这些直线上画若干条水平线(称为中枝),在线的端点写出中因,还可以对这些中枝上的原因进一步分析,提出小原因,如此便形成了一张因果图。

    下面就是一个药品受潮变质的因果图:



    因果图有三个显著基本特征:

    1.是对所观察的效应或考察的现象有影响的原因的直观表示;

    2.这些可能的原因的内在关系被清晰地显示出来;

    3.内在关系一般是定性的和假定的。

    因此在构造因果图时最重要的考虑是要清晰理解因果关系。同时还要考虑所有可能的原因。一般可以从人、机(设备)、料(原料)、法(方法)、环(环境)及测量等多个方面去寻找。在一个具体的问题中,不一定每一个方面的原因都要具备。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2018-2-28 18:04
  • 签到天数: 40 天

    连续签到: 1 天

    [LV.5]测试团长

    2#
    发表于 2005-3-23 15:06:38 | 显示全部楼层

    因果图方法与判定表

    请注意以下的说明,可能对您理解该因果图有帮助。

    等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系, 相互组合等. 考虑输入条件之间的相互组合,可能会产生一些新的情况. 但要检查输入条件的组合不是一件容易的事情, 即使把所有输入条件划分成等价类,他们之间的组合情况也相当多. 因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例. 这就需要利用因果图(逻辑模型).
    因果图方法最终生成的就是判定表. 它适合于检查程序输入条件的各种组合情况.

    利用因果图生成测试用例的基本步骤:
    (1) 分析软件规格说明描述中, 那些是原因(即输入条件或输入条件的等价类),那些是结果(即输出条件), 并给每个原因和结果赋予一个标识符.
    (2) 分析软件规格说明描述中的语义.找出原因与结果之间, 原因与原因之间对应的关系. 根据这些关系,画出因果图.
    (3) 由于语法或环境限制, 有些原因与原因之间,原因与结果之间的组合情况不不可能出现. 为表明这些特殊情况, 在因果图上用一些记号表明约束或限制条件.
    (4) 把因果图转换为判定表.
    (5) 把判定表的每一列拿出来作为依据,设计测试用例.
    从因果图生成的测试用例(局部,组合关系下的)包括了所有输入数据的取TRUE与取FALSE的情况,构成的测试用例数目达到最少,且测试用例数目随输入数据数目的增加而线性地增加.
    前面因果图方法中已经用到了判定表.判定表(Decision Table)是分析和表达多逻辑条件下执行不同操作的情况下的工具.在程序设计发展的初期,判定表就已被当作编写程序的辅助工具了.由于它可以把复杂的逻辑关系和多种条件组合的情况表达得既具体又明确.
    判定表通常由四个部分组成.
    条件桩(Condition Stub):列出了问题得所有条件.通常认为列出得条件的次序无关紧要.
    动作桩(Action Stub):列出了问题规定可能采取的操作.这些操作的排列顺序没有约束.
    条件项(Condition Entry):列出针对它左列条件的取值.在所有可能情况下的真假值.
    动作项(Action Entry):列出在条件项的各种取值情况下应该采取的动作.
    规则:任何一个条件组合的特定取值及其相应要执行的操作.在判定表中贯穿条件项和动作项的一列就是一条规则.显然,判定表中列出多少组条件取值,也就有多少条规则,既条件项和动作项有多少列.
    判定表的建立步骤:(根据软件规格说明)
    ①确定规则的个数.假如有n个条件.每个条件有两个取值(0,1),故有 种规则.
    ②列出所有的条件桩和动作桩.
    ③填入条件项.
    ④填入动作项.等到初始判定表.
    ⑤简化.合并相似规则(相同动作).
    B. Beizer 指出了适合使用判定表设计测试用例的条件:
    ①规格说明以判定表形式给出,或很容易转换成判定表.
    ②条件的排列顺序不会也不影响执行哪些操作.
    ③规则的排列顺序不会也不影响执行哪些操作.
    ④每当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则.
    ⑤如果某一规则得到满足要执行多个操作,这些操作的执行顺序无关紧要.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2018-2-28 18:04
  • 签到天数: 40 天

    连续签到: 1 天

    [LV.5]测试团长

    3#
    发表于 2005-3-23 17:08:44 | 显示全部楼层
    原因:售货机没有零钱找;    结果:售货机零钱找完灯亮       这两种情况怎么没有出现在因果关系里面?

    你的话我不是很理解。大概是这个意思?就是缺少这个“售货机没有零钱找”的原因。我的理解是这样的--
    分析软件规格说明描述中, 那些是原因(即输入条件或输入条件的等价类),那些是结果(即输出条件), 并给每个原因和结果赋予一个标识符.以上的 “售货机没有零钱找”这个条件实际上就是“售货机有零钱找”的否运算,这是一个基本条件的否定式,所以采用了“售货机有零钱找”的原因,而不单独将“售货机没有零钱找”列出。它具体与因果图的定义没有冲突。您认为如何?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2018-2-28 18:04
  • 签到天数: 40 天

    连续签到: 1 天

    [LV.5]测试团长

    4#
    发表于 2005-3-24 09:25:04 | 显示全部楼层
    to  baitest:
            后面那个问题我还真是没明白过来,受教了。谢谢~
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-5-4 02:58 , Processed in 0.065265 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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