肖sir__设计测试用例方法之因果图07_(黑盒测试)

设计测试用例方法之因果图
一、定义:因果图提供了一个把规格转化为判定表的系统化方法,从该图中可以产生测试数据。其 中,原因是表示输入条件,结果是对输入执 行的一系列计算后得到的输出。
二、因果图方法最终生成的就是判定表。它适合于检查软件输入条件的各种组合情况
三、因果图的步骤:
1.把大的系统规格划分解成可以测试的规格片段
2.分析分解后待测的系统规格,找出哪些是原因,哪些是结果
3.画出因果图
4.把因果图转换成判定表
5.简化判定表
6.用判定表中的每一列生成测试用例
四、因果图的符号
肖sir__设计测试用例方法之因果图07_(黑盒测试)_第1张图片
例如
恒等:有钱富人
非: 有钱 =穷人
或: v 满足其中一个条件
有存款、有车、有房 有其中一个或多个
富人
与: ∧ 满足所有的条件
有存款、有车、有房 同时满足 富人
E异:a和b中最多有一个为1,即a和b不能同时为1.
开关: 开关两个按钮 ,只有开 或,只有关i或:a\b\c中至少有一个必须为1,即a、b、不能同时为0
有存款、有车、有房 有其中一个或多个
富人
有存款
富人
有车======================富人
有房 富人
有存款、有车
富人
有存款、有房 ======================富人

o唯一:a必须有一个1;
有钱====富人
r约束: (要求) a是1时,b必须是1,即a为1时,b不能为0 。
例如:
父子 (有钱) =========儿子(有钱)
夫妻关系: a:结婚状态 b结婚状态
m强制:结果a为1,则结果b强制为0.
例如:
两个比赛
1个人胜利,另1个失败
详解:
果图中的4种基本关系
在因果图的基本符号中,图中的左结点ci 表示输入状态(或称原因),右结点ei表示输出 状态(或称结果)。ci与
ei取值0或1,0表示某 状态不出现,1则表示某状态出现。
Ø恒等:若 c1 是1,则 e1 也为1,否则 e1 为0。
Ø非:若 c1 是1,则 e1 为0,否则e1为1。
Ø或:若 c1 或 c2 或 c3 是1,则 e1 为1,否则 e1 为0。
Ø与:若 c1 和 c2 都是1,则 e1 为1,否则 e1 为0。
因果图中的约束
在实际问题中输入状态相互之间、输出状 态相互之间可能存在某些依
赖关系,称为“约 束”。对于输入条件的约束有E、I、O、R四种 约束,
对于输出条件的约束只有M约束。
ØE约束(异):a和b中最多有一个可能为1,即a和b不能 同时 为1。
ØI 约束(或):a、b、c中至少有一个必须为1,即 a、b、 c不能同时为0。
ØO约束(唯一):a和b必须有一个且仅有一个为1。
ØR约束(要求):a是1时,b必须是1,即a为1时,b不能 为0。
ØM约束(强制):若结果a为1,则结果b强制为0。

五、因果图的优点/缺点
优点:

  1. 等价类法尽管各个输入条件可能出错的情况都考虑 到了,但是多个输入条件组合起来出错的情况却被 忽略了
  2. 因果图法能够帮助我们按照一定步骤,高效的选择 测试用例,设计多个输入条件组合用例
  3. 因果图分析还能为我们指出,程序规格说明描述中 存在什么问题
    缺点:
  4. 输入条件与输出结果的因果关系,有时难以从软件 需求规格说明书得到
  5. 即使得到了这些因果关系,也会因为因果关系复杂 导致因果图非常庞大,测试用例数目及其庞大

六、
因果图转换判定表的方法:

  1. 将因果图中的所有条件(因)填入判定表 的条件桩中;
  2. 将因果图中的所有动作(果)填入判定表 的动作桩中;
  3. 根据因果图确定各个条件组合对应的动作, 并且确定判定表中各个规则的条件项和动 作项,在需要时优化判定表
    七、案例:
    (1)题目
    一个处理单价为5角钱的饮料的自 动售货机。
    其规格说明如下:
    若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。
    (2)找出原因和结果
    肖sir__设计测试用例方法之因果图07_(黑盒测试)_第2张图片

(3)因果图
肖sir__设计测试用例方法之因果图07_(黑盒测试)_第3张图片
肖sir__设计测试用例方法之因果图07_(黑盒测试)_第4张图片
判定表:
肖sir__设计测试用例方法之因果图07_(黑盒测试)_第5张图片
作业:
案例;
某软件规格说明书包含这样的要求:
第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改,但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。
解答:
根据题意,原因和结果如下:
原因:
1——第一列字符是A;
2——第一列字符是B;
3——第二列字符是一个数字。
结果:
21——修改文件;
22 ——给出信息L;
23——给出信息M。
其对应的因果图如下:
11为中间节点;考虑到原因1和原因2不可能同时为1,因此在因果图上施加E约束。

你可能感兴趣的:(软件测试设计方法,设计测试用例方法之因果图)