因果图法

因果图法的定义

  • 因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况
  • 特点:
    1.考虑输入条件的相互制约及组合关系
    2.考虑输出条件对输入条件的依赖关系

因果图法产生的背景

  • 等价类划分法和边界值分析法都是着重考虑输入条件,但没有考虑输入条件的各种组合,输入条件之间的相互制约关系,这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。
  • 如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字,因此必须考虑采用一种适合于描述多种条件的组合,相应产生多个动作的形式来进行测试用例的设计,这就需要利用因果图(逻辑模型)。

因果图的核心

  • 因果图法比较合适输入条件比较多的情况,测试所有的输入条件的排列组合,所谓的原因就是输入,所谓的结果就是输出。
    因果图的“因“—输入条件
    因果图的“果”—输出结果

  • 因果图法要注意考虑:
    1.所有输入/输出条件的相互制约关系以及组合关系
    2.输入条件的依赖关系,也就是什么样的输入组合会产生怎么样的输出结果,即“因果关系”

因果图中的基本符号

  • 通常在因果图中用Ci表示原因,用Ei表示结果,各结点表示状态,可取值‘0’或‘1’。‘0’表示某状态不出现‘1‘表示某状态出现。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

因果图法基本步骤

  • 利用因果图导出测试用例需要经过一下几个步骤:
    1.找出所有的原因,原因即输入条件或输入条件的等价类。
    2.找出所有的结果,结果即输出条件。
    3.明确所有输入条件之间的制约关系以及组合关系。
    哪些条件不能组合到一起,哪些条件可以组合到一起
    4.明确所有输出条件之间的制约关系以及组合关系。
    哪些输出结果不能同时输出,哪些输出结果可以同时输出
    5.找出什么样的输入条件组合会产生哪种输出结果。
    6.把因果图转换成判定表/决策表。
    7.为判定表/决策表中的每一列表示的情况设计测试用例。

案例:交通一卡通自动充值软件系统需求

  • 系统只接收50或100元纸币,一次只能使用一张纸币,一次虫子金额只能为50元或100元;
  • 若输入50元纸币,并选择充值50元,完成充值后退卡,提示充值成功;
  • 若输入50元纸币,并选择充值100元,提示输入金额不足,并退回50元;
  • 若输入100元纸币,并选择充值50元,完成充值后退卡,提示充值成功,找零50元;
  • 若输入100元纸币,并选择充值100元,完成充值后退卡,提示充值成功;
  • 若输入纸币后在规定时间内不选择充值按钮,退回输入的纸币,并提示错误;
  • 若选择充值按钮后不输入纸币,提示错误

案例:交通一卡通,自动充值软件系统需求

  1. 找到所有输入条件编号
  2. 找到所有输出条件编号
  3. 找出所有输入,输出的制约关系
    在这里插入图片描述
    在这里插入图片描述

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

因果图法是一种用于设计测试用例的方法,它可以帮助测试人员分析系统中的因果关系,并根据这些关系来确定测试用例。根据引用\[1\]中的建议,如果User Case很复杂,可以将其分解成若干个简单的部分。因此,在设计测试用例时,可以按照以下步骤进行: 1. 确定系统的输入和输出:根据引用\[3\]中的产品说明,系统的输入包括投入的硬币和按下的按钮,输出包括送出的饮料和退还的硬币。 2. 识别系统的因果关系:根据产品说明,投入的硬币和按下的按钮会触发相应的操作,如送出饮料或退还硬币。因此,可以将投入硬币和按下按钮作为因,送出饮料和退还硬币作为果。 3. 绘制因果图:根据系统的因果关系,可以绘制因果图。以投入硬币和按下按钮为起点,分别绘制送出饮料和退还硬币的终点。然后,根据具体的操作流程和条件,绘制相应的因果关系。 4. 生成测试用例:根据因果图,可以生成测试用例。测试用例应包括不同的输入组合和操作流程,以覆盖系统的各种情况。例如,可以设计测试用例来测试投入不同面额的硬币和按下不同的按钮时系统的响应。 总之,因果图法可以帮助测试人员系统地分析系统的因果关系,并根据这些关系设计测试用例。通过设计全面的测试用例,可以提高测试的覆盖率,发现潜在的问题,并确保系统的质量。 #### 引用[.reference_title] - *1* *2* [【测试入门】测试用例经典设计方法 —— 因果图法](https://blog.csdn.net/jiangjunsss/article/details/123550655)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [【测试】根据因果图法设计饮料售卖机的测试用例](https://blog.csdn.net/Sunnyside_/article/details/119969538)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值