版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
因果图法学习目标什么是因果图?因果图的组成(关系和约束)因果图法设计测试用例的步骤因果图与判定表的关系引言等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况都已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。
但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多。因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例。这就需要利用因果图(逻辑模型)。因果图法能帮助测试人员按照一定的步骤,高效的开发测试用例,以检测程序输入条件的各种组合情况,它是将自然语言转化为形式语言规格说明的一种严格方法。
注:与判定表法区别?我们知道,当被测对象的输入条件相互依赖、相互制约的时候,适合用判定表法进行测试!练习一某软件的一个模块的需求规格说明书中描述:(1)年薪制员工:严重过失,扣年终风险金的4%;过失,扣年终风险金的2%。(2)非年薪制员工:严重过失,扣当月薪资的8%;过失,扣当月薪资的4%。请用判定表法设计出相应的测试用例。找出条件桩与动作桩根据题意,原因和结果如下:
原因结果C1:年薪制员工A1:扣年终风险金的4%C2:非年薪制员工A2:扣年终风险金的2%C3:严重过失A3:扣当月薪资的8%C4:过失A4:扣当月薪资的4%(1)年薪制员工:严重过失,扣年终风险金的4%;过失,扣年终风险金的2%。(2)非年薪制员工:严重过失,扣当月薪资的8%;过失,扣当月薪资的4%。输入条件项和动作项c1:年薪制员工TFTTTFFFTTTFFFTFc2:非年薪制员工TTFTTFTTFFTFFTFFc3:严重过失TTTFTTFTFTFFTFFFc4:过失TTTTFTTFTFFTFFFFA1:扣年终风险金的4%√A2:扣年终风险金的2%√A3:扣当月薪资的8%√A4:扣当月薪资的4%√存在大量不可能的情况!
当输入条件过多时,使用判定表会产生大量测试用例,而且也不能表达条件之间的各种(先后)关系。
在一定情况下,那还有没有其他适合的方法呢?因果图法步骤一:列出原因和结果根据题意,原因和结果如下:
原因结果C1:年薪制员工A1:扣年终风险金的4%C2:非年薪制员工A2:扣年终风险金的2%C3:严重过失A3:扣当月薪资的8%C4:过失A4:扣当月薪资的4%(1)年薪制员工:严重过失,扣年终风险金的4%;过失,扣年终风险金的2%。(2)非年薪制员工:严重过失,扣当月薪资的8%;过失,扣当月薪资的4%。步骤2:画出因果图原因结果C1:年薪制员工A1:扣年终风险金的4%C2:非年薪制员工A2:扣年终风险金的2%C3:严重过失A3:扣当月薪资的8%C4:过失A4:扣当月薪资的4%步骤3:施加相应的约束原因结果C1:年薪制员工A1:扣年终风险金的4%C2:非年薪制员工A2:扣年终风险金的2%C3:严重过失A3:扣当月薪资的8%C4:过失A4:扣当月薪资的4%步骤4:将因果图转换为决策表c1:年薪制员工FFTTc2:非年薪制员工TTFFc3:严重过失FTFTc4:过失TFTFA1:扣年终风险金的4%√A2:扣年终风险金的2%√A3:扣当月薪资的8%√A4:扣当月薪资的4%√用例员工类型过失程度预期输出1年薪制员工严重过失扣年终风险金的4%2年薪制员工过失扣年终风险金的2%3非年薪制员工严重过失扣当月薪资的8%4非年薪制员工过失扣当月薪资的4%步骤5:设计测试用例什么是因果图法?因果图法(Cause-EffectGraphics)是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法。因果图提供了一个把需求转化为判定表的系统化方法因果图法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况。原因:输入条件结果:输出因果图的关系符号因果图中使用简单的关系符号,以直线联接左右结点。
左结点表示输入状态(原因),右结点表示输出状态(结果)。左边的节点表示原因右边的节点表示结果因果图的关系符号恒等:
表示原因与结果之间一对一的对应关系。
若原因出现,则结果出现;若原因不出现,则结果也不出现。如图,若ci是1,则ei也是1;否则ei为0。非:
表示原因与结果之间的一种否定关系。
若原因出现,则结果不出现;若原因不出现,反而结果出现。如图,若ci是1,则ei是0;否则ei是1。
4种符号表示4种因果关系:恒等、非、或、与
ci表示原因,通常在图的左部;ei表示结果,通常在图的右部。
ci和ei均可取值0或1,0表示某状态不出现,1表示某状态出现。c1e1恒等c1e1非因果图的关系符号或:表示若几个原因中有一个出现,则结果出现;只有当这几个原因都不出现时,结果才不出现。
如图,若c1或c2是1,则ei为1;否则ei为0。“或”可有任意个输入。c1e1或c2c3Vc1e1与c2∧与:表示若几个原因都出现,结果才出现;若几个原因中有一个不出现,结果就不出现。
如图,若c1和c2都是1,则ei为1;否则ei为0。“与”可有任意个输入。因果图的约束符号在实际问题当中,输入状态相互之间还可能存在某些依赖关系,称为约束。例如,某些输入条件本身不可能同时出现。输出状态之间也往往存在约束。在因果图中,用特定的符号标明这些约束。因果图的约束符号E约束(异/互斥):表示几个原因不会同时成立;可能他们都不成立,但最多有一个成立。
如图,a和b中至多有一个可能为1,即a和b不能同时为1。
abEacIbI约束(或/包含):表示几个原因中至少有一个必须成立,当然也可能都成立。
如图,a、b和c中至少有一个必须是1,即a、b和c不能同时为0。
输入条件的4种约束类型:(Exclusive)(In)因果图的约束符号O约束(唯一):表示几个原因中必须有且仅有一个成立。
如图,
a和b必须有一个,且仅有1个为1。R约束(要求):表示当a出现时,b必须也出现。如图,a是1时,b必须是1,即不可能a是1时b是0。abOabR(Only)(Request)因果图的约束符号M约束(屏蔽):表示当a是1时,b必须是0;而当a为0时,b的值不一定abM输出条件的约束类型:(Mandate)因果图的约束符号约束类型英文解释约束说明E互斥Exclusive
排外的原因a和b中至多有一个可能为1,即a和b不能同时为1。I包含In
在…之内原因a、b和c中至少有一个必须是1,即a、b和c不能同时为0。O唯一Only
唯一原因a和b必须有一个,且仅有1个为1。R要求Requst
要求原因a是1时,b必须是1,即不可能a是1时b是0。M屏蔽Mandate
授权;命令结果a是1,则结果b强制为0。因果图中,关系与约束的一样吗?
acIbI约束(或/包含):表示几个原因中至少有一个必须成立,当然也可能都成立。
如图,a、b和c中至少有一个必须是1,即a、b和c不能同时为0。
关系与约束的不同!或:表示若几个原因中有一个出现,则结果出现;只有当这几个原因都不出现时,结果才不出现。
如图,若c1或c2是1,则ei为1;否则ei为0。“或”可有任意个输入。c1e1或c2c3V1.找出输入输出并进行标识
因果图法设计用例步骤2.分析输入输出的关系
3.画出因果图
4.因果图转换为判定表
5.生成测试用例转换输出关联分析需求因果图法设计用例的步骤分析软件需求规格说明中哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。分析软件规格说明中的语义,找出原因与结果之间、原因与原因之间对应的关系,根据这些关系画出因果图。由于语法或环境的限制,有些原因与原因之间、原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号表明约束或限制条件。把因果图转换为判定表。根据判定表中的每一列设计测试用例。案例一某软件的一个模块的需求规格说明书中描述:(1)年薪制员工:严重过失,扣年终风险金的4%;过失,扣年终风险金的2%。(2)非年薪制员工:严重过失,扣当月薪资的8%;过失,扣当月薪资的4%。请绘制出因果图和判定表,并给出相应的测试用例。步骤1:分析原因和结果根据题意,原因和结果如下:
原因结果C1:年薪制员工A1:扣年终风险金的4%C2:非年薪制员工A2:扣年终风险金的2%C3:严重过失A3:扣当月薪资的8%C4:过失A4:扣当月薪资的4%(1)年薪制员工:严重过失,扣年终风险金的4%;过失,扣年终风险金的2%。(2)非年薪制员工:严重过失,扣当月薪资的8%;过失,扣当月薪资的4%。步骤2:画出因果图原因结果C1:年薪制员工A1:扣年终风险金的4%C2:非年薪制员工A2:扣年终风险金的2%C3:严重过失A3:扣当月薪资的8%C4:过失A4:扣当月薪资的4%步骤3:施加相应的约束原因结果C1:年薪制员工A1:扣年终风险金的4%C2:非年薪制员工A2:扣年终风险金的2%C3:严重过失A3:扣当月薪资的8%C4:过失A4:扣当月薪资的4%步骤4:将因果图转换为决策表c1:年薪制员工FFTTc2:非年薪制员工TTFFc3:严重过失FTFTc4:过失TFTFA1:扣年终风险金的4%√A2:扣年终风险金的2%√A3:扣当月薪资的8%√A4:扣当月薪资的4%√用例Ab预期输出1年薪制员工严重过失扣年终风险金的4%2年薪制员工过失扣年终风险金的2%3非年薪制员工严重过失扣当月薪资的8%4非年薪制员工过失扣当月薪资的4%步骤5:设计测试用例因果图法与判定表法的关系?
不同角度因果图法判定表法联系位置黑盒测试技术中,设计测试用例的方法适用于程序的输入条件存在不同的组合,执行相应的操作弥补了等价类、边界值的不足基本思想把程序功能的描述性语言形象的图表(直观、清晰)使用二者往往结合使用,使用因果图可以得到判定表,它可以看作判定表法的前期阶段,也可以直接应用判定表。区别定义用于描述输入之间,输入输出之间的约束关系和因果关系用于表达多逻辑条件下执行不同操作的情况的工具本质考虑输入条件之间的联系、各种组合,相应产生多个动作。考虑输入条件之间的各种组合,相应产生多个动作。当输入条件过多时用例数量相对少(无效用例)
可以覆盖到条件之间的先后关系会产生大量测试用例
不能覆盖条件之间的先后关系因果图与判定表的选择考虑条件和动作间的联系——先使用因果图如果需求是以判定表形式给出的、项目在设计阶段就采用了判定表——直接用判定表设计测试用例案例2某软件规格说明书包含这样的要求:第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改,但如果第一列字符不正确,则给出信息N;如果第二列字符不是数字,则给出信息M。用因果图法测试上述程序。步骤1:分析原因和结果根据题意,原因和结果如下:
原因结果c1:第一个字符是Ae1:给出信息Nc2:第一个字符是Be2:修改文件c3:第二个字符是一个数字e3:给出信息M
某软件规格说明书包含这样的要求:第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改,但如果第一列字符不正确,则给出信息N;如果第二列字符不是数字,则给出信息M。步骤2:画出因果图10为中间节点。c1c2c3e110e2e3~∨~∧步骤3:施加相应的约束考虑到原因1和原因2不可能同时为1,因此在因果图上施加E约束;10为中间节点。c1c2c3e110e2e3~∨E~∧步骤4:将因果图转换为决策表
规则桩12345678条件C111110000C211001100C31010101010111100动作e1000011e2101000e3010101不可能11测试用例A5A#B9B?X2Y%步骤5:根据决策表设计测试用例编号输入数据预期输出TC1A5修改文件TC2A#给出信息MTC3B9修改文件TC4B?给出信息MTC5X2给出信息NTC6Y%给出信息N和信息M案例3例如,有一个饮料自动售货机(处理单价为5元)的控制处理软件,它的软件规格说明如下:若投入5元钱,按下“橙汁”或“啤酒”的按钮,则相应的饮料就送出来。若投入10元钱,同样也是按“橙汁”或“啤酒”的按钮,则自动售货机在送出相应饮料的同时退回5元钱。试绘制上述程序的因果图并转化为相应的决策表。步骤1:分析原因和结果根据题意,原因和结果如下:
原因结果1:投入10元21:退还5元2:投入5元22:送出“橙汁”3:按下“橙汁”按钮23:送出“啤酒”4:按下“啤酒”按钮
若投入5元钱,按下“橙汁”或“啤酒”的按钮,则相应的饮料就送出来。若投入10元钱的硬币,同样也是按“橙汁”或“啤酒”的按钮,则自动售货机在送出相应饮料的同时退回5元钱。步骤2:画出因果图11、12为中间节点。投入10元投入5元退换5元步骤3:施加相应的约束投入10元投入5元退换5元步骤4将因果图转换为决策表投入10元投入5元退还5元案例4三角问题绘制三角问题的因果图并转化为相应的决策表。步骤1:分析原因和结果根据题意,原因和结果如下:
原因结果1:A<B+C21:不能构成三角形2:B<A+C22:等边三角形3:C<A+B23:等腰三角形4:A=B24:一般三角形5:A=C6:B=C
步骤2:画出因果图10、11、12为中间节点。原因结果1:A<B+C21:不能构成三角形2:B<A+C22:等边三角形3:C<A+B23:等腰三角形4:A=B24:一般三角形5:A=C6:B=C
1221102422~∧654311∧12∨23~∧∧∧~~∨步骤2:画出因果图10、11、12为中间节点。原因结果1:A<B+C21:不能构成三角形2:B<A+C22:等边三角形3:C<A+B23:等腰三角形4:A=B24:一般三角形5:A=C6:B=C
1221102422~∧654311∧12∨23~∧∧∧~~∨步骤3:施加相应的约束原因结果1:A<B+C21:不能构成三角形2:B<A+C22:等边三角形3:C<A+B23:等腰三角形4:A=B24:一般三角形5:A=C6:B=C
M1221102422~∧654311∧12∨23~∧∧∧~~∨
对于条件4:A=B,5:A=C,6:B=C,不可能两个成立,另一个不成立的约束如何添加?重回步骤1:分析原因和结果根据题意,原因和结果如下:
原因结果1:A<B+C21:不能构成三角形2:B<A+C22:等边三角形3:C<A+B23:等腰三角形4:A=B24:一般三角形5:A=C
25:不可能6:B=C
步骤2:画出因果图10、11、12、13、14、15为中间节点。65413∧142515∧∧~~~∨1221102422~∧654311∧12∨23~∧∧∧~~∨步骤3:施加相应的约束65413∧142515∧∧~~~∨M1221102422~∧654311∧12∨23~∧∧∧~~∨步骤4:
将因果图转换为决策表1:a<b+c?FTTTTTTTTTT2:b<a+c?-FTTTTTTTTT3:C<a+b?--FTTTTTTTT4:a=b?---TTTTFFFF5:a=c?---TTFFTTFF6:b=c?---TFTFTFTF21:非三角形√√√24:一般三角形√23:等腰三角形√√√22:等边三角形√25:不可能√√√步骤5:根据决策表设计测试用例用例IDabc预期输出DT1412非三角形DT2142非三角形DT3124非三角形DT4555等边三角形DT5???不可能DT6???不可能DT7223等腰三角形DT8???不可能DT9232等腰三角形DT10322等腰三角形DT11345一般三角形课堂练习根据中国象棋中走马的规则绘制因果图,走马的规则如下:1、如果落点在棋盘外,则不移动棋子;2、如果落点与起点不构成日字型,则不移动棋子;3、如果落点处有自己方棋子,则不移动棋子;4、如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子;5、如果不属于1-4条,且落点处无棋子,则移动棋子;6、如果不属于1-4条,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子;7、如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。步骤1:分析原因和结果根据题意,原因和结果如下:
结果:21、不移动棋子;22、移动棋子;23、移动棋子,并除去对方棋子;24、移动棋子,并提示战胜对方,结束游戏。原因:1、落点在棋盘外;2、落点与起点不构成日字;3、落点处有自己方棋子;4、落点方向的邻近交叉点有棋子(绊马腿);5、落点处无棋子;6、落点处为对方棋子(非老将);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 无线网络安全配置课程设计
- SolidWorks减速器动力学模拟课程设计
- iptables日志分析课程设计
- 时间序列ARIMA模型预测进阶课课程设计
- 真空电子器件化学零件制造工风险评估知识考核试卷含答案
- 保温材料原料工岗前工作意识考核试卷含答案
- 远离心理阴影阳光心态相伴行小学生主题班会课件
- 碳酸二甲酯装置操作工安全知识宣贯能力考核试卷含答案
- 智慧校园建设责任书6篇范文
- 高效时间管理与多任务处理能力指南
- 霍乱防治培训课件
- 中医治疗高血脂课件图片
- (高清版)DB13∕T 2386-2016 民用建筑太阳能供热采暖工程技术规程
- 中国音乐史试题及答案
- 河北石家庄文旅投建设集团有限公司招聘笔试题库2025
- 住院费用清单2
- 变电站工程强制条文执行计划(最终版)(一)
- 申报专业答辩
- PEP四年级下册英语第五单元试卷及答案
- (正式版)QBT 2570-2024 贴标机
- RTK道路放样培训
评论
0/150
提交评论