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

测试用例_因果图_测试用例图因果图法一、应用场合​ 界面中有多个控件,控件之间有组合或者限制关系,为了弄清楚不同的输入组合会对应怎样不同的输出结果,可以使用因果图或判定表法。【说明】因果图/判定表法比较适合测试组合数量少(一般指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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 双因素身份认证系统的技术特点_mfa多因素认证

    双因素身份认证系统的技术特点_mfa多因素认证一般的状况下,用户通常使用的网络登录办法为:用户名称+密码。在密码为静态的状况下,将会产生某些问题,比如为了维护密码安全性,必须严格规定密码的长度、复杂性(例如:中英文数字夹杂,大小写间隔,长度须超过8个字符以上)及定期更换的频率。  用户为了方便记忆,常常习惯使用特殊的数字,例如家人的生日、自己的生日、身高体重、电话或门牌号码等,此种方法极不安全。  只要利用黑客工具,如字典攻击法等便能在短时间

    2025年8月6日
    3
  • SVN目录对号图标(更新、冲突)不显示

    SVN目录对号图标(更新、冲突)不显示

    2022年1月9日
    67
  • 运维架构简单剖析讲解

    运维架构简单剖析讲解运维架构简单剖析讲解随着IT运维的不断发展,尤其的Linux的飞速发展,越来越多的企业开始使用Linux操作系统平台,例如CentOS、RedHat、Ubuntu、Fedora等等,成千上亿个网站涌现在当今互联网,互联网已经成为必不可少的工具,那今天我们跟大家一起来分享讨论目前用的最多的Linux下主流网站架构:LVS+KEEPALIVED(heartbeat)+Squid+Nginx/Apache+JAVA/PHP+MySQL/MariaDB等,分享一个简单的拓扑图,供各位同学实验参考一般网站总体

    2022年7月17日
    17
  • leetcode-78子集[通俗易懂]

    leetcode-78子集[通俗易懂]给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。示例 1:输入:nums = [1,2,3]输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]示例 2:输入:nums = [0]输出:[[],[0]] 提示:1 <= nums.length <= 10-10 <= nums[i] <= 10nums 中的所有元素 互

    2022年8月9日
    4
  • MariaDB安装Win10

    MariaDB安装Win10本次搭建mysql数据,选择了是和mysql类似的MariaDB,完全可以满足日常的使用需求,且命令和mysql没有太大的区别。对应MariaDB下载地址:https://downloads.mariadb.org/解压下载完成的文件,这里我解压到了C盘,路径:C:\mariadb-10.5.3-winx64使用win+R,输入CMD,进入DOS控制台。输入命令cdC:\mariadb-10.5.3-winx64,进入MariaDB的对应的路径中执行安装的命令mysqld.exe–..

    2022年6月10日
    95
  • BootStrap初始

    序言什么是BootstrapBootstrap是Twitter开源的基于HTML、CSS、JavaScript的前端框架。它是为实现快速开发Web应用程序而设计的一套前端工具包。它支持响应式布

    2022年3月29日
    59

发表回复

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

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