说明
- 因果图法是一种适合于描述对多种输入条件组合的测试方法
- 根据输入条件的组合、约束关系和输出条件的因果关系,分析输入条件的各种组合情况,从而设计测试用例的方法
- 它适合于检查程序输入条件涉及的各种组合情况
使用步骤
第一步:根据功能说明书中规定的原因和结果之间的关系画出因果图
原因和结果的关系:
- 恒等:原因 A 成立,结果 B 一定成立。
- 非:原因 A 成立时,结果 B 一定不成立。
- 或:原因 A、B、C 三者只要有一个成立,结果 D 就一定成立。
- 与:原因 A、B、C 都成立时,结果 D 才会成立。
第二步:根据功能说明在因果图中加上约束条件
原因之间的约束:
- 互斥(Exclusive):表示不同时未1,即 a、b、c 中至多只有一个1。也就是 a+b+c ≤ 1
- 包含(Include):表示至少有一个1,即 a、b、c 中不同时未0。也就是 3≥a+b+c≥1
- 唯一(Only):表示 a、b、c 中有且仅有一个1。 也就是 a+b+c = 1
- 要求(Request):原因 A 成立,要求 B 一定先成立
结果之间的约束:
- 屏蔽(Mask):若 A 结果出现,B 结果一定不出现。例如:当你收到注册成功的提示,就一定不受收到数据填写错误的提示。
使用案例
- 阅读和分析功能说明书,识别出“原因”和“结果”,并加以编号
- 案例:有一个饮料自动售货机(处理单价为5角钱)的控制处理软件,它的软件规格说明如下:
- 若投入5角钱的硬币,按下“橙汁”或“啤酒”的按钮,则相应的饮料就送出来
- 若投入1元钱的硬币,同样也是按“橙汁”或“啤酒”的按钮,则自动售货机在送出相应饮料的同时退回5角钱的硬币
分析原因和结果:
画出原因和结果之间的关系:
按照需求描述原因、结果间的约束:
因果图使用中的局限:当原因和结果很多的时候,它们之间的关系连线就会很多,导致因果图的可读性变差。因此用作局部的小功能(原因和结果不是很多的时候)分析。
列出所有的原因和结果的列表,设计初步的测试用例步骤:
经过分析发现:
- 只选择饮料,没有投币的时候,软件没有任何结果。
- 只投币,没有选择饮料的时候,软件没有任何结果。
- 应该有:提示投币、提示选饮料、60秒自动退币 功能。
编写测试用例: