一、应用场合
在一个界面中,有多个控件,测试时要考虑控件的组合关系,不同的控件组合会产生不同的输出结果的组合,最终是为了弄清什么样的输入组合会产生什么样的输出组合,使用因果图。
二、因果图的核心

  • “因”是原因,输入条件
  • “果”是结果,输出结果
    使用图形的方式,分析软件输入和输出的对应关系
    三、图形符号
    1、基本图形:表示输入和输出的对应关系

    (1)恒等
    a是原因(输入),b是结果(输出)
    含义:若a=1,则b=1 “1”是动作或状态,比如开关按下、复选框选中
    若a=0,则b=0
    (2)非(~)
    a是原因,b是结果
    含义:若a=1,则b=0
    若a=0,则b=1
    (3)或
    a,b,c为输入(输入也可以有多个),d是输出
    若a=1,或b=1,或c=1,则d=1
    若a=b=c=0,则d=0
    (4)与
    a,b,c为输入,d是输出
    若a=b=c=1,则d=1,否则为0
    在实际应用中“恒等”、“与”应用较多
    2、约束(限制条件)图形
    要么单独限制输入,要么单独限制输出
    下面的都是按照限制输入来讲的,也可以将其改为输出

    (1)互斥【重点】
    a,b,c不同时为1,即a,b,c中至多只有一个1
    举例:

    单选按钮:接受协议和不接受协议最多只能选择1个。若选择接受协议,则“下一步”是黑色,可以选;若均不选择或者选择不接受协议,则“下一步”为灰色,不能再继续安装
    (2)包含(I)
    a,b,c至少有一个1,即a,b ,c不能同时为0
    举例:调查信息来源:广告(已选,不能修改)、电视、网络、报纸、朋友介绍、其他
    这种就是包含
    (3)唯一(O)【重点】
    a,b,c必须有一个成立,且仅为一个成立。
    说明:唯一的情况是有一个默认值;互斥没有默认值
    (4)要求(R)
    若a=1,则b必须为1。不可能出现a=1,b=0。
    若a=0,不能确定b怎样。
    表示当a出现时,b必须也出现;a不出现,b不确定

    若“自动登录”选中,则“记住密码”自动选中。
    若“自动登录”未选中,则“记住密码”可以选中,也可以不选
    (5)屏蔽(M)
    若a=1,则b必须为0;当a=0时,b的值不确定

    当第一个数输入错误,应该弹出“第一个数据非法”;
    当第二个数输入错误,应该弹出“第二个数据非法”;
    ①当第一个数据和第二个数据都输入错误时,只会弹出“第一个数据输入错误”,“第二个数据输入错误”就被屏蔽掉;
    ②当第一个数据输入正确,是否弹出“第二个数据非法”,应该根据输入第二个数据情况。

四、使用因果图分析程序


1、找出所有的原因(输入),并编号
(1)投币50元
(2)投币100元
(3)充值50元
(4)充值100元
2、找出所有的结果(输出),并编号
A:充值成功并退卡
B:提示充值成功
C:找零
D:提示错误
3、在步骤1的基础上,找出输入的限制关系和组合关系
(1)限制关系(哪些输入不能组合)
①输入(1)和(2)不能组合【互斥】
②输入(3)和(4)不能组合【互斥】
(2)能组合(决定测试用例数量)
①输入(1)和(3)组合
②输入(1)和(4)组合
③输入(2)和(3)组合
④输入(2)和(4)组合
⑤输入(1)单独
⑥输入(2)单独
⑦输入(3)单独
⑧输入(4)单独
先把输入的限制关系画出因果图
4、在步骤2的基础上,找出哪些输出不能组合,哪些可以组合
(1)限制关系
①输出A和D不能(互斥)
②输出B和D不能(互斥)
画出限制关系因果图
(2)组合关系
①输出A和B必须组合
②输出A、B、C组合
③输出C和D组合【用户不想充值了情况】
④输出D单独
5、找到输入组合和输出组合的对应关系(什么样的输入组合会产生什么样的输出组合)
依据步骤3(2)和步骤4(2)
情况1:
输入(1)和(3)组合
会产生:
输出A和B的组合
画出因果图
情况2:
输入(1)和(4)组合
会产生:
输出C和D组合
情况3:
输入(2)和(3)组合
会产生:
输出A、B、C组合
情况4:
输入(2)和(4)组合
会产生:
输出A和B的组合
情况5:
输入(1)单独
会产生:
输出C和D组合
情况6:
输入(2)单独
会产生:
输出C和D组合
情况7:
输入(3)单独
会产生:
输出D单独

6、根据因果图,画出判定表

5、6是交叉进行的,写完一种情况,就写一条判定表的项
7、根据判定表编写用例:把判定表的一列转换为一条用例

五、因果图法的局限性
按钮的组合、复选框的组合、下拉列表的组合
每个控件的条件(或取值)最好为2个或3个,比如:按钮按下或者不按下;复选框选择还是不选择;单选按钮点击或者不点击;有3个选项的下拉列表

(六)使用因果图法设计测试用例+一卡通充值例子相关推荐

  1. 因果图法设计测试用例

    因果图法设计测试用例 1. 定义:因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,他适合与检查程序输入条件的各种组合情况. 2. 意义:等价类划分和边界值分析方法都是着重考虑输 ...

  2. 软件测试购物测试用例因果图法,因果图法设计测试用例案例

    软件需求 系统只接收50元或100元纸币,一次充值只能使用一张纸币,一次充值金额只能为50元或100元. 若输入50元纸币,并选择充值50元,完成充值后退卡,提示充值成功; 若输入50元纸币,并选择充 ...

  3. 软件测试因果图法 中国象棋,因果图法设计测试用例(示例代码)

    一.使用因果图的好处 1 考虑了多个输入之间的相互组合.相互制约关系 2 能够帮助我们按一定步骤,高效率地选择用例,同时还能为我们指出,程序规格说明描述中存在着什么问题 二.利用因果图导出 1.分析程 ...

  4. QQ登录界面因果图法设计测试用例

    用因果图设计QQ登录界面的测试用例.我们看到有3个可以组合的项:QQ的帐号.QQ的密码.登录按钮.在测试的时候,要简化QQ的输入条件,这样才能有重点的去测试,也是主要关注用户的基本需求. 第一步:画出 ...

  5. sallen-因果图法设计测试用例

    *因果图法设计测试用例* 因果图怎么设计QQ登录界面的测试用例 我们看到有3个可以组合的项:QQ的帐号.QQ的密码.登录按钮.在测试的时候,要简化QQ的输入条件,这样才能有重点的去测试,也是主要关注用 ...

  6. 场景法设计测试用例atm_黑盒测试用例设计方法

    本文根据Vince整理的<测试用例设计白皮书>整理 一.黑盒测试用例方法 黑盒测试用例设计方法,主要包括等价类划分法.边界值分析法.错误推测法.因果图法.判定表驱动发.正交试验设计法.功能 ...

  7. 实验4、黑盒测试:因果图法及测试用例设计

    实验4.黑盒测试:因果图法及测试用例设计 一.实验目的 1.掌握因果图的概念. 2.掌握因果图测试用例设计法. 二.实验任务 以下三个任务.至少完成一个 1.某软件规格说明书包含这样的要求:第一列字符 ...

  8. 【测试】根据因果图法设计饮料售卖机的测试用例

    [测试]根据因果图法设计饮料售卖机的测试用例 因果法设计测试用例的步骤:   ① 分析所有可能的输入和可能的输出   ② 找出输入与输出之间的对应关系   ③ 画出因果图   ④ 把因果图转换成判定表 ...

  9. 软件测试中用正交实验法设计测试用例

    软件测试中用正交实验法设计测试用例 正交实验法的由来 一.正交表的由来 拉丁方名称的由来 古希腊是一个多民族的国家,国王在检阅臣民时要求每个方队中每行有一个民族代表,每列也要有一个民族的代表. 数学家 ...

最新文章

  1. CentOS 6.2 下samba 服务的配置
  2. UA Stat PhD Qualify Problems for Finite Sample Space Probability
  3. 很多优秀的软件公司和开发者为什么愿意开源和共享?
  4. android另开进程,android在一个app程序中,打开另一个app的方法
  5. SVM(支持向量机)综述
  6. Python中的这几种报错你遇到过吗?
  7. 将文件提交到github的两种方法
  8. python调用gpu进行运算_tensorflow指定CPU与GPU运算的方法实现
  9. 信息学奥赛一本通 2006:【20CSPJ普及组】表达式 | 洛谷 P7073 [CSP-J2020] 表达式
  10. 区分两种题目类型中的数学期望
  11. mysql redis hbase_10分钟梳理MySQL核心知识点
  12. ***的在实际环境中的应用和配置
  13. Silverligth out of browser OOB应用安装卸载说明
  14. 微PE工具箱(CGI)安装Win10系统教程
  15. SQL Server中以星期一为每周第一天 计算周数
  16. C#实现将文件、文件夹压缩为压缩包
  17. 怎么写Scholarship Essay?
  18. 半同步/半异步模式,半同步半反应堆reactor模式
  19. Gitlab项目上传
  20. 失眠怎么办?不妨试试这五款好物

热门文章

  1. 华硕曙光服务器网站,地平线:零之曙光上线 华硕RTX 2070s显卡稳定畅玩
  2. C语言 删除数组中重复的元素
  3. 实现网页注册和登录账号功能
  4. openflow流表超时时间
  5. python word表格嵌套_python word解析 嵌套表格
  6. 高级算法梳理(三)XGB算法
  7. 站长文库:新手站长做优化不能忽略的几点
  8. Java对接腾讯云短信和阿里云天气预报
  9. JS 字符串常用方法总结
  10. java的无参构造方法_Java的无参构造函数用法实例分析