第05章、使用因果图和判定表方法设计测试用例
- 格式:pdf
- 大小:1.40 MB
- 文档页数:94
目录用例名称 (1)测试摘要 (1)测试用例 (2)1.1用例集合FirstTest (2)1.1.1标识 (2)1.1.2说明 (2)1.1.3数据 (2)1.2用例集合SecondTest (3)1.2.1标识 (3)1.2.2说明 (3)1.2.3数据 (3)用例名称基于单项模块的因果图测试用例测试摘要本测试使用手工测试,针对单项模块进行功能测试。
本阶段测试属于单元测试,测试采用黑盒测试。
本阶段测试工作的进行,依赖的软硬件配置和资料文档包括:1.Nunit自动化测试工具2.完成编译/未经编译的被测程序模块××.dll/.cs3.被测程序模块规格说明文档《×××》4.项目术语字典、用户需求说明书、概要设计说明书等其他辅助资料。
测试用例1.1某软件模块用例集合1.1.1 标识1.1.2 说明本测试用例集合的设计,采用因果图法;现针对被测模块中的某一项功能进行测试验证。
1.1.3 数据因果表原因结果C1:年薪制员工 E1:扣年终风险金的4% C2:非年薪制员工 E2:扣年终风险金的2% C3:严重过失 E3:扣当月薪资的8% C4:过失E4:扣当月薪资的4%因果图^^用例决策表编写人员 王金玲 编写日期30/3/2012C1C2C3C4E1 E2E3E4^^规则 选择1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 条件C111 1 1 1 1 1 1 0 0 0 0 0 0 0 0 C2 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 C3 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0C41 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 动作 E1 1 1 0 0 0 0 0 E2 0 0 1 1 0 0 0 E30 0 0 0 1 1 0 E41用例 编号 1.1 1.2 1.3 1.4 1.5 1.6 1.7测试 用例 C1.C2.C3 C1.C3 C1.C4 C1 C2.C3.C4 C2.C3 C2.C4预期 输出E1 E1 E2 E2 E3 E3 E41.2自动售货机用例集合1.2.1 标识1.2.2 说明本测试用例集合的设计,采用因果图法;现针对被测模块中的××功能进行测试验证。
测试⽤例设计⽅法之判定表和因果图⼀、判定表等价类边界值分析法主要关注单个或者多个输⼊类条件的测试,并未考虑到输⼊条件之间的各种组合,输⼊条件与输出结果之间有相互制约关系的测试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.因果图法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。
第三部分任务3-3附2因果图法附2作业:因果图法测试作业.1、象棋游戏规则(针对棋子“馬”):1)如果落点在棋盘外,则不移动棋子2)如果落点与起点不构成日字型,则不移动棋子。
3)如果落点处有自己方棋子,则不移动棋子。
4)如果落点方向的临近交叉点有棋子(绊马腿),则不移动棋子。
5)如果不属于1-4条,且落点处无棋子,则移动棋子。
6)如果不属于1-4条,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子。
7)如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。
(1)使用因果图法列出原因和结果(2)画出因果图,修改为最简洁的图。
注意分析原因之间、结果之间是否有约束关系。
(3)根据因果图列出判定表(4)根据判定表的中得出的输入数据,写出规范的。
参考步骤:(1)分析数据原因:1————2————。
结果:A————B————。
(2)因果图(3)判定表(4)测试用例测试用例格式可参照下表2(附加)、有一个处理单价为5角钱的饮料的自动售货机,相应规格说明如下:若投入5角钱或1元钱的硬币,按下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。
(每次只投入一个硬币,只押下一种饮料的按钮)如投入5角的硬币,按下按钮后,总有饮料送出。
若售货机没有零钱找,则一个显示〖零钱找完〗的红灯会亮,这时再投入1元硬币并按下按钮后,饮料不送出来而且1元硬币也退出来。
若有零钱找,则显示〖零钱找完〗的红灯不会亮,若投入 1元硬币及按饮料按钮,则送出饮料的同时找回5角硬币。
(1)使用因果图法列出原因和结果(2)画出因果图,修改为最简洁的图。
注意分析原因之间、结果之间是否有约束关系。
(3)根据因果图列出判定表(4)根据判定表的中得出的输入数据,写出规范的测试用例。
参考步骤:(1)分析数据原因:1————2————。
结果:A————B————。
(5)因果图(6)判定表(7)测试用例测试用例格式可参照下表。
因果图法设计测试⽤例等价类划分法、边界值分析法及错误推断法在对输⼊条件的考虑中并未重视输⼊条件的组合。
事实上,当输⼊条件存在若⼲种可能的组合时,必须对这些组合加以考虑,以证实测试程序在某种输⼊组合的情况下恩能否完成规格说明书中预先规定的功能,否则所做的测试是不充分的。
因果图(Cuase-effect Graph)是⼀种描述输⼊条件的组合及每种组合对应的输出的图形化⼯具。
在因果图的基础上可以设计测试⽤例。
因果图的画法:(a)恒等。
若原因出现,则结果出现;若原因不出现,则结果不出现。
(b)⾮。
若原因出现,则结果不出现;若原因不出现,则结果出现。
(c)或。
若⼏个原因中有⼀个出现,则结果出现;若⼏个原因均不出现,则结果不出现。
(d)与。
若⼏个原因都出现,结果才出现;若⼏个原因中有⼀个不出现,则结果不出现。
为了表⽰因果图中的约束条件,可⽤⼀些符号在因果图中加以标识。
从原因⽅⾯考虑主要有4种约束条件:(a)E(互斥、排他)。
a、b两个原因不会同时出现,最多只有⼀个出现。
(b)I(包含、或)。
a、b、c三个原因⾄少有⼀个出现。
(c)O(唯⼀)。
a、b两个原因必须有⼀个出现,且仅有⼀个出现。
(d)R(需求)。
a出现时b必定出现。
从结果⽅⾯考虑主要有1种约束条件:(a)M(屏蔽)。
a出现时,b必定不出现;a不出现时,b则不确定。
利⽤因果图设计测试⽤例应遵循的步骤:1)分析程序的规格说明书中哪些事原因,哪些是结果。
所谓原因,是指输⼊条件或输⼊条件的等价类,⽽结果是指输出条件。
给每⼀个原因和结果赋⼀个标识符。
2)分析程序规格说明书中的语义,确定原因与原因,原因与结果之间的关系,画出因果图。
3)由于语法环境的限制,⼀些原因与原因之间,原因与结果之间的组合不能出现。
对于这些特殊情况,在因果图中⽤⼀些记号标明约束或限制条件。
4)将因果图转化为判定表。
5)根据判定表的没⼀列设计测试⽤例。
当然,若能直接得到判定表,可以直接根据判定表设计测试⽤例。