问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

因果图设计测试用例

创作时间:
作者:
@小白创作中心

因果图设计测试用例

引用
CSDN
1.
https://blog.csdn.net/m0_75269526/article/details/137245820

因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种情况的组合。因果图(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-003 a5 进入第二个窗口
TC-004 aa 给出信息N
TC-005 11 给出信息M
TC-006 ## 给出信息M

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号