因果图和判定表.docx
- 格式:docx
- 大小:16.77 KB
- 文档页数:2
【例】有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。
其规格说明如下:“若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。
若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。
”▪分析这一段说明,列出原因和结果原因: 1.售货机有零钱找 3.投入5角硬币 5.押下啤酒按钮2.投入1元硬币 4.押下橙汁按钮结果:21. 售货机〖零钱找完〗灯亮24. 送出橙汁饮料22. 退还1元硬币25. 送出啤酒饮料23. 退还5角硬币▪画出因果图,如图5.17所示。
所有原因结点列在左边,所有结果结点列在右边。
建立两个中间结点,表示处理的中间状态。
中间结点:11. 投入1元硬币且押下饮料按钮12. 押下〖橙汁〗或〖啤酒〗的按钮13. 应当找5角零钱并且售货机有零钱找14. 钱已付清图5.17 因果图▪由于2 与3 ,4 与5 不能同时发生,分别加上约束条件E。
▪转换成判定表:图5.18 由因果图得到的判定表在判定表中,阴影部分表示因违反约束条件的不可能出现的情况,删去。
第16列与第32列因什么动作也没做,也删去。
最后可根据剩下的16列作为确定测试用例的依据。
因果图方法是一个非常有效的黑盒测试方法,它能够生成没有重复性的且发现错误能力强的测试用例,而且对输入、输出同时进行了分析。
测试方法选择的综合策略Myers提出了使用各种测试方法的综合策略:▪首先进行等价类划分,包括输入条件和输出条件的等价划分,将无限测试变成有限测试,这是减少工作量和提高测试效率的最有效的方法。
▪在任何情况下都必须采用边界值分析法。
这种方法设计出的测试用例发现程序错误的能力最强。
▪采用错误推断法再追加测试用例,这需要依靠测试工程师的智慧和经验。
▪对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度。
一、测试项要求如下:有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。
其规格说明如下:若投入5角钱或1元钱灯是亮的,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红二、分析以上要求,得出原因和结果:原因:1、售货机有零钱找2、投入1元钱3、投入5角钱4、选择橙汁5、选择啤酒结果:21、售货机“零钱找完”灯亮22、退还1元钱23、找回5角钱24、送出橙汁饮料25、送出啤酒饮料三、因果图如下:思路:逐个分析条件,看它与其它哪些条件之间有制约关系,都会影响哪些结果,把这种制约影响关系画出四个角度着手画因果图。
又由于条件1为真和为假时导致的结果不同,所以为真和为假两种情况下的因果图都要画出来,否因果图中出现的中间节点为:11、需要找回5角钱12、选择了橙汁或啤酒13、售货机能够找出5角钱14、钱已结清,可以送出饮料四、根据因果图画出判定表1、条件2、3不能同时为1123456789101有零钱找1111111111四、根据状态图完成判定表12=or(4,5)11=and(2,12)13=and(1,11)14=or(3,13)21=not(1)22=and(11,not(1))23=1324=and(4,14)五、将这16条规则分别转化测试用例其它用例略1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。
当售货机没有零钱找,则一个显示〖零零钱找,则显示〖零钱找完〗的红灯不会亮,在送出饮料的同时退还5角硬币。
系画出来,直到所有条件都被分析、所有结果都被覆盖。
本例中,条件1、2、4;1、2、5;3,4;3,5之间存在情况下的因果图都要画出来,否则覆盖不到所有结果。
1234567892012345678111111000000000000示〖零钱找完〗的红间存在制约关系,从这。
测试用例设计方法之因果图法与判定表1.因果图法1.1.前言从用自然语言书写的程序规格说明的描述中找出因(输入条件)和果(输出或程序状态的改变),可以通过因果图转换为判定表。
因果图法即因果分析图,又叫特性要因图、石川图或鱼翅图,它是由日本东京大学教授石川馨提出的一种通过带箭头的线,将质量问题与原因之间的关系表示出来,是分析影响产品质量的诸因素之间关系的一种工具。
1.2.定义因果图法是一种适合于描述对于多种输入条件组合的测试方法,根据输入条件的组合、约束关系和输出条件的因果关系,分析输入条件的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件涉及的各种组合情况。
因果图法一般和判定表结合使用,通过映射同时发生相互影响的多个输入来确定判定条件。
因果图法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况。
采用因果图法能帮助我们按照一定的步骤选择一组高效的测试用例,同时,还能指出程序规范中存在什么问题,鉴别和制作因果图。
因果图法着重分析输入条件的各种组合,每种组合条件就是“因”,它必然有一个输出的结果,这就是“果”。
1.3.因果关系因果图的表示中输入与输出间的因果关系有四种:1)恒等关系:当输入条件发生,会产生对应输出,当输入条件不发生时,不会产生都会应输出。
2)非关系:与恒等关系相反。
3)或关系:多个输入条件中,只要有一个发生,则会产生对应输出。
4)与关系:多个输入条件中,只有所有输入项发生时,才会产生对应输出。
特定的符号标明因果关系如下(图1.3.1):图1.3.1因果图的表示中输入与输入间的约束关系有四种:1)异(E):所有输入中至多一个输入条件发生。
2)或(I):所有输入中至少一个输入条件发生。
3)唯一(O):所有输入中有且只有一个输入条件发生。
4)要求(R):所有输入中只有一个输入条件发生,则其它输入也会发生。
特定的符号标明输入与输入间约束关系如下(图1.3.2):图1.3.2因果图的表示中输出条件约束类型(见图1.3.2):1)输出条件的约束只有M约束(强制):若结果a是1,则结果b强制为0。
测试用例设计方法2——因果图判定表判定表法判定表是分析和表达多种输入情况下执行不同动作的工具,判定表方法主要用于处理程序输入条件的不同组合,但是要求条件的组合必须是bool类型,而且条件和预期的结果都是可以分析出来的。
判定表能够有效地弥补等价类和边界值方法的不足,使得输入条件之间的组合和相互影响得到充分的测试。
使用判定表的一般思路是:1、需求分析,分析出条件和结果之间的各种组合2、将条件和结果分别填入判定表3、讲条件和结果进行二进制排列4、针对每一项组合,分析出结果,并去除无效项,是判定表得到简化。
在合并判定表时,如果条件之中只有一个不同,则可以合并。
如果判定表的组合不够多,建议不要进行合并,这样可以测试的充分一些。
5、每一列生成一个测试用例以阅读指南的例子来设计一个判定表:从例子中可以看到,不同的条件组合使用判定表方法可以充分弥补等价类边界值得不足,但是当输入条件过多时,使用判定表会产生大量测试用例。
而其无效用例不易发现,更不能覆盖条件之间的先后关系。
因此,在一定情况下,使用判定表还需要因果图的帮忙。
--------------------------------------------------------------------------------因果图因果图用于描述系统之间的输入输出,输入输出之间的约束关系和因果关系。
因果图与判定表往往结合使用,使用因果图可以得到判定表。
使用因果图的方法:1、分析输入输出并进行标识2、分析输入和输入、输入和输出之间的关系3、将得到的关系使用因果图的方法表示出来4、根据因果图得到判定表5、依据判定表生成测试用例这里分析一个自动售货机的因果图分析方法:条件:有一个处理单价为5角的自动售货机,当投入5角或1元硬币时,选择橙汁或啤酒,饮料出来;若自动售货机没有零钱,则显示零钱照完,亮红灯,这时候投入的1元被退出来,饮料不送出来。
如果有零钱,则出饮料并找5角钱。
因果图判定表工程方法目录1.概述 (4)2.适用范围 (4)3.工程方法定义 (5)3.1.因果图 (5)3.2.判定表 (6)4.接口描述 (6)4.1.工程方法使用环境 (6)4.2.输入 (7)4.3.输出 (7)5.应用分析及指导 (7)5.1.应用分析 (7)5.2.应用指导 (7)6.测试分部的应用及案例 (9)6.1.无线测试分部简化实例 (9)6.1.1.工程方法的输入 (9)6.1.2.标识输入与输出 (9)6.1.3.画出因果图 (9)6.1.4.转换为判定表 (9)6.1.5.判定表简化 (10)6.1.6.生成测试项目 (10)7.相关表格 (10)8.工具需求 (10)9.附录 (11)10.参考文档 (11)因果图、判定表工程方法关键词:阶段、活动、工程方法、SDV/SIT、因果图、判定表摘要:本文详细描述了测试设计过程中因果图、判定表工程方法缩略语清单:1. 概述因果图、判定表是一种充分考虑系统输入之间的组合、约束以及和输出因果关系的用例设计方法。
因果图用于描述系统的输入、输出,以及输入和输出之间的因果关系,输入和输入之间的约束关系,因果图的绘制过程是对被测试系统外部特征的建模过程。
判定表可以由因果图转换得到,它用于对所有输入进行组合和筛选,并得到对应的输出。
因果图和判定表两种方法在实际使用中结合紧密,往往同时使用,此时可以理解因果图为判定表的前置过程。
此外,对于一些简单的系统,或输入与输出已经非常明确的系统,判定表可以单独使用。
因果图和判定表的方法在业界广泛使用,是非常成熟的两种工程方法。
它们不仅应用在测试设计过程中,同时在开发设计过程中也有应用。
2. 适用范围适用阶段:因果图和判定表的工程方法适用于测试方案设计阶段的特性测试设计活动中使用适用业务:因果图和判定表的方法是一种通用的测试设计方法,可以适用于所有类型的业务以下情况下不适宜使用本工程方法:1.输入和输出不明确,或输入与输出因果关系不明确的情况下。
因果图法+判定表+正交试验法⾃我学习(转)1. 因果图法考虑到输⼊组合的情况有3个部分:1. 因=输⼊条件2. 中间结点=输出值必须的前提条件3. 果=输出条件通过有4种符号:1. 恒等,即因=1,果=1;因=0,果=0。
即果跟随因的变化⽽变2. ⾮,即因=1,果=0;因=0,果=1。
即因和果是对⽴的,永远不会统⼀3. 或,即有N个因中有1个因=1(⾄少有2个因),即果=1。
即只要有⼀个因达到规定的需求,果就能出现4. 与,即有N个因中(⾄少有2个因),每因都必须=1,果才会出现。
即只有全部的因都符合条件了,果才会出现与程序语⾔做⽐较:1. 恒等等于=2. ⾮等于!=3. 或等于||4. 与等于&&4种约束条件:1. E(互斥),相当于“⾮”2. I(包含),相当于“或”3. O(惟⼀),表⽰a和b当中必须有⼀个成⽴,且只有⼀个成⽴4. R(要求),相当于“恒等”5. M(屏蔽),表⽰当a=1时,b=0;⽽a=0时,b的值不确定通⽤因果图画法:1. 判定表驱动法由4个部分组成:1. 条件桩:列出问题的所有条件,次序⽆所谓2. 动作桩:列出问题规定可能采取的操作,顺序⽆约束3. 条件项:列出针对该问题所列条件的取值,在所有可能情况下的真假值4. 动作项:列出在条件项的各种取值情况下应该采取的动作5. 规则:任何⼀个条件组合的特定取值及其相应要执⾏的操作因果图与判定表的关系:因果图法是找出因和果,通过因果图转换为判定表1. 正交试验法正交试验设计⽅法是从⼤量的试验数据中挑选适量的、有代表性的点,即使⽤已经造好的表格“—”正交表来安排试验并进⾏数据分析例:为提⾼某化⼯产品的转化率,选择了三个有效因素进⾏条件试验,A=反应温度,B=反应时间,C=⽤碱量,且A:80~90度B:90~150分钟C:5%~7%⽬的:弄清因⼦A,B,C哪个对转化率,是主要的,次要的,从⽽确定最适合的条件,即在试验范围内选取三个⽔平:A:A1=80度,A2=85度,A3=90度B:B1=90分钟,B2=120分钟,B3=150分钟C:C1=5%,C2=6%,C3=7%当然选择因⼦是可以定量的,可以根据因⼦间的各⽔平距离⽽确定第1种—全⾯试验法优点:对各因⼦与指标间的关系剖析的⽐较清楚,但试验次数太多第2种—简单对⽐法1. ⾸先固定B、C于B1、C1,使A变化:B1C1——A1——A2——A3(好结果)若结果A3最好,则固定A于A3,C还是C1,使B变化依次下去对⽐优点:试验次数少,但选战代表性差故:我们就兼顾这2种⽅法的优点。
测试用例设计方法之因果图法与判定表1.因果图法1.1.前言从用自然语言书写的程序规格说明的描述中找出因(输入条件)和果(输出或程序状态的改变),可以通过因果图转换为判定表。
因果图法即因果分析图,又叫特性要因图、石川图或鱼翅图,它是由日本东京大学教授石川馨提出的一种通过带箭头的线,将质量问题与原因之间的关系表示出来,是分析影响产品质量的诸因素之间关系的一种工具。
1.2.定义因果图法是一种适合于描述对于多种输入条件组合的测试方法,根据输入条件的组合、约束关系和输出条件的因果关系,分析输入条件的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件涉及的各种组合情况。
因果图法一般和判定表结合使用,通过映射同时发生相互影响的多个输入来确定判定条件。
因果图法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况。
采用因果图法能帮助我们按照一定的步骤选择一组高效的测试用例,同时,还能指出程序规范中存在什么问题,鉴别和制作因果图。
因果图法着重分析输入条件的各种组合,每种组合条件就是“因”,它必然有一个输出的结果,这就是“果”。
1.3.因果关系因果图的表示中输入与输出间的因果关系有四种:1)恒等关系:当输入条件发生,会产生对应输出,当输入条件不发生时,不会产生都会应输出。
2)非关系:与恒等关系相反。
3)或关系:多个输入条件中,只要有一个发生,则会产生对应输出。
4)与关系:多个输入条件中,只有所有输入项发生时,才会产生对应输出。
特定的符号标明因果关系如下(图1.3.1):图1.3.1因果图的表示中输入与输入间的约束关系有四种:1)异(E):所有输入中至多一个输入条件发生。
2)或(I):所有输入中至少一个输入条件发生。
3)唯一(O):所有输入中有且只有一个输入条件发生。
4)要求(R):所有输入中只有一个输入条件发生,则其它输入也会发生。
特定的符号标明输入与输入间约束关系如下(图1.3.2):图1.3.2因果图的表示中输出条件约束类型(见图1.3.2):1)输出条件的约束只有M约束(强制):若结果a是1,则结果b强制为0。