当前位置:网站首页>测试用例设计方法之因果图详解
测试用例设计方法之因果图详解
2022-08-03 06:20:00 【程序媛月下】
一、因果图概述
- 因果图是从需求中找出因(输入条件)和果(输出或程序状态的改变),通过分析输入条件之间的关系(组合关系、约束关系等)及输入和输出之间的关系绘制出因果图,再转化成判定表,从而设计出测试用例的方法。
- 该方法主要适用于各种输入条件之间存在某种相互制约关系或输出结果依赖于各种输入条件的组合时的情况
- 注意: 1)所有的输入输出条件的相互制约关系以及组合关系 2)输出结果对输入条件的依赖关系。也就是什么样的输入组合会产生怎样的输出结果,即“因果关系”
二、因果图符号与关系
- 条件和结果之间的关系:左侧节点表示输入状态即原因,右侧节点表示输出状态即结果

- 条件与条件之间的关系

- 要求案例:qq做自动登录时,勾选自动登录,那么就一定要求勾上记住密码。
三、因果图分析步骤
- 找出所有原因,原因即输入条件或输入条件的等价类;找出所有的结果,结果即输出结果;
- 明确所有输入条件之间的关系;明确所有输出结果之间的关系
- 找出什么样的输入条件组合会出现哪种输出结果,画出因果图;
- 把因果图转换成判定表(决策表);
- 为判定表(决策表)中的每一列表示的情况设计测试用例。
四、案例实战
交通一卡通自动充值软件系统需求:
系统只接收50元或100元纸币,一次充值自能使用一张纸币,一次充值金额只能为50元或100元
若输入50元纸币,并选择充值50元,完成充值后退卡,提示充值成功;
若输入50元纸币,并选择充值100元,提示输入金额不足,并退回50元;
若输入100元纸币,并选择充值50元,完成充值后退卡,提示充值成功,并找零50元;
若输入100元纸币,并选择充值100元,完成充值后退卡,提示充值成功;
若输入纸币后在规定时间内不选择充值按钮,退回输入的纸币,提示错误;
若选择充值按钮后不输入纸币,提示错误
- 步骤一:找出所有条件和结果

- 步骤二:画出因果图

- 步骤三:根据因果图得出判定表

- 步骤四:根据判定表编写用例,每一列写一条用例

用因果图设计测试用例的方法你学会了没?
边栏推荐
- Detailed explanation of AutoInt network and pytorch reproduction
- MySQL - 视图操作
- 信息学奥赛一本通T1447:靶形数独
- mysql or语句的优化
- El - tree to set focus on selected highlight highlighting, the selected node deepen background and change the font color, etc
- 【Shell】3万字图文讲解带你快速掌握shell脚本编程
- 《多线程案例》阻塞队列、定时器、线程池、饿汉与懒汉模式
- UniApp 获取当前页面标题(navigationBarTitleText)
- 2021年PHP-Laravel面试题问卷题 答案记录
- Week5
猜你喜欢

第五章:指令集

MySQL性能优化(硬件,系统配置,表结构,SQL语句)

word之图表目录中点号位置提升3磅

Getting Started with Chrome Plugin Development

El - tree to set focus on selected highlight highlighting, the selected node deepen background and change the font color, etc

El - tree set using setCheckedNodessetCheckedKeys default check nodes, and a new check through setChecked specified node

el-table gets the data attribute of a row in the read data table
![mysql 数据去重的三种方式[实战]](/img/37/ad4007a32d9eb563a303756785e72f.png)
mysql 数据去重的三种方式[实战]

帆软11版本参数联动为null查询全部

解决登录vCenter提示“当前网站安全证书不受信任“
随机推荐
spark中Repartition 和 Coalesce 区别
unity 摄像机旋转拖拽缩放场景
pyspark df 二次排序
El - table column filter functions, control columns show and hide (effect and easy to implement full marks)
线程基础(二)
Scala 基础 (三):运算符和流程控制
Getting Started with Chrome Plugin Development
七夕和程序员有毛关系?
El - tree to set focus on selected highlight highlighting, the selected node deepen background and change the font color, etc
MySQL性能优化(硬件,系统配置,表结构,SQL语句)
MySQL 日期时间类型精确到毫秒
C语言版本和GCC版本
2021年PHP-Laravel面试题问卷题 答案记录
JS 预编译
第五章:指令集
Multi-Head-Attention principle and code implementation
Basic syntax of MySQL DDL and DML and DQL
学会可视化大屏布局技巧,让领导都赞不绝口
uniapp 请求接口封装
pyspark @udf 循环使用变量问题