因果图判定表综合练习1-支付宝
- 格式:xls
- 大小:87.00 KB
- 文档页数:7
【黑盒技术】一、因果图方法的思路是:从用自然语言书写的程序规格说明描述中找出因(输入条件)和果(输出或程序状态的改变),通过因果图转换为判定表。
分析中国象棋中走马的实际情况(下面未注明的均指的是对马的说明),马走日字型(邻近交叉点无棋子),遇到对方棋子可以吃掉,遇到本方棋子不能落到该位置。
[问题1](3分)应用中可能有多种输入条件,在什么情况下可采用因果图法设计测试用例?[问题2]((4.5分)根据上述说明,利用因果图法,下面列出走棋出现的情况和结果,找出哪些是正确的输入条件,哪些是正确的输出结果,请把相应的字母编号填入表中。
A.落点在棋盘上;B.落点与起点构成日字;C.移动棋子;D.落点处为对方棋子;E.落点处为自己方棋子;F.移动棋子,并除去对方棋子;G.落点方向的邻近交叉点无棋子;H.不移动棋子;I.落点处无棋子。
[问题3](4.5分)下图画出中国象棋中走马的因果图,请把问题2中列出的输入条件和输出结果的字母编号填入到空白框中相应的位置。
输入条件输出条件二、场景法是黑盒测试中重要的测试用例设计方法。
目前多数软件系统都是用事件触发来控制业务流程,事件触发时的情景便形成了场景,场景的不同触发顺序构成用例。
场景法通过场景描述业务流程(包括基本流(基本流程)和备选流(分支流程)),设计用例遍历软件系统功能,验证其正确性。
图 1 描述了简化的中心层、省市层、地区层三级的“公文流转”业务流程,表1 描述了省市层(图 1 阴影部分)业务的基本流和备选流。
公文的状态包括:己下发、未下发、已接收、未接收。
【问题1】(5 分)用表 1 中表述的基本流和备选流,使用场景法设计测试场景。
基本流和备选流用表1中对应的字母编号表示。
【问题2】(10 分)下表给出了测试用例名称,请将表中的输入条件和预期输出补充完整。
三、场景法是黑盒测试中重要的测试用例设计方法。
目前多数软件系统都是用事件触发来控制业务流程,事件触发时的情景便形成了场景,场景的不同触发顺序构成用例。
测试用例设计技术之----因果图上次讲了因果图法的基本原理,这种方法是有因必有果,正是由于多个原因的不同组合,使得结果也不尽相同。
由于组合情况很多,才用因果图法能大大简化测试用例的数量。
我们来看一个例子:有一个饮料自动售货机(处理单价为5角钱)的控制处理软件,它的软件规格说明如下:若投入5角钱的硬币,按下“橙汁”或“啤酒”的按钮,则相应的饮料就送出来。
若投入1元钱的硬币,同样也是按“橙汁”或“啤酒”的按钮,则自动售货机在送出相应饮料的同时退回5角钱的硬币。
怎么分析这种具有一定实际意义的情况呢?按照因果图的说法,我们先分析一下,把原因与结果先找出来:原因是输入条件,在自动售货机里,硬币的投入、按钮的按下,都是输入,这样的话就有以下几个原因:(1)投入5角硬币(2)投入1元硬币(3)按下“橙汁”按钮(4)按下“啤酒”按钮结果有哪些呢?(1)送出“橙汁”饮料(2)送出“啤酒”饮料(3)找5角硬币按照因果关系,把因果图的雏形画出来:再加上因果图的约束关系,那么图形就成为以下:根据最终的因果图生成判定表:最后把测试用例写出来:用例编号用例说明输入数据预期结果SHJ-001 (1)投入硬币(2)按下按钮1元点击“橙汁”按钮退还5角硬币送出“橙汁”饮料SHJ-002 (1)投入硬币(2)按下按钮1元点击“啤酒”按钮退还5角硬币送出“啤酒”饮料SHJ-003 (1)投入硬币1元给出提示信息SHJ-004 (1)投入硬币(2)按下按钮5角点击“橙汁”按钮送出“橙汁”饮料SHJ-005 (1)投入硬币(2)按下按钮5角点击“啤酒”按钮送出“啤酒”饮料SHJ-006 (1)投入硬币5角给出提示信息SHJ-007 (1)按下按钮“橙汁”按钮给出提示信息SHJ-008 (1)按下按钮“啤酒”按钮给出提示信息。
测试⽤例设计⽅法之判定表和因果图⼀、判定表等价类边界值分析法主要关注单个或者多个输⼊类条件的测试,并未考虑到输⼊条件之间的各种组合,输⼊条件与输出结果之间有相互制约关系的测试1、概念: 存在多个输⼊条件、多个输出结果,输⼊和输⼊之间有组合关系,输⼊和输出之间有依赖或者制约关系2、判定表的组成: -条件桩:所有输⼊条件、如⽋费状态、关机状态 -动作桩:所有的可能的输出结果,如允许主被叫、不允许主被叫 -条件项:单个条件的取值范围,⼀般都是有效等价类和⽆效等价类 -表⽰⽅式 -字符: -真/有效等价类/Y -假/⽆效等价类/N -数字 -真/有效等价类/Y -假/⽆效等价类/N -动作项:基于每⼀种条件的组合,得到确认的结果,如打不通、打得通3、设计测试⽤例的步骤: 1、明确条件桩(找到所有的属兔条件) 2、明确动作桩(找到所有的输出结果) 3、对条件桩进⾏组合 4、明确每个组合对应的动作桩(每个输⼊条件组合的情况下的输出结果) 5、设计测试⽤例,每⼀⾏对应⼀条测试⽤例4、判定表的应⽤场景: -多输⼊组合场景,即输⼊与输⼊之间有组合案例⼀、若⽤户⽋费或者关机则不允许主被叫; 步骤:1、找到所有的输⼊条件 2、找到输⼊条件的组合 3、找到组合对应的输出结果案例⼆、订单状态订单检查,如果⾦额⼤于500元,⼜未过期,则发出批准单和提货单;如果⾦额⼤于500元,但过期了,则不发批准单与提货单;如果⾦额⼩于500元,则不论是否过期都发出批准单和提货单;在过期的情况下,不论⾦额⼤⼩还需要发出通知单。
案例三、⽂件修改如果想对⽂件进⾏修改,输⼊的第⼀列字符必须是A/B,第⼆列字符必须是⼀个数字,如果第⼀列字符不正确,则给出信息L;如果第⼆列字符不正确,则给出信息M。
⼆、因果图(扩展) ------------------ ⼀般直接⽤判定表 因果图设计⽅法是对判定表的扩展 -概念:⽤图解的⽅法表⽰输⼊的各组合关系,写出判定表,进⽽设计测试⽤例的⼀种⽅法 -适⽤范围:适⽤于分析程序输⼊条件的各种组合情况,以及输⼊和输出之间的依赖关系 -核⼼: -因:即输⼊条件 -果:即输出结果 -基本符号(重点掌握) -恒等:条件成⽴,结果成⽴ -⾮(~)NOT: 条件成⽴,结果不成⽴,条件不成⽴,结果成⽴ -或(V)OR:只要有⼀个条件成⽴,结果就成⽴;所有条件都不成⽴时,结果才不成⽴ -与 ^ and:多个条件必须同时成⽴,结果成⽴;只要有⼀个条件不成⽴,结果就不成⽴。
ﻫ测试用例设计—因果图法1、引言ﻫ等价类划分方法与边界值分析方法,都就是着重考虑输入条件,但未考虑输入条件之间得联系、相互组合等。
考虑输入条件之间得相互组合,可能会产生一些新得情况。
但要检查输入条件得组合不就是一件容易得事情,即使把所有输入条件划分成等价类,她们之间得组合情况也相当多。
因此必须考虑采用一种适合于描述对于多种条件得组合,相应产生多个动作得形式来考虑设计测试用例。
这就需要利用因果图(逻辑模型)。
ﻫ因果图(Cause-E ffectGraphing)提供了一个把规格转化为判定表得系统化方法,从该图中可以产生测试数据。
其中原因就是表示输入条件,结果就是对输入执行得一系列计算后得到得输出。
ﻫ因果图方法最终生成得就就是判定表,它适合于检查程序输入条件得各种组合情况。
2、因果图介绍ﻫﻫ2、1图例说明ﻫﻫ1、4种符号分别表示了规格说明中向4种因果关系。
如图2-1所示。
ﻫﻫ2、因果图中使用了简单得逻辑符号,以直线联接左右结点。
左结点表示输入状态(或称原因),右结点表示输出状态(或称结果)。
图2-1 因果图关系ﻫﻫﻫ3、ci表示原因,通常置于图得左部;ei表示结果,通常在图得右部。
ci与ei均可取值0或1,0表示某状态不出现,1表示某状态出现。
ﻫﻫ2、2因果图概念ﻫ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。
1、根据需求规格绘制因果图
根据因果图推导出判定表。
3、4、5和3、6、7之间的R约束表示只要后面的操作是成功的,则前面的操作也一定是成功的。
所以3、4、5、6、7节点的取1、当3为假时,4、5、6、7一定为假,不可能存在其他的取值。
为了提高测试效率,可以对上面的判定表进行合并处理,合并的规则如下:
支付宝个人认证中,分为两部分:个人身份认证和银行卡认证。
这两者都通过后,则认为个人身份认证需要提交个人基本信息及身份证复印件。
银行卡认证需完成提现认证和充值认证。
提现认证的流程是:用户提交正确的银行帐号——>支付宝给用户的银行卡中随机打款——>用户确认金证成功。
充值认证的流程是:用户提交正确的银行帐号——>充值——>充值完成——>网银反馈,认证成功。
为了简便起见,我们假设个人信息提交和身份证件提交成功后,身份认证则成功,忽略人工审核过程。
1、当条件1、2为10、01、00组合时,无论3、4、5、6、7取什么值(但要遵守指定的R约束),其结果都是认证失败,这里
2、当条件
3、
4、
5、
6、7中至少有一个为0时,则无论1、2取什么值,其结果都是认证失败,这里只需要9个用例
实际工作中建议先使用第一种设计方法,然后从可以合并的用例中挑选一个作为H级别用例,其它则作为L级别用例,这样测合并还是不合并,怎么合并,这都需要测试人员在实际工作中根据需求复杂度和项目进度来决定。
功的。
所以3、4、5、6、7节点的取值有如下规律:
则认为认证成功。
中随机打款——>用户确认金额,认—>网银反馈,认证成功。
成功,忽略人工审核过程。
束),其结果都是认证失败,这里只需要3个用例就好。
败,这里只需要9个用例
例,其它则作为L级别用例,这样测试时间紧张时只测试H级别用例,测试时间充裕时则把L级别用例也测试一下。
会增加漏测风险。