因果图设计测试用例

​ 因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种情况的组合。因果图(Cause-Effect-Graphing)提供了把规则转化为判定表的系统化方法,其中**“原因”是表示输入条件**,“结果”是输入条件经过一系列计算后得到的输出。

​ 因果图实际上是一种数字逻辑电路(一个组合的逻辑网络),但没有使用标准的电子学符号,而是使用了稍微简单点的符号。当然,读者不必要掌握电子学方面的知识,只需要了解逻辑运算符“与”、“或”、“非”即可。

因果图的特点

  • 考虑输入条件的相互制约及组合关系
  • 考虑输出条件对输入条件的依赖关系

因果图的基本符号

  • 通常在因果图中用Ci表示原因,用Ei表示结果,各结点表示状态,可取值‘0’或‘1’。‘0’表示某状态不出现‘1‘表示某状态出现。

在这里插入图片描述

​ 在大多数程序中,有一些输入条件是不可能同时存在的,比如在等价类划分法中的“用户注册”的案例中,用户名的首字符不可能既为字母又为数字,二者为互斥。也就是说输入条件相互之间存在着某些制约关系,称为“约束”。在因果图中,用特定的符号标明这些约束,如下图所示。

在这里插入图片描述

  • E 约束(异、互斥):a、b、c 中最多有一个可能为 1,也就是 a、b、b 不能同时为 1,输入条件之间为互斥关系。但可以同时为 0。

  • I 约束(或、包含):a、b、c 中最少有一个必须是 1,也就是 a、b、c 不能同时为 0,输入条件之间为包含关系。但可以同时为 1。比如程序中的多选按钮。

  • O 约束(唯一):a、b、c 中必须有一个且仅有一个为 1。比如程序中的单选按钮。

  • R 约束(要求):a 是 1 时,b 必须是 1,a 为 0 时,b 的值不确定。即不可能 a 是 1 时,b 是 0。

    以上 4 种是输入条件的约束,输出条件的约束只有一种,就是 M 约束:

  • M 约束(强制、屏蔽):若 a 是 1,则 b 强制为 0;若 a 是 0,那么 b 的值不确定。

因果图设计用例步骤

  • 第 1 步:分析待测系统的规格说明,找出原因与结果。
  • 第 2 步:明确所有原因和结果之间的制约关系以及组合关系,画出因果图。
  • 第 3 步:在因果图上标记约束条件。
  • 第 4 步:跟踪因果图中的状态条件,把因果图转换为判定表。
  • 第 5 步:将判定表中的每一列作为依据,生成测试用例。

用户名输入框案例

​ 某软件的规格说明中对登录名输入包含这样的要求:输入的第一个字符必须是”$”或英文字母,第二个字符必须是一个数字,在此情况下进入第二个窗口;但如果第一个字符不正确,则给出信息 M;如果第二个字符不是数字,则给出信息 N。

1、分析题目说明,列出原因结果

登录的原因结果分析
原因C1:第一个字符是$
C2:第一个字符是英文字母
C3:第二个字符是数字
结果e1:给出信息 M
e2:进入第二个窗口
e3:给出信息 N

2、画出因果图

​ 图中 c12为中间节点,是导出结果的进一步原因。

​ 因为 c1和 c2不可能同时为 1,即第一个字符不可能既是 c1又是 c2,所以在因果图上对其施加 E 约束,得到具有约束的因果图。如下图所示。

在这里插入图片描述

3、将因果图转化为判定表

在这里插入图片描述

​ 表中的前 2 种情况,因为 c1和 c2不可能同时为 1,所以排除。根据判定表,设计出 6 个测试用例,如下表所示。

用例编号输入数据预期输出
TC-001$5进入第二个窗口
TC-002$a给出信息N
TC-003a5进入第二个窗口
TC-004aa给出信息N
TC-00511给出信息M
TC-006##给出信息M
  • 23
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值