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

测试用例_因果图_测试用例图因果图法一、应用场合​ 界面中有多个控件,控件之间有组合或者限制关系,为了弄清楚不同的输入组合会对应怎样不同的输出结果,可以使用因果图或判定表法。【说明】因果图/判定表法比较适合测试组合数量少(一般指20种以下)的情况(如果组合数量大可以选择使用正交排列法效率会更高)二、因果图法2.1解析因果图法​ 因(原因):输入条件​ 果(结果):输出结果​ 因果图:通过画图的方式说明输入条件和输出结果之间的关系。2.2图形符号(1)基本图形符合——表达的是因和果之间的关系恒等如果

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

因果图法

一、应用场合

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

【说明】因果图/判定表法比较适合测试组合数量少(一般指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.net/170408.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月14日 上午7:16
下一篇 2022年8月14日 上午7:16


相关推荐

  • 超算互联网向每位OpenClaw用户免费发放1000万Tokens

    超算互联网向每位OpenClaw用户免费发放1000万Tokens

    2026年3月12日
    2
  • MySQL FULLTEXT全文索引

    MySQL FULLTEXT全文索引一 FULLTEXT 简介 MySQL 具备全文搜索的能力 它可以让你在不使用模板匹配操作的情况下进行单词或短语的查找 全文搜索有 3 种类型 自然语言搜索 默认类型 MySQL 会把搜索字符串解析成一系列的单词 然后搜索出包含这些单词的那些行 布尔模式捜索 在捜索字符串里那些单词可以包含修饰字符 用以表明某些特定的要求 如某个给定的单词必须出现 或不出现 在匹配行里 或者某些行必须恰好包含某个短语 查扩展搜索 这种搜索分两阶段进行 第一阶段是自然语言搜索 第二阶段则先把原来的搜索字符串 与

    2026年3月18日
    2
  • js刷新当前页面的方法_javascript高级编程教程

    js刷新当前页面的方法_javascript高级编程教程javascriptrefreshpage几种页面刷新的方法本节内容:Javascript刷新当前页面的方法与实例。window.location.reload(),window.histo

    2022年8月6日
    8
  • 【速查表】PHPStorm快捷键「建议收藏」

    【速查表】PHPStorm快捷键「建议收藏」【速查表】PHPStorm快捷键

    2022年4月24日
    40
  • java父类引用指向子类对象好处_java子类调用父类属性

    java父类引用指向子类对象好处_java子类调用父类属性1.什么是多态?方法的重写、重载与动态连接构成多态性Java之所以引入多态的概念,原因之一就它在类的继承上的问题和C++不同,后者允许多继承,这确实给其带来了非常强大的功能,但是复杂的继承关系也给C++开发者带来了更大的麻烦,为了规避风险,Java只允许单继承,势必在功能上有很大的限制,所以,Java引入多态性的概念以弥补这点不足,此外,抽象类和接口也是解决单继承规定限制的重要手段.同时,…

    2025年8月15日
    3
  • pycharm导入自定义模块问题

    pycharm导入自定义模块问题pycharm 导入自定义模块出现红色的波浪线 1 不用管 可以正常运行的 2 如果看着不舒服 可以进行以下过程进行设置即可 file gt settings gt project gt projectstruc gt 点击项目路径 gt 点击 Sources 或 Excluded 然后就正常显示了 快捷方式 右击模

    2026年2月1日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号