黑盒测试设计专题:因果图

点击上方 BeTester ,学习更多知识
让碎片成体系,让测试更专业

人的一生当中,难免遭遇不愉快的经历。譬如学习成绩不佳,求职困难,公司裁员等。以公司裁员为例,2019年初Oracle裁撤中国区研发中心,预计裁员900人,这900人当中,有多少人曾经顶着天子骄子的光环,如今这般遭遇,令人唏嘘不已。为什么会出现裁员的现象?Oracle究竟出现了什么问题?

有人说是Oracle进行方向调整、业务重组,以云计算服务为核心,非主要部门将进行裁员。也有人说是时代抛弃了Oracle,免费时代对垄断的商业付费产生了变革。更有人说,Oracle靠着老本养了一群老油条,这是一次壮士断腕的选择。

裁员

上述缘由又会受到其他因素的影响,通过头脑风暴我们可以分析出这些影响因素,并将它们按关联性整理成层次分明、条例清晰的结构,最终形成这次Oracle的裁员根因分析。这就是鱼骨图分析法,也叫因果图分析法。

鱼骨图是由日本管理大师石川馨先生所发明,它是对问题的 根因 进行分析的方法,透过现象看本质的方法。

鱼骨图

1、 什么是因果图

在软件测试设计中,因果图用于 输入与输入输入与输出 存在依赖与约束关系的被测对象。因果图是一种利用图解法分析输入的各种组合情况,从而进行测试用例设计。

等价类和边界值分析法同样是对输入条件的测试分析,但其输入条件之间并不存在任何关联或约束,且必须相互独立(等价类的原则之一)。

2、 因果图的关系

在进行因果图图解之前,你需要先了解因果图特有的术语和语法(关系图)。

2.1 因果关系

1. 恒等 (是1则1)
因果图关系:恒等

  • 若原因出现,则结果出现;若原因不出现,则结果也不出现。
  • 若C1是1,则E1也是1
  • 若C1是0,则E1也是0

例:商场购物,买单后才会打印凭条,没有买单是不会打印的。

2. 非 ~ (是1则0)
因果图关系:非

  • 若原因出现,则结果不出现;若原因不出现,则结果出现。
  • 若C2是1,则E2是0
  • 若C2是0,则E2是1

例:用手机逛淘宝,如果有网络,则不提示网络异常, 如果没有网络,则提示网络异常。

3. 或 U (其中一个是1则为1)
因果图关系:或

  • 若原因中的一个有出现,则结果出现,若所有原因都不出现,则结果不出现。
  • 若C3或C4或C5是1,则E3是1
  • 若C3和C4和C5是0,则E3是0

例:手机、电脑、平板、电视,拥有其中之一就可以看视频,如果都没有则无法看视频。

4. 与 ^ (全部为1才是1)
因果图关系:与

  • 若所有原因都出现,则结果出现,若原因中的一个不出现,则结果不出现。
  • 若C3和C4和C5是1,则E4是1
  • 若C3或C4或C5是0,则E4是0

例:手机要有电、有网络信号,才能上网,没电或没网络信号,则不能上网

2.2 条件约束

1. 异或/互斥(Exclusive)
因果图约束:异或
因果图约束:异或表格

  • C1/C2/C3中至多一个为 1

例:你要赶赴约会地点,只能选择步行、自行车、打车、坐地铁、开车中的一个。同时,也可以都不选择,猫在家里爽约。

2. 或(Inclusive)
因果图约束:或(至少一个必须为1)
因果图约束:或(至少一个必须为1)表格

  • C1、C2中至少一个必须是 1

例:你和女朋友想在家里看电影,手机、平板、电视、电脑都可以是选择,但是必须选择至少其中一个。

3. 唯一(Only)
因果图约束:唯一
因果图约束:唯一表格

  • C1和C2必须有且只有一个是1

例:要想进入地铁站闸口,那你必须从 交通卡、微信支付、临时票 中选择其中一个。

4. 要求(Require)
因果图约束:要求
因果图约束:要求表格

  • C1出现时,C2必出现。C1不出现时,C2不确定。

例:在篮球场上打球,如果出手投篮(C1),则必然拥有球权(C2)。如果没有出手投篮,也无法确定是否拥有球权。

5. 强制(Mask)
因果图约束:强制
因果图约束:强制表格

  • C1出现时,C2必不出现。C1不出现时,C2不确定。

例:如果你在公司了,则你必定不在家。如果你不在公司,你也未必在家。

3、 分析步骤

  1. 分析被测对象的规格,找出原因与结果
  2. 确定因果关系,画出因果图
  3. 确定因果图中的约束,并做好标记
  4. 把因果图转换为判定表
  5. 用判定表设计测试用例

4、 实例

4.1 在自助机器进行地铁卡的充值

要求:

  • 自助机器只接收50元或100元纸币,一次只能使用一张纸币
  • 一次充值金额只能为50元或100元
  1. 分析对象的原因和结果:
    分析对象的原因和结果

  2. 画出因果图:C1和C2是或关系,C3和C4是或关系
    画出因果图

  3. 因果图增加约束:C1和C2只能出现一个,C3和C4只能出现一个
    因果图增加约束

  4. 转换成判定表,并通过约束去除无效用例
    转换成判定表,并通过约束去除无效用例

  5. 根据判定表生成测试用例
    根据判定表生成测试用例

5 小结

因果图分析是为有效测试分析的辅助工具,通过因果图分析可以得到判定表。判定表根据约束进行用例的有效性分析,最终输出测试用例。但是很多时候,绘制因果图是非常麻烦,非常影响效率,所以在熟练之后,可以直接写判定表,进而编写测试用例。


---- 更多文章 ----

BeTester

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值