测试用例_因果图_测试用例图

2022-09-21 10:24:06 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

因果图法

一、应用场合

​ 界面中有多个控件,控件之间有组合或者限制关系,为了弄清楚不同的输入组合会对应怎样不同的输出结果,可以使用因果图或判定表法。

【说明】因果图/判定表法比较适合测试组合数量少(一般指20种以下)的情况(如果组合数量大可以选择使用正交排列法效率会更高)

二、因果图法
2.1 解析因果图法

​ 因(原因):输入条件

​ 果(结果):输出结果

​ 因果图:通过画图的方式说明输入条件和输出结果之间的关系。

2.2 图形符号

(1)基本图形符合——表达的是因和果之间的关系

  • 恒等 如果 a = 1,那么 b = 1 如果 a = 0,那么 b = 0
  • 【说明】只有所有条件都成立时,结果成立,有任何一个条件不成立(或者所有条件都不成立)时,结果不成立。 简化:全1为1,有0为0 分析过程如下图:

与的图形符号:

  • 【说明】只有所有条件都为0时,结果为0,有任何1个条件为1(或者所有条件为1)时,结果为1 简化:全0为0,有1为1 分析过程如下图:

或的图形符号:

  • (了解) 【说明】取反 如果 a = 1,取反后变成 a = 0; 如果 a = 0,取反后变成 a = 1;

(2)限制图形符合——表达的是因之间和果之间的限制关系

  • 互斥(E-exclude) 特点:如果选只能选择1个,但是可以不选
  • 唯一(O-only) 特点:智能选一个(不能不选) 唯一和互斥的区别:唯一和互斥都是单选,但是唯一必选要选一个,而互斥可以不选,如果选智能选一个。
  • 包含(I-include) 特点:至少要选择一个(可以多选,不能不选)
  • 要求(R-required) 特点:如果 a = 1,那么要求 b 必须是1,反之如果 a = 0,那么b的值无所谓。
  • 屏蔽(M-masked)

​ 特点:当 a=1时,b=0;当 a=0,b的值可能为1也可能是0

三、因果图法的详细操作步骤

案例:一卡通自动充值模拟系统

步骤1:熟悉需求,找出所有的输入条件(因)。

  • 投币50元
  • 投币100元
  • 充值50元
  • 充值100元

步骤2:找出所有的输出结果(果)。

  • 充值成功并退卡
  • 找零
  • 错误提示并退卡

将找出的因和果填入到《判定表》中

步骤3:找出输入条件中的组合和限制关系。

步骤4:明确不同的输入组合会产生的不同的输出结果,画因果图,填判定表(在实际工作中可以只填判定表,不画因果图)

步骤5:编写测试用例

判定表中每一列是一个组合,编写一条测试用例。

【说明】

(1)画因果图只是一种辅助工具,通过分析最终得到判定表,再通过判定表,再通过判定表编写测试用例。但是有时画因果图非常麻烦,影响效率,所以在实际应用中,可以直接写判定表,不画因果图。

(2)判定表的缺点:限制关系在判定表中不好体现

​ 解决办法:可以在判定表中附加备注信息,将限制关系填写在备注中。

编写测试用例能参考什么?

①需求 ②设计(开发)文档【有可能没有】 ③已经开发出来的被测程序

④通过跟开发人员、产品部门的人员、客户等沟通、讨论

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/170408.html原文链接:https://javaforall.cn

0 人点赞