测试方法因果图法
- 格式:ppt
- 大小:218.50 KB
- 文档页数:39
测试用例设计—因果图法1.引言等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系、相互组合等。
考虑输入条件之间的相互组合,可能会产生一些新的情况。
但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多。
因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例。
这就需要利用因果图(逻辑模型)。
因果图(Cause-EffectGraphing)提供了一个把规格转化为判定表的系统化方法,从该图中可以产生测试数据。
其中原因是表示输入条件,结果是对输入执行的一系列计算后得到的输出。
因果图方法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况。
2.因果图介绍图例说明1、4种符号分别表示了规格说明中向4种因果关系。
如图2-1所示。
图2-1 因果图关系2、因果图中使用了简单的逻辑符号,以直线联接左右结点。
左结点表示输入状态(或称原因),右结点表示输出状态(或称结果)。
3、ci表示原因,通常置于图的左部;ei表示结果,通常在图的右部。
ci 和ei均可取值0或1,0表示某状态不出现,1表示某状态出现。
因果图概念1、关系(图2-1 因果图关系)①恒等:若ci是1,则ei也是1;否则ei为0。
②非:若ci是1,则ei是0;否则ei是1。
③或:若c1或c2或c3是1,则ei是1;否则ei为0。
“或”可有任意个输入。
④与:若c1和c2都是1,则ei为1;否则ei为0。
“与”也可有任意个输入。
2、约束输入状态相互之间还可能存在某些依赖关系,称为约束。
例如,某些输入条件本身不可能同时出现。
输出状态之间也往往存在约束。
在因果图中,用特定的符号标明这些约束。
如图2-2所示。
图2-2因果图约束A.输入条件的约束有以下4类:① E约束(异):a和b中至多有一个可能为1,即a和b不能同时为1。
② I约束(或):a、b和c中至少有一个必须是1,即 a、b 和c不能同时为0。
软件测试⽤例之因果图法
简介
从⽤⾃然语⾔书写的程序规格说明的描述中找出因(输⼊条件)和果(输出或程序状态的改变),可以通过因果图转换为判定表。
因果图法即因果分析图,⼜叫特性要因图、⽯川图或鱼翅图,它是由⽇本东京⼤学教授⽯川馨提出的⼀种通过带箭头的线,将质量问题与原因之间的关系表⽰出来,是分析影响产品质量的诸因素之间关系的⼀种⼯具。
作⽤
因果图法是⼀种适合于描述对于多种输⼊条件组合的测试⽅法,根据输⼊条件的组合、约束关系和输出条件的因果关系,分析输⼊条件的各种组合情况,从⽽设计测试⽤例的⽅法,它适合于检查程序输⼊条件涉及的各种组合情况。
因果图法⼀般和判定表结合使⽤,通过映射同时发⽣相互影响的多个输⼊来确定判定条件。
因果图法最终⽣成的就是判定表,它适合于检查程序输⼊条件的各种组合情况。
采⽤因果图法能帮助我们按照⼀定的步骤选择⼀组⾼效的测试⽤例,同时,还能指出规范中存在什么问题,鉴别和制作因果图。
因果图法着重分析输⼊条件的各种组合,每种组合条件就是“因”,它必然有⼀个输出的结果,这就是“果”。
基本步骤
利⽤因果图导出测试⽤例⼀般要经过以下⼏个步骤:
1)分析软件规格说明的描述中哪些是原因,哪些是结果。
原因是输⼊或输⼊条件的等价类,结果是输出条件。
给每个原因和结果并赋予⼀个标识符,根据这些关系,画出因果图。
2)因果图上⽤⼀些记号表明约束条件或限制条件。
3)对需求加以分析并把它们表⽰为因果图之间的关系图。
4)把因果图转换成判定表。
5)将判定表的每⼀列作为依据,设计测试⽤例。
名词解释因果图法因果图法(drawing)亦称因果连环图,是德国心理学家艾宾浩斯(H。
Ebbinghauer, 1849-- 1919)提出来的一种最基本的思维图形模式。
他把观察到的数据依照一定的顺序在纸上画成直线,用圆圈表示数据,根据图形所表示的因果关系来推论原来未知的因素。
对于每个事件来说,可以从许多方面去探究,找出其中的原因。
不管问题有多复杂,总能从中找出最主要的原因,并分析这些因素之间的因果关系,再进行科学的解释和论证。
这是一种最基本的思维图形模式。
从概念上讲,有两层意思:一是构成思维图形的因素之间存在因果关系;二是因果关系反映了客观事物内部普遍联系的规律性。
简单地说,就是把引起某种现象的诸因素按照时间顺序排列在一张图表上,并把前后的因果关系用线条穿起来。
最初研究因果关系的人是德国心理学家艾宾浩斯。
他在1885年开始采用图表作为研究工具,在因果图法的基础上发展了不少有关研究心理的方法。
他的著名论文《记忆的研究》就是运用这种方法写成的。
他还提出了“不平衡规律”这个概念,并认为人们保持信息不只靠瞬间的记忆,而是要保持过去经验的痕迹,如果忘掉过去的信息,新的信息也就无法进入记忆。
这篇论文标志着人类思维发展史上的重大转折,被称为20世纪最伟大的心理学实验。
生活中有很多很多类似的现象,但并非所有都适合于因果图法,它需要与其他思维方法配合使用,才能取得良好的效果。
1、11。
艾宾浩斯遗忘曲线:艾宾浩斯通过对遗忘的研究,绘制出一条遗忘的规律曲线,叫做艾宾浩斯遗忘曲线,即著名的遗忘曲线。
2。
艾宾浩斯记忆测试:利用艾宾浩斯遗忘曲线,精确掌握记忆规律。
记忆的过程大致可以分为4个阶段: a、记住无关紧要的材料。
b、进行信息登记,即暂时记住。
c、保持和回忆。
d、再次编码。
3。
艾宾浩斯记忆法:根据艾宾浩斯遗忘曲线进行的记忆方法。
12。
艾宾浩斯效应:艾宾浩斯在研究人的记忆过程中,最早发现的一种现象,他把这种现象称为艾宾浩斯效应。
11、因果图法因果图法的定义因果图法是⼀种利⽤图解法分析输⼊的各种组合情况,从⽽设计测试⽤例的⽅法,它适合于检查程序输⼊条件的各种组合情况特点:(1)考虑输⼊条件的相互制约及组合关系(2)考虑输出条件对输⼊条件的依赖关系因果图的核⼼因果图法⽐较适合输⼊条件⽐较多的情况,测试所有的输⼊条件的排列组合。
所谓的原因就是输⼊,所谓的结果就是输出。
因果图的“因”—输⼊条件因果图的“果”—输出结果因果图法要注意考虑:所有输⼊/输出条件的相互制约关系以及组合关系输出结果对输⼊条件的依赖关系,也就是什么样的输⼊组合会产⽣怎样的输出结果,即“因果关系”因果图中的基本符号通常在因果图中⽤Ci表⽰原因,⽤Ei表⽰结果,各结点表⽰状态,可取值“0”或“1”。
“0”表⽰某状态不出现,“1”表⽰某状态出现。
因果图中的约束条件利⽤因果图导出测试⽤例需要经过以下⼏个步骤:①找出所有的原因,原因即输⼊条件或输⼊条件的等价类。
②找出所有的结果,结果即输出条件。
③明确所有输⼊条件之间的制约关系以及组合关系。
哪些条件不能组合到⼀起,哪些条件可以组合到⼀起④明确所有输出条件之间的制约关系以及组合关系。
哪些输出结果不能同时输出,哪些输出结果可以同时输出⑤找出什么样的输⼊条件组合会产⽣哪种输出结果⑥把因果图转换成判定表/决策表。
⑦为判定表/决策表中的每⼀列表⽰的情况设计测试⽤例。
案例:交通⼀卡通⾃动充值软件系统需求-系统只接收50、100元纸币,⼀次只能使⽤⼀张纸币,⼗次充值⾦额只能为50元或100元。
-若输⼊50元纸币,并选择充值50元,完成充值后退卡,提⽰充值成功;-若输⼊50元纸币,并选择充值100元,提⽰输⼊⾦额不⾜,并退回50元;-若输⼊100元纸币,并选择充值50元,完成充值后退卡,提⽰充值成功,找零50元;-若输⼊100元纸币,并选择充值100元,完成充值后退卡,提⽰充值成功;-若输⼊纸币后在规定时间内不选择充值按钮,退回输⼊的纸币,并提⽰错误;-若选择充值按钮后不输⼊纸币,提⽰错误结果:分析:1、找到所有输⼊条件编号2、找到所有输出条件编号3、找出所有输⼊、输出的制约关系根据因果图再制作出对应的“表格”。
黑盒测试用例--因果图设计法
•因果图:是一种简化了的逻辑图,能直观地表明程序输入条件(原因)和输出动作(结果)之间的相互关系
•因果图法:是借助图形来设计测试用例的一种系统方法,特别适用于被测试程序具有多种输入条件,程序的输出又依赖于输入条件的各种的情况。
描述:
1.年薪制员工:严重过失,扣年终风险金的4%;
过失,扣年终风险金的2%
2.非年薪制员工:严重过失,扣当月薪资的8%
过失,扣当月薪资的4%
要求:如果年薪制员工既是过失又是严重过失则扣年终风险金的4% ;非年薪制员工既是过失又是严重过失扣当月薪资的8%
首先列出原因和结果
其次画出因果图:
再次:转换为判定表:
最后:分析测试用例
因果图的优点、缺点:
优点:不论输入条件的组合多么复杂,总可以按照上面的例子给出的步骤找出测试用例。
不足:输入条件的组合数2ª随a的上升急剧增长,当a较大时,因果图的结构将变得十分复杂,而把因果图转换为判定表则更为麻烦。
转自:哈尔滨软件测试交流/。
提交方式:以“学号姓名”命名的word文档。
有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。
若投入1元5角硬币,按下“可乐”、“雪碧”或“红茶”按钮,相应的饮料就送出来。
若投入的是两元硬币,在送出饮料的同时退还5角硬币。
要求:用因果图法(列出原因和结果,画出因果图,制定决策表)来设计测试用
例。
原因:
C1:投入1元5角硬币
C2:投入2元硬币
C3:按下可乐按钮
C4:按下雪碧按钮
C5:按下红茶按钮
中间原因:
I1:已投币
I2:已按钮
结果:
E1:退回5角硬币
E2:送出可乐
E3: 送出雪碧
E4:送出红茶
因果图
C1 E1
^
E vI1
^E2 C2
C3 ^E3
E C4 vI2
^
C5 E4 决策表:
用例1投入1.5元硬币按下可乐按钮送出可乐
用例2投入1.5元硬币按下雪碧按钮送出雪碧
用例3投入1.5元硬币按下红茶按钮送出红茶
用例4投入1.5元硬币不按下按钮
用例5投入2元硬币按下可乐按钮送出可乐,并退回5角硬币
用例6投入2元硬币按下雪碧按钮送出雪碧,并退回5角硬币
用例7投入2元硬币按下红茶按钮送出红茶,并退回5角硬币
用例8投入2元硬币不按下按钮用例9未投入硬币按下可乐按钮用例10未投入硬币按下雪碧按钮用例11未投入硬币按下红茶按钮。
一、基本概念
1、应用场合:
在一个界面中有多个控件,控件之间存在组合关系和限制关系,不同的控件组合会产生不同的输出结果。
为了弄清输入条件和输出结果之间的关系,可以使用因果图方法。
2、核心:
因——原因,输入条件(动作)
果——结果,输出结果
根据需求找出“原因/输入”和“结果/输出”,进一步找到原因和结果的对应关系。
3、使用限制条件
比较适合于每个控件的输入状态(动作)比较少的情况,如:按钮按下和不按下,单选按钮,复选框,或者取值数量较少的列表框。
二、步骤
1、找出所有的输入(因),编号
2、找出所有的输出结果(果),编号
3、在第1步的基础上找到输入条件之间的组合关系和限制关系
4、在第2步基础上找到输出结果之间的组合关系和限制关系
5、根据步骤3和4,确立什么样的输入组合会产生什么样的输出组合,画出因果图
6、根据因果图,画出判定表(决策表)
7、根据判定表,编写测试用例(判定表的一列对应写一条用例)
三、重要结论
1、对于不同控件的有效等价类(或有效边界值),可以尽可能在一条用例中同时使用(测试),以减少用例数量
2、对于控件的无效等价类(或无效边界值),开始时一次只测试一个,不能组合,以避免屏蔽。
后面可以适当组合。
实验3、黑盒测试:决策表法、因果图法及测试用例设计
一、实验目的
1、掌握决策表法、因果图的概念。
2、掌握决策表法、因果图测试用例设计法。
二、实验内容
有一个饮料自动售货机(处理单价为5角钱)的控制处理软件,它的软件规格说明如下:
若投入5角钱的硬币,按下“橙汁”或“啤酒”的按钮,则相应的饮料就送出来。
若投入1元钱的硬币,同样也是按“橙汁”或“啤酒”的按钮,则自动售货机在送出相应饮料的同时退回5角钱的硬币。
用程序模拟该自动售货机(注:用屏幕输入、输出来模拟售货机的动作),然后用因果图法测试该程序。
三、实验步骤:
1)分析原因与结果
2)画出因果图
3)转化为决策表
4)根据决策表设计测试用例,得到测试用例表
代码:
#include <stdio.h>
main(){
float i;
char j;
printf("请投入硬币:\n");
scanf("%f",&i);
printf("请选择所需饮料:\na:橙汁 or b:啤酒\n");
scanf("%s",&j);
if(i==0.5){
printf("出货成功");
}
else{
printf("找零%.2f元\n出货成功",i-0.5);
}
}
答:。
因果图法设计测试用例
根据因果图法来设计测试用例步骤如下:
1、第一步,明确测试品级:在进行测试用例设计之前,必须明确所
要测试的产品,包括其品牌、型号等。
2、第二步,了解产品的用途及其使用规则:明确产品的用途,
了解产品的特点和性能指标,以及产品的使用规则。
3、第三步,设计因果图:将了解到的产品的用途和使用规则,
以因果图的形式描述,以明确测试的案例点。
4、第四步,设计测试用例:根据案例点,设计测试用例,填写
用例文档,完成测试用例设计。
因果图法就是通过图形来表示输入和输出之间的关联关系,并依
据输入和输出之间的因果关系来设计测试用例。
因此,设计测试用例时,应尽量充分考虑因果图中的各种可能情况,例如正常工作流程、
可能出现的错误处理流程、特殊情况下的处理流程等。
同时,设计测试用例时还应考虑该测试方案的设计结构,如用例
的组织方式、对流程的剖析程度。
,确定测试的开始条件、结束条件、测试的优先级、预估的测试工期等,以及编写测试用例和其他测试文档,最终完成测试用例的设计。
因此,运用因果图法设计测试用例需要仔细分析考虑,以确保准确、完善的测试用例设计,有效提升测试的质量。