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

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

相关推荐

  • python进阶(4)文件操作[通俗易懂]

    python进阶(4)文件操作[通俗易懂]文件操作文件操作主要包括对文件内容的读写操作,这些操作是通过文件对象实现的,通过文件对象可以读写文本文件和二进制文件open(file,mode='r',buffering=-

    2022年7月28日
  • TI ADI DSP 与 ARM Cortex-A 的 FIR FFT 性能对比

    TI ADI DSP 与 ARM Cortex-A 的 FIR FFT 性能对比DSP作为计算密集型的芯片,一度是FIR和FFT运算的主力芯片,而TI和ADI两大DSP芯片公司推出的DSP产品也互不相让。可以预见,随着ARM的广泛使用和性能的提高,DSP作为独立的芯片,应用场景会越来越少,也许会慢慢退出历史的舞台;而数字信号处理,会以DSPIP软核或者硬核的形式,出现在各种芯片当中。摩尔定律和制造工艺的发展,推动着芯片行业飞速前进,不进则退。

    2022年10月14日
  • drupal安装教程mysql_drupal简单安装和插件安装

    drupal安装教程mysql_drupal简单安装和插件安装1.从官网下载drupal安装包:https://www.drupal.org/download2.windows下使用WAMPSERVER作为php的服务器,在官网http://www.wampserver.com/en/下载安装包,成功安装后,启动wampmanager.exe。点击图标,并打开phpmyadmin(http://localhost:80/phpmyadmin/),默认端口是…

    2022年7月20日
  • 无序链表排序_双向链表排序算法

    无序链表排序_双向链表排序算法需求给定一个无序的链表,输出有序的链表。分析链表排序比较特殊,由于不连续的性质,所以在进行排序的时候要引入外排思想,因此归并排序或者多路归并就成为了排序的选择。归并排序分为拆分、合并两个阶段:1.拆分需要拆分出链表中间节点,并赋值NULL阶段,形成两个独立的链表,直到拆分成单个节点为止。2.合并由于此时没个链表都为单节点,所以实质上是个有序链表合并问题。代码下面

    2022年10月11日
  • lc1d25m7c_通达信变盘指标

    lc1d25m7c_通达信变盘指标一、通达信日线*.day文件文件名即股票代码每32个字节为一天数据每4个字节为一个字段,每个字段内低字节在前00~03字节:年月日,整型04~07字节:开盘价*100,整型

    2022年8月5日
  • 写KeilC遇到的坑

    写KeilC遇到的坑

    2021年8月24日

发表回复

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

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