因果图法
判断表法
场景法
因果图
1.)因果图法是一种适合于描述对于多种输入条件组合的测试方法
2.)根据输入条件的租合,约束关系和输出条件的因果关系,分析输入条件的格尔宗族和情况,从而设计测试用例的方法;
3.)它适合于检查程序输入条件涉及的各种组合情况;
1.原因和结果的关系
2.恒等,原因A成立,结果B一定,结果成立
3.非。原因A成立时结果B一定不成立
4.或。原因A,B,C三者只有一个成立,结果D才会出现。
第二步:
其中互斥,包含,唯一,要求是对原因的约束,屏蔽是对结果的约束,它们的含义如下:
互斥:表示不同时为1,即a,b,c中至少有一个1
包含:表示至少有一个1,即a,b,c中不同时为0
唯一:表示a,b,c中有且只有一个1
要求:表示若a=1,则b必须为1,既不可能a=1且b=0
屏蔽:表示若a=1,则b必须为0
原因之间的约束:
1)互斥:假如原因成立用1表示,不成立用0表示,也即是所A+B+C<=1
2)包含,也就是0=>A+B+C>=1
3)唯一:A+B+C==1
4)要求:(only)A+B+C==1
5)屏蔽:
6)
因果图实例
阅读和分析功能说明书,识别出“原因”和“结果”,并加以编号
案例:
有一个饮料自动售货机(处理单价为5角钱)的控制处理软件,他的软件规格说明如下:
1)若投入5角钱,按下“橙汁”或者“啤酒”的按钮,则相应的饮料就送出来;
2)若投入1元钱的银币,同样也是按“橙汁”或者“啤酒”的按钮,则自动售货机在送出相应饮料的同时退回5角钱的银币;
如果图使用中的局限性:当原因1和恶结果多的时候,它们之间的关系连线会很多,导致因果图可读性差,因此用作
局部的小功能(原因和结果不是很多的时候)分析;
列出所有的的原因和结果的列表,设计初步的测试用例步骤;
|
操作/序列
|
Case1
|
Case2
|
Case3
|
Case4
|
Case5
|
|
|
投币
|
投五角
|
1
|
0
|
0
|
0
|
0
|
|
投一元
|
0
|
1
|
1
|
1
|
0
|
|
|
按钮
|
选橙汁
|
1
|
0
|
1
|
0
|
1
|
|
选啤酒
|
0
|
1
|
0
|
1
|
0
|
|
|
结果
|
出橙汁
|
1
|
0
|
0
|
1
|
1
|
|
出啤酒
|
0
|
1
|
1
|
0
|
0
|
|
|
找零5角
|
0
|
0
|
1
|
1
|
0
|
|
|
提示项
|
提示投币
|
|||||
|
提示选择
|
||||||
|
60s自动退币
|
Case5是一种bug,不能做测试设计;
因果图的优势在于,能够发现设计中的不足;
经过分析发现:
1)只选择饮料没有投币的时候,软件没有任何结果;
2)只投币没有选择饮料时,软件也没有任何的结果;
3)不能把软件的缺陷设计成测试用例;
判定表法:
是分析和表达逻辑条件下执行不同的情况的工具。它由以下几个内容组成:
条件桩:列出了问题的所有条件,通常认为列出的条件的次序无关紧要;----需求
动作桩:列出了问题规定可能采取的操作,这些操作的排序没有约束; ----
条件项:列出针对它左列条件的取值,在所有的情况下的真价值;
动作项:流出在条件项的各种取值情况下应该采取的动作;
1)应用场合:主要适用于多条件的内容组合与结果分析;
2)组成:由条件项,动作项,条件桩,动作桩四部分组成;
3)使用的条件:所有的条件桩在表中的位置和顺序互不影响;所有的动作桩的顺序不会因为条件的顺序的变化而产生变化;
建立判定表
1)识别出操作条件(原因)和对应的动作(结果)
2)分析条件的组合数量;如果有n个条件,每个条件又成立和不成立两种情况,那么左后一共会有2n²个数量;
3)简单和优化结果,
实例:
需求:订购单检查
1.如果金额超过500元,又未过期,则发出批准单和提货单;
2.如果金额超过500元,但过期了,则不发批评单;
3.如果金额低于500元,则不论是否过期都发出批准但和提货单,在过期的情况下还需要发出通知单;
分析条件和动作
|
条件1
|
条件2
|
动作
|
|
金额大于500
|
未过期
|
发出批准和提货单
|
|
金额小于等于500
|
过期
|
不批准,提货单
|
|
金额≤500
|
未过期
|
发出批准和提货单
|
|
金额≤500
|
过期
|
发出批准单,提货单,通知单
|
|
金额超过500
|
超过500
|
||||
|
不超过500
|
0
|
1
|
0
|
1
|
|
|
时效(超时)
|
过期
|
||||
|
未过期
|
1
|
0
|
0
|
1
|
|
|
批准单
|
1
|
1
|
1
|
01
|
|
|
动作
|
提货单
|
1
|
1
|
1
|
1
|
|
通知单
|
1
|
1
|
0
|
0
|
浙公网安备 33010602011771号