软件测试学习笔记与思考(3)---黑盒测试

黑盒测试

因果图设计方法

定义

是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。

产生背景
  • 在等价类划分法和边界值分析方法中,都着重考虑输入条件,却没有考虑输入条件的相互组合,联系。这样导致输入条件可能出错的情况已经测试到了,多个输入条件组合可能出现错误情况而被忽视了。
  • 如果在输入是考虑相互之间的组合,这样组合情况的数目相当大,需要大量的测试用例。
特点
  • 考虑输入条件间的组合关系;
  • 考虑输出条件对输入条件的依赖关系;
  • 测试用例发现错误效率高;
  • 能检测到功能说明中的某些不一致或遗漏;
  • 因果图最终生产的是判定表,适合于检查程序输入条件和各种组合情况。
因果图介绍
4种因果关系

在这里插入图片描述
因果图中使用了简单的逻辑符号,以直线联接左右结点。左结点表示输入状态(或称原因),右结点表示输出状态(或称结果)。
Ci表示原因,通常置于图的左部;ei表示结果,通常在图的右部。Ci和ei均可取值0或1,0表示某状态不出现,1表示某状态出现。
(这里来源:https://blog.csdn.net/vincetest/article/details/1478552)

因果图概念
  1. 关系
    ①恒等:若ci是1,则e也是1;否则ei为0。
    ②非:若ci是1,则ei是0;否则ei是1。
    ③或:若c1或c2或c3是1,则ei是1;否则ei为0。“或”可有任意个输入。
    ④与:若c1和c2都是1,则ei为1;否则ei为0。“与”也可有任意个输入。
  2. 约束
    输入状态相互之间还可能存在某些依赖关系,称为约束。例如, 某些输入条件本身不可能同时出现。输出状态之间也往往存在约束。在因果图中,用特定的符号标明这些约束。
    在这里插入图片描述
    A.输入条件的约束有以下4类:
    ① E约束(异):a和b中至多有一个可能为1,即a和b不能同时为1。
    ② I约束(或):a、b和c中至少有一个必须是1,即 a、b 和c不能同时为0。
    ③ O约束(唯一);a和b必须有一个,且仅有1个为1。
    ④R约束(要求):a是1时,b必须是1,即不可能a是1时b是0。
    B.输出条件约束类型
    输出条件的约束只有M约束(强制):若结果a是1,则结果b强制为0。

作者:张元礼
原文:https://blog.csdn.net/vincetest/article/details/1478552


因果图法基本步骤
  1. 分割功能说明书

  2. 找出原因 结果编号
    原因:输入条件或输入条件的等价类;
    结果:输出条件或输出条件的等价类;

  3. 根据功能说明书中规定的原因和结果之间的关系画出因果图

  4. 根据功能说明在因果图中加上约束条件

  5. 根据因果图画出判定表

  6. 为判定表的每一列设计一个测试用例

例子

某软件规格说明书包含这样的要求:第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改,但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。

解答:
1.找出原因结果:
原因:
1——第一列字符是A;
2——第一列字符是B;
3——第二列字符是一数字。
结果:
21——修改文件;
22 ——给出信息L;
23——给出信息M。

其对应的因果图如下:
11为中间节点;考虑到原因1和原因2不可能同时为1,因此在因果图上施加E约束。
在这里插入图片描述
3)根据因果图建立判定表。
在这里插入图片描述

表中8种情况的左面两列情况中,原因①和原因②同时为1,这是不可能出现的,故应排除这两种情况。表的最下一栏给出了6种情况的测试用例,这是我们所需要的数据。

微信公众号:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值