版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、u 什么是因果图?u 因果图的组成(关系和约束)u 因果图法设计测试用例的步骤u因果图与判定表的关系 引言 等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输未考虑输入条件之间的组合、输入条件之间的相互制约关系入条件之间的组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况都已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。 但要检查输入条件的组合要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多。因此必须考虑采用一种适合于描述对于多种 条件的组合,相应产生多个动作的形式来考虑设计测试测试用例。这就需要利
2、用因果图因果图(逻辑模型)。 因果图法能帮助测试人员按照一定的步骤,高效的开发测试用例,以检测程序输入条件的各种组合情况,它是将自然语言转化为形式语言规格说明的一种严格方法。 注:与判定表法区别?注:与判定表法区别?我们知道,当被测对象的输入条件的时候,适合用判定表法进行测试!练习一某软件的一个模块的需求规格说明书中描述: (1)年薪制员工:年薪制员工:严重过失,扣年终风险金的4%;过失,扣年终风险金的2%。 (2)非年薪制员工:非年薪制员工:严重过失,扣当月薪资的8%;过失,扣当月薪资的4%。 请用判定表法判定表法设计出相应的测试用例。找出条件桩与动作桩根据题意,原因和结果如下: 原因原因结
3、果结果 C1:年薪制员工:年薪制员工 A1:扣年终风:扣年终风险金的险金的4% C2:非年薪制员工:非年薪制员工 A2:扣年终风:扣年终风险金的险金的2% C3:严重过失严重过失 A3:扣当月薪:扣当月薪资的资的8% C4:过失过失 A4:扣当月薪:扣当月薪资的资的4%(1)年薪制员工:严重过失,扣年)年薪制员工:严重过失,扣年终风险金的终风险金的4%;过失,扣年终风;过失,扣年终风险金的险金的2%。(2)非年薪制员工:严重过失,扣)非年薪制员工:严重过失,扣当月薪资的当月薪资的8%;过失,扣当月薪;过失,扣当月薪资的资的4%。 输入条件项和动作项c1:年薪制员工年薪制员工TFTTTFFFTT
4、TFFFTFc2:非年薪制员工非年薪制员工TTFTTFTTFFTFFTFFc3:严重过失严重过失TTTFTTFTFTFFTFFFc4:过失过失TTTTFTTFTFFTFFFFA1:A1:扣年终风险金扣年终风险金的的4%4%A2:A2:扣年终风险金扣年终风险金的的2%2%A3:A3:扣当月薪资的扣当月薪资的8%8%A4:A4:扣当月薪资的扣当月薪资的4%4%存在大量存在大量不可能的情况!不可能的情况!当输入条件过多时,使用判定表会产生大量测试用例,而且也不能表达条件之间的各种(先后)关系。在一定情况下,那还有没有其他适合的方法呢?步骤一:列出原因和结果根据题意,原因和结果如下: 原因原因结果结果
5、 C1:年薪制员工:年薪制员工 A1:扣年终风:扣年终风险金的险金的4% C2:非年薪制员工:非年薪制员工 A2:扣年终风:扣年终风险金的险金的2% C3:严重过失严重过失 A3:扣当月薪:扣当月薪资的资的8% C4:过失过失 A4:扣当月薪:扣当月薪资的资的4%(1)年薪制员工:严重过失,扣年)年薪制员工:严重过失,扣年终风险金的终风险金的4%;过失,扣年终风;过失,扣年终风险金的险金的2%。(2)非年薪制员工:严重过失,扣)非年薪制员工:严重过失,扣当月薪资的当月薪资的8%;过失,扣当月薪;过失,扣当月薪资的资的4%。 步骤2:画出因果图原因原因结果结果 C1:年薪制员工:年薪制员工 A1
6、:扣年终风:扣年终风险金的险金的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
7、:非年薪制员工非年薪制员工TTFFc3:严重过失严重过失FTFTc4:过失过失TFTFA1:A1:扣年终风险金的扣年终风险金的4%4%A2:A2:扣年终风险金的扣年终风险金的2%2%A3:A3:扣当月薪资的扣当月薪资的8%8%A4:A4:扣当月薪资的扣当月薪资的4%4%用例用例员工类型员工类型过失程度过失程度预期输出预期输出1 1年薪制员工严重过失扣年终风险金的4%2 2年薪制员工过失扣年终风险金的2%3 3非年薪制员工严重过失扣当月薪资的8%4 4非年薪制员工过失扣当月薪资的4%步骤5:设计测试用例什么是因果图法? 因果图法因果图法(Cause-Effect Graphics)是一种利用图解
8、法图解法分析输入的各种组合情况输入的各种组合情况,从而设计测试用例的方法。v因果图提供了一个把需求需求转化为判定表的系统化方法v因果图法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况。v原因:输入条件 结果:输出因果图的关系符号因果图中使用简单的关系符号,以直线联接左右结点。 左结点表示输入状态(原因),右结点表示输出状态(结果)。左边的节点表示原因右边的节点表示结果因果图的关系符号v恒等:恒等: 表示原因与结果之间一对一的对应关系。 若原因出现,则结果出现;若原因不出现,则结果也不出现。 如图,若若cici是是1 1,则,则eiei也是也是1 1;否则;否则eiei为为0 0。
9、v非:非: 表示原因与结果之间的一种否定关系。 若原因出现,则结果不出现;若原因不出现,反而结果出现。 如图,若若cici是是1 1,则,则eiei是是0 0;否则;否则eiei是是1 1。 v 4种符号表示4种因果关系:恒等、非、或、与v ci表示原因,通常在图的左部;ei表示结果,通常在图的右部。 ci和ei均可取值0或1,0表示某状态不出现,1表示某状态出现。c1e1恒等恒等c1e1非非因果图的关系符号v或:或: 表示若几个原因中有一个出现,则结果出现;只有当这几个原因都不出现时,结果才不出现。 如图,若若c1c1或或c2c2是是1 1,则,则eiei为为1 1;否则;否则eiei为为0
10、 0。“或”可有任意个输入。c1e1或或c2c3Vc1e1与与c2v与:与: 表示若几个原因都出现,结果才出现;若几个原因中有一个不出现,结果就不出现。 如图,若若c1c1和和c2c2都是都是1 1,则,则eiei为为1 1;否则;否则eiei为为0 0。“与” 可有任意个输入。因果图的约束符号在实际问题当中,输入状态相互之间还可能存在某些依赖关系,称为约束约束。例如,某些输入条件本身不可能同时出现。输出状态之间也往往存在约束。在因果图中,用特定因果图中,用特定的符号标明这些约束。的符号标明这些约束。 因果图的约束符号vE 约束(异约束(异/互斥):互斥):表示几个原因不会同时成立;可能他们都
11、不成立,但最多有一个成立。如图,a和b中至多有一个可能为1,即a和b不能同时为1。 abEacIbvI 约束(或约束(或/包含):包含):表示几个原因中至少有一个必须成立,当然也可能都成立。 如图,a、b和c中至少有一个必须是1,即 a、b 和c不能同时为0。 输入条件的输入条件的 4 种约束类型:种约束类型:(Exclusive)(Exclusive)(In)(In)因果图的约束符号vO 约束(唯一)约束(唯一) :表示几个原因中必须有且仅有一个成立。 如图, a和b必须有一个,且仅有1个为1。vR 约束(要求):约束(要求):表示当a出现时,b必须也出现。如图, a是1时,b必须是1,即不
12、可能a是1时b是0。abOabR(Only)(Only)(Request)(Request)因果图的约束符号vM 约束(屏蔽):约束(屏蔽):表示当a是1时,b必须是0;而当a为0时,b的值不一定abM输出条件的约束类型:输出条件的约束类型:(Mandate)(Mandate)因果图的约束符号约束类型约束类型英文解释英文解释约束说明约束说明E E互斥互斥 Exclusive 排外的原因a和b中至多有一个可能为1,即a和b不能同时为1。I I包含包含 In 在之内原因a、b和c中至少有一个必须是1,即 a、b 和c不能同时为0。O O唯一唯一 Only 唯一原因a和b必须有一个,且仅有1个为1。
13、R R要求要求 Requst 要求原因a是1时,b必须是1,即不可能a是1时b是0。M M屏蔽屏蔽 Mandate 授权;命令结果a是1,则结果b强制为0。因果图中,关系与约束的一样吗?acIbvI 约束(或约束(或/包含):包含): 表示几个原因中至少有一个必须成立,当然也可能都成立。 如图,a、b和c中至少有一个必须是1,即 a、b 和c不能同时为0。 关系与约束的不同!v或:或: 表示若几个原因中有一个出现,则结果出现;只有当这几个原因都不出现时,结果才不出现。 如图,若若c1c1或或c2c2是是1 1,则,则eiei为为1 1;否则;否则eiei为为0 0。“或”可有任意个输入。c1e
14、1或或c2c3V1. 1. 找出输入输出并进行标识找出输入输出并进行标识 因果图法设计用例步骤 2. 2. 分析输入输出的关系分析输入输出的关系 3. 3. 画出因果图画出因果图 4. 4. 因果图转换为判定表因果图转换为判定表 5 5. . 生成测试用例生成测试用例转换转换输出输出关联关联分析分析需求需求因果图法设计用例的步骤1. 分析软件需求规格需求规格说明中哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。2.2. 分析分析软件规格说明中的语义,找出原因与结果之间、原因与原因之间对应的关系, 根据这些关系画出因果图。3. 由于语法或环
15、境的限制,有些原因与原因之间、原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号表明约束或限制条件约束或限制条件。4. 把因果图转换转换为判定表。5. 根据判定表中的每一列设计设计测试用例。案例一某软件的一个模块的需求规格说明书中描述: (1)年薪制员工:年薪制员工:严重过失,扣年终风险金的4%;过失,扣年终风险金的2%。 (2)非年薪制员工:非年薪制员工:严重过失,扣当月薪资的8%;过失,扣当月薪资的4%。 请绘制出因果图和判定表,并给出相应的测试用例。步骤1:分析原因和结果根据题意,原因和结果如下: 原因原因结果结果 C1:年薪制员工:年薪制员工 A1:扣年终风:
16、扣年终风险金的险金的4% C2:非年薪制员工:非年薪制员工 A2:扣年终风:扣年终风险金的险金的2% C3:严重过失严重过失 A3:扣当月薪:扣当月薪资的资的8% C4:过失过失 A4:扣当月薪:扣当月薪资的资的4%(1)年薪制员工:严重过失,扣年)年薪制员工:严重过失,扣年终风险金的终风险金的4%;过失,扣年终风;过失,扣年终风险金的险金的2%。(2)非年薪制员工:严重过失,扣)非年薪制员工:严重过失,扣当月薪资的当月薪资的8%;过失,扣当月薪;过失,扣当月薪资的资的4%。 步骤2:画出因果图原因原因结果结果 C1:年薪制员工:年薪制员工 A1:扣年终风:扣年终风险金的险金的4% C2:非年
17、薪制员工:非年薪制员工 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:严重过失
18、严重过失FTFTc4:过失过失TFTFA1:A1:扣年终风险金的扣年终风险金的4%4%A2:A2:扣年终风险金的扣年终风险金的2%2%A3:A3:扣当月薪资的扣当月薪资的8%8%A4:A4:扣当月薪资的扣当月薪资的4%4%用例用例A Ab b预期输出预期输出1 1年薪制员工年薪制员工严重过失严重过失扣年终风险金的扣年终风险金的4%4%2 2年薪制员工年薪制员工过失过失扣年终风险金的扣年终风险金的2%2%3 3非年薪制员工非年薪制员工严重过失严重过失扣当月薪资的扣当月薪资的8%8%4 4非年薪制员工非年薪制员工过失过失扣当月薪资的扣当月薪资的4%4%步骤5:设计测试用例因果图法与判定表法的关系?
19、不同角度不同角度因果图法因果图法判定表法判定表法联系联系位置位置黑盒测试技术中,设计测试用例的方法适用于适用于程序的输入条件存在不同的组合,执行相应的操作弥补了等价类、边界值的不足基本思想基本思想把程序功能的描述性语言形象的图表(直观、清晰)使用使用二者往往结合使用,使用因果图可以得到判定表,它可以看作判定表法的前期阶段,也可以直接应用判定表。区别区别定义定义用于描述输入之间,输入输出之间的约束关系约束关系和因果因果关系关系用于表达多逻辑条件下执行不同操作的情况的工具本质本质考虑输入条件之间的联系联系、各种组合,相应产生多个动作。考虑输入条件之间的各种组合,相应产生多个动作。当输入当输入条件条
20、件过多过多时时用例数量用例数量相对少(无效用例)可以覆盖到条件之间的先后关系先后关系会产生大量测试用例不能覆盖条件之间的先后关系因果图与判定表的选择v考虑条件和动作间的联系先使用因果图v如果需求是以判定表形式给出的、项目在设计阶段就采用了判定表直接用判定表设计测试用例案例2某软件规格说明书包含这样的要求:第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改,但如果第一列字符不正确,则给出信息N;如果第二列字符不是数字,则给出信息M。用因果图法测试上述程序。步骤1:分析原因和结果 根据题意,原因和结果如下: 原因原因结果结果 c1:第一个:第一个字符是字符是A e1:给出信
21、:给出信息息N c2:第一个:第一个字符是字符是B e2:修改文:修改文件件 c3:第二个:第二个字符是一个数字符是一个数字字 e3:给出信:给出信息息M某软件规格说明书包含这样的某软件规格说明书包含这样的要求:第一列字符必须是要求:第一列字符必须是A或或B,第二列字符必须是一个数字,第二列字符必须是一个数字,在此情况下进行文件的修改,在此情况下进行文件的修改,但如果第一列字符不正确,则但如果第一列字符不正确,则给出信息给出信息N;如果第二列字符不;如果第二列字符不是数字,则给出信息是数字,则给出信息M。步骤2:画出因果图10为中间节点。c1c2c3e110e2e3步骤3:施加相应的约束 考虑
22、到原因1和原因2不可能同时为1,因此在因果图上施加E约束; 10为中间节点。c1c2c3e110e2e3E步骤4 :将因果图转换为决策表 规则规则桩桩12345678条件条件C111110000C211001100C31010101010111100动作动作e1000011e2101000e3010101不可能不可能11测试用例测试用例A5A#B9B?X2Y%步骤5:根据决策表设计测试用例编号编号输入数据输入数据预期输出预期输出TC1A5修改文件修改文件TC 2A#给出信息给出信息MTC 3B9修改文件修改文件TC 4B?给出信息给出信息MTC 5X2给出信息给出信息NTC 6Y%给出信息给出
23、信息N和信息和信息M案例3例如,有一个饮料自动售货机(处理单价为5元)的控制处理软件,它的软件规格说明如下:若投入5元钱,按下“橙汁”或“啤酒”的按钮,则相应的饮料就送出来。若投入10元钱,同样也是按“橙汁”或“啤酒”的按钮,则自动售货机在送出相应饮料的同时退回5元钱。试绘制上述程序的因果图并转化为相应的决策表。步骤1:分析原因和结果 根据题意,原因和结果如下: 原因原因结果结果 1:投入投入10元元 21:退还退还5元元 2:投入投入5元元 22:送出送出“橙汁橙汁” 3:按下按下“橙橙汁汁”按钮按钮 23:送出送出“啤酒啤酒” 4:按下按下“啤啤酒酒”按钮按钮 若投入若投入5元钱,按下元钱
24、,按下“橙汁橙汁”或或“啤酒啤酒”的按钮,则相应的的按钮,则相应的饮料就送出来。若投入饮料就送出来。若投入10元钱元钱的硬币,同样也是按的硬币,同样也是按“橙汁橙汁”或或“啤酒啤酒”的按钮,则自动售的按钮,则自动售货机在送出相应饮料的同时退货机在送出相应饮料的同时退回回5元钱。元钱。步骤2:画出因果图11、12为中间节点。投入10元投入5元退换5元步骤3:施加相应的约束投入10元投入5元退换5元步骤4 将因果图转换为决策表 投入投入10元元投入投入5元元退还退还5元元案例4 三角问题绘制三角问题的因果图并转化为相应的决策表。步骤1:分析原因和结果 根据题意,原因和结果如下: 原因原因结果结果1
25、:A B+C 21:不能构成三角形:不能构成三角形2:B A+C 22:等边等边三角形三角形3:C A+B 23:等腰三角形等腰三角形4:A = B 24:一般:一般三角形三角形5:A = C6:B = C 步骤2:画出因果图10、11、12为中间节点。原因原因结果结果1:A B+C 21:不能构成三:不能构成三角形角形2:B A+C 22:等边等边三角形三角形3:C A+B 23:等腰三角形等腰三角形4:A = B 24:一般:一般三角形三角形5:A = C6:B = C 12211024226543111223步骤2:画出因果图10、11、12为中间节点。原因原因结果结果1:A B+C 2
26、1:不能构成三:不能构成三角形角形2:B A+C 22:等边等边三角形三角形3:C A+B 23:等腰三角形等腰三角形4:A = B 24:一般:一般三角形三角形5:A = C6:B = C 12211024226543111223步骤3:施加相应的约束原因原因结果结果1:A B+C 21:不能构成:不能构成三角形三角形2:B A+C 22:等边等边三角三角形形3:C A+B 23:等腰三角等腰三角形形4:A = B 24:一般:一般三角三角形形5:A = C6:B = C M12211024226543111223对于条件4:A = B, 5:A = C,6:B = C,不可能两个成立,另一
27、个不成立的约束如何添加?重回步骤1:分析原因和结果根据题意,原因和结果如下: 原因原因结果结果1:A B+C 21:不能构成三角形:不能构成三角形2:B A+C 22:等边等边三角形三角形3:C A+B 23:等腰三角形等腰三角形4:A = B 24:一般:一般三角形三角形5:A = C 25:不可能:不可能6:B = C 步骤2:画出因果图10、11、12、13、14、15为中间节点。6541314251512211024226543111223步骤3:施加相应的约束65413142515M12211024226543111223步骤4: 将因果图转换为决策表 1:ab+c?FTTTTTTT
28、TTT2:ba+c?-FTTTTTTTTT3:Ca+b?-FTTTTTTTT4:a=b?-TTTTFFFF5:a=c?-TTFFTTFF6:b=c?-TFTFTFTF21:21:非三角形非三角形24:24:一般三角形一般三角形23:23:等腰三角形等腰三角形22:22:等边三角形等边三角形2525:不可能:不可能步骤5 :根据决策表设计测试用例用例用例IDabc预期输出预期输出DT1412非三角形非三角形DT2142非三角形非三角形DT3124非三角形非三角形DT4555等边三角形等边三角形DT5?不可能不可能DT6?不可能不可能DT7223等腰三角形等腰三角形DT8?不可能不可能DT9232
29、等腰三角形等腰三角形DT10322等腰三角形等腰三角形DT11345一般三角形一般三角形课堂练习根据中国象棋中走马的规则绘制因果图,走马的规则如下:1、如果落点在棋盘外,则不移动棋子;2、如果落点与起点不构成日字型,则不移动棋子;3、如果落点处有自己方棋子,则不移动棋子;4、如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子;5、如果不属于1-4条,且落点处无棋子,则移动棋子;6、如果不属于1-4条,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子;7、如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。步骤1:分析原因和结果根据题意,原因和结果如下: 结果:结果: 21、不移动棋子;、不移动棋子;22、移动棋子;、移动棋子;23、移动棋子,并除去对方棋子;、移动棋子,并除去对方棋子;24、移动棋子,并提示战胜对方,结、移动棋子,并提示战胜对方,结束游戏。束游戏。 原因:原因:1、落点在棋盘外;、落点在棋盘外;2、落点与起点不
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年温州大客车从业资格证考试试题
- 2024年迪庆客运资格证考试题库下载
- 人教部编版二年级语文上册第22课《狐假虎威》精美课件
- 吉首大学《建筑设计Ⅴ》2021-2022学年第一学期期末试卷
- 吉首大学《场景设计》2021-2022学年第一学期期末试卷
- 《机床夹具设计》试卷17
- 吉林艺术学院《艺术批评写作》2021-2022学年第一学期期末试卷
- 吉林艺术学院《全媒体文案创意写作》2021-2022学年第一学期期末试卷
- 签订宴会厅协议书范本范本
- 吉林艺术学院《CG模型设计》2021-2022学年第一学期期末试卷
- 化工厂设计车间布置设计
- 幼儿园故事《水果屋》
- 工程设备采购方案(模板16篇)
- 工业产品质量安全风险管控清单及日管控、周排查、月调度记录表
- 【新能源汽车的成本控制与盈利能力-以比亚迪公司为例(论文)】
- WICH-01-04(01)-热食类工艺流程图及流程描述
- T-STSI 43-2023 人工智能算力资源池技术规范
- 特种作业安全监护人员培训
- 篮球智慧树知到课后章节答案2023年下浙江大学
- 各种泥浆处理剂性能简介
- 部编人教版四年级上册语文 第四单元核心考点清单
评论
0/150
提交评论