黑盒测试技术(Cause­Effect Graphing 因果图法)——软件质量保证与测试



前言

  • 等价分类法和边界值分析法的缺点是没有检查各种输入条件的组合。
  • 要检查输入条件的组合并非易事,因为即使可以将输入条件分成等价类,但它们的组合情况可能很多,如果没有一个系统的方法是难以设计测试用例
    的。
  • 借助因果图列出输入数据的各种组合与程序对应动作效果之间的阶段联系,构造判定表,由此设计测试用例是生成测试用例的有效办法。

一、因果图是什么?

□ 因果图是输入和输出之间逻辑关系的可视化表示,可以用布尔表达式表示。
□ 原因Cause是需求中的任何可能影响程序输出的条件。
□ 结果Effect是程序对某些输入条件组合的响应。

因果图中图形符号:

  • 关系符号
    在这里插入图片描述
    在这里插入图片描述
  • 约束符号

(原因间、结果间)
□ 在实际问题中,输入状态也存在一定的依赖关系,称为约束。
□ 输出状态之间存在限制。
□ 这些边用带约束符号的虚线表示

  1. E: 互斥约束(异约束):最容易出现,要选择的话只能两个原因中选一个或都不选,即C1C2两种情况不是互斥的
    在这里插入图片描述

  2. I: 包含约束(或约束):要求至少满足其中一个条件成立,不能全不选
    在这里插入图片描述

  3. O: 唯一约束:两个条件必须选一个,且仅一个
    在这里插入图片描述

  4. R: 要求约束:C2被需要,C1不能单独出现,相当于C2是C1的前提
    在这里插入图片描述

  5. M: 强制约束:如果E1出现,就把E2掩盖了,E2不能出现即E2此时不能为1
    在这里插入图片描述因果图设计的步骤

    1. 通过阅读需求来识别原因和影响。每个原因和结果被分配一个唯一的标识
      符。请注意,结果也可以是其他一些结果的原因。
    2. 用因果图表示因果关系。
    3. 将因果图转换为有限项决策表,简称决策表。
    4. 从决策表生成测试用例。
      在这里插入图片描述如何使用因果图设计测试用例
      i. 找原因,找结果
      ii. 看是否需要中间节点
      iii. 找原因,结果间的关系

二、例题

例题一

某企业工资管理软件一个模块的需求规格说明书描述如下:
(1)行政管理员工:严重过失,扣年终奖6%;过失:扣4%
(2)一线生产员工:严重过失,扣年终奖10%;过失:扣6%
答案

在这里插入图片描述
在这里插入图片描述

例题二

答案:

在这里插入图片描述决策表:
在这里插入图片描述
测试用例
在这里插入图片描述

例题三

Cause-Effect Testing:In a given network, the sendfile command is used to send a file to a user on a different file server. The sendfile command takes three arguments: the first argument should be an existing file in the sender’s home directory, the second argument should be the name of the receiver’s file server, and the third argument should be the receiver’s userid. If all the arguments are correct, then the file is successfully sent; otherwise the sender obtains an error message.
答案

在这里插入图片描述

例题四

在这里插入图片描述

答案

在这里插入图片描述

例题五

在这里插入图片描述
在这里插入图片描述

解答
在这里插入图片描述
在这里插入图片描述

总结

因果图设计的缺点

  • 不易理解
  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
等价类测试思想是一种软件测试方法,它将输入数据和系统行为划分为不同的等价类,以便更有效地选择测试用例。等价类是指一组输入数据,当被测试时,有相同的预期结果。等价类测试的目标是在每个等价类中选择最具代表性和典型性的测试用例,以尽可能地覆盖系统的功能和错误。 主要的方法分类如下: 1. 等价类划分法(Equivalence Partitioning):将输入数据划分为相互等价的类别,从每个等价类中选择一个或多个测试用例进行测试。这种方法可以减少测试用例的数量,同时保证覆盖所有等价类。 2. 边界值分析法(Boundary Value Analysis):在等价类划分的基础上,重点关注边界值。边界值是指等价类的起始值、结束值,以及相邻等价类之间的交叉点。边界值分析方法通过选择接近边界值的测试用例,增加了对边界情况的覆盖度。 3. 错误推测法(Error Guessing):基于测试人员的经验和直觉,猜测可能存在的错误和异常情况,并设计相应的测试用例。这种方法主要依赖于测试人员的主观判断和经验。 4. 因果图法Cause-Effect Graphing):将系统的功能和输入之间的因果关系绘制成因果图,然后根据因果图选择测试用例。这种方法可以帮助测试人员更全面地考虑系统的功能和输入之间的关系。 5. 决策表法(Decision Table Testing):将系统的决策规则绘制成决策表,根据决策表选择测试用例。这种方法适用于决策较为复杂且规则较多的系统。 以上是等价类测试思想的主要方法分类,可以根据具体的测试需求和系统特点选择合适的方法进行测试

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值