《测试方法因果图法.ppt》由会员分享,可在线阅读,更多相关《测试方法因果图法.ppt(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、关于测试方法因果图法现在学习的是第1页,共40页因果图法产生的背景因果图法产生的背景 等价类划分法和边界值分析方法都是等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。来可能出错的情况却被忽视了。现在学习的是第2页,共40页因果图法设计测试用例思想因果图法设计测试用例思想首先从程序规格说明书的描述中首
2、先从程序规格说明书的描述中,找出找出因因(输入条件输入条件)和和果果(输出结果输出结果或者程序状态的改变或者程序状态的改变),然后通过因果图转换为判定表然后通过因果图转换为判定表,最最后为判定表中的每一列设计一个后为判定表中的每一列设计一个测试用例测试用例.现在学习的是第3页,共40页因果图法的定义:因果图法的定义:是是一一种种利利用用图图解解法法分分析析输输入入的的各各种种组组合合情情况况,从从而而设设计计测测试试用用例例的的方方法法,它它适适合合于于检检查查程程序序输输入入条条件件的的各种组合情况。各种组合情况。现在学习的是第4页,共40页因果图中出现的基本符号因果图中出现的基本符号原因原
3、因结果结果n n通常在因果图中用通常在因果图中用Ci表示原因,用表示原因,用Ei表表示结果,各结点表示状态,可取值示结果,各结点表示状态,可取值“0”或或“1”。“0”表示某状态不出现,表示某状态不出现,“1”表表示某状态出现。示某状态出现。现在学习的是第5页,共40页主要的原因与结果之间的关系主要的原因与结果之间的关系c1e1c1e1c2e1c1c3Vc2e1c1V(a)恒等(b)非(c)或(d)与现在学习的是第6页,共40页恒等:若恒等:若c1是是1,则,则e1也为也为1,否,否则则e1为为0;c1e1现在学习的是第7页,共40页l非:若非:若c1是是1,则,则e1为为0,否则,否则e1为
4、为1;c1e1现在学习的是第8页,共40页或:若或:若c1或或c2或或c3是是1,则,则e1是是1,否则,否则e1为为0,“或或”可有任意个可有任意个输入;输入;c2e1c1c3V现在学习的是第9页,共40页与:若与:若c1和和c2都是都是1,则,则e1为为1,否则否则e1为为0,“与与”也可有任意个也可有任意个输入。输入。c2e1c1V现在学习的是第10页,共40页l恒等:若恒等:若c1是是1,则,则e1也为也为1,否则,否则e1为为0;l非:若非:若c1是是1,则,则e1为为0,否则,否则e1为为1;l或:若或:若c1或或c2或或c3是是1,则,则e1是是1,否则,否则e1为为0,“或或”
5、可有任意个输入;可有任意个输入;l与:若与:若c1和和c2都是都是1,则,则e1为为1,否则,否则e1为为0,“与与”也可有任意个输入。也可有任意个输入。现在学习的是第11页,共40页在实际问题当中输入状态相互之间还可能在实际问题当中输入状态相互之间还可能存在某些依赖关系,称为存在某些依赖关系,称为“约束约束”abE异(a)acI或babO唯一abR要求ab强制M(b)(c)(d)(e)现在学习的是第12页,共40页lE约束(异):约束(异):a和和b中最多有一个可能为中最多有一个可能为1,即即a和和b不能同时为不能同时为1;abE异现在学习的是第13页,共40页lI约束(或):约束(或):a
6、、b、c中至少有一个必须是中至少有一个必须是1,即,即a、b、c不能同时为不能同时为0;acI或b现在学习的是第14页,共40页lO约束(唯一):约束(唯一):a和和b必须有一个且仅有一必须有一个且仅有一个为个为1;abO唯一现在学习的是第15页,共40页lR约束(要求):约束(要求):a是是1时,时,b必须是必须是1;abR要求现在学习的是第16页,共40页M约束(强制):若结果约束(强制):若结果a是是1,则结果,则结果b强制为强制为0。ab强制M现在学习的是第17页,共40页对于输入条件的约束有对于输入条件的约束有4种:种:lE约束(异):约束(异):a和和b中最多有一个可能为中最多有一
7、个可能为1,即,即a和和b不不能同时为能同时为1;lI约束(或):约束(或):a、b、c中至少有一个必须是中至少有一个必须是1,即,即a、b、c不能同时为不能同时为0;lO约束(唯一):约束(唯一):a和和b必须有一个且仅有一个为必须有一个且仅有一个为1;lR约束(要求):约束(要求):a是是1时,时,b必须是必须是1;对于输出条件的约束只有对于输出条件的约束只有M约束约束lM约束(强制):若结果约束(强制):若结果a是是1,则结果,则结果b强制为强制为0。现在学习的是第18页,共40页因果图法设计测试用例步骤:因果图法设计测试用例步骤:分析程序规格说明书描述的语义内容,找出分析程序规格说明书
8、描述的语义内容,找出“原因原因”和和“结果结果”,将其表示成连接各个原因,将其表示成连接各个原因与各个结果的与各个结果的“因果图因果图”。由于语法或环境限制,有些原因与原因之间或由于语法或环境限制,有些原因与原因之间或与结果之间的组合情况不能出现,用记号标明与结果之间的组合情况不能出现,用记号标明约束或限制条件;约束或限制条件;将因果图转换成决策表;将因果图转换成决策表;根据决策表中每一列设计测试用例根据决策表中每一列设计测试用例现在学习的是第19页,共40页因果图法举例因果图法举例程序的规格说明要求:输入的第一个字符程序的规格说明要求:输入的第一个字符必须是必须是“#”或或“*”,第二个字符
9、必须是,第二个字符必须是一个数字,在此情况下进行文件的修改;一个数字,在此情况下进行文件的修改;如果第一个字符不是如果第一个字符不是“#”或或“*”,则给,则给出信息出信息N;如果第二个字符不是数字,则;如果第二个字符不是数字,则给出信息给出信息M。现在学习的是第20页,共40页步骤:步骤:1.分析程序的规格说明,列出原因和结果;分析程序的规格说明,列出原因和结果;2.找出原因与结果之间的因果关系、原因找出原因与结果之间的因果关系、原因与原因之间的约束关系,画出因果图。与原因之间的约束关系,画出因果图。3.将因果图转换成决策表;将因果图转换成决策表;4.根据根据3中的决策表,设计测试用例的输入
10、中的决策表,设计测试用例的输入数据和预期输出。数据和预期输出。现在学习的是第21页,共40页解法如下:解法如下:(1)在明确了上述要求后,可以明确地)在明确了上述要求后,可以明确地将原因和结果分开。将原因和结果分开。l原因:原因:c1第一个字符是第一个字符是“#”c2第一个字符是第一个字符是“*”c3第二个字符是一个数字第二个字符是一个数字l结果:结果:a1给出信息给出信息N a2修改文件修改文件 a3给出信息给出信息M现在学习的是第22页,共40页(2)因果图)因果图c1c2c310a3a2a1VV因果图表示因果图表示10为导出结果的中间原因为导出结果的中间原因现在学习的是第23页,共40页
11、带有带有E约束的因果图约束的因果图c1c2c310a3a2a1VVE具有具有E约束的因果图表示约束的因果图表示现在学习的是第24页,共40页将因果图转化为判定表将因果图转化为判定表12345678C1C2C310111110101110010111010100100000a1a2a3不可能测试用例3B*7*MC2CM现在学习的是第25页,共40页(4)设计测试用例设计测试用例最左边两列,原因最左边两列,原因c1和和c2同时为同时为1不可能,排除掉,根据不可能,排除掉,根据表可设计出表可设计出6个测试用例。个测试用例。lTest1:输入数据:输入数据#3 预期输出修改文件预期输出修改文件lTes
12、t2:输入数据:输入数据#B 预期输出给出信息预期输出给出信息MlTest3:输入数据:输入数据*7 预期输出修改文件预期输出修改文件lTest4:输入数据:输入数据*M 预期输出给出信息预期输出给出信息MlTest5:输入数据:输入数据C2 预期输出给出信息预期输出给出信息NlTest6:输入数据:输入数据CM 预期输出给出信息预期输出给出信息M和和N现在学习的是第26页,共40页使用因果图法的优点:使用因果图法的优点:(1)考考虑虑到到了了输输入入情情况况的的各各种种组组合合以以及及各各个个输输入入情情况之间的相互制约关系。况之间的相互制约关系。(2)能能够够帮帮助助测测试试人人员员按按照
13、照一一定定的的步步骤骤,高高效效率的开发测试用例。率的开发测试用例。(3)因因果果图图法法是是将将自自然然语语言言规规格格说说明明转转化化成成形形式式语语言言规规格格说说明明的的一一种种严严格格的的方方法法,可可以以指指出出规规格格说说明明存在的不完整性和二义性。存在的不完整性和二义性。现在学习的是第27页,共40页案例分析案例分析1有一个处理单价为有一个处理单价为1元元5角的盒装饮料的自角的盒装饮料的自动售货机软件。若投入动售货机软件。若投入1元元5角硬币,按角硬币,按下下“可乐可乐”,“雪碧雪碧”或或“红茶红茶”按钮,按钮,相应的饮料就送出来。若投入的是两元硬相应的饮料就送出来。若投入的是
14、两元硬币,在送出饮料的同时退还币,在送出饮料的同时退还5角硬币。角硬币。现在学习的是第28页,共40页(1)分析原因及结果)分析原因及结果原因原因c1:投入投入1元元5角硬币;角硬币;c2:投入投入2元硬币;元硬币;c3:按按“可乐可乐”按钮;按钮;c4:按按“雪碧雪碧”按钮;按钮;c5:按按“红茶红茶”按钮按钮;中间状中间状态态11:已投币:已投币12:已按钮:已按钮结果结果a1:退还退还5角硬币;角硬币;a2:送出送出“可乐可乐”饮料;饮料;a3:送出送出“雪碧雪碧”饮料;饮料;a4:送出送出“红茶红茶”饮料饮料;现在学习的是第29页,共40页(2)画出因果图)画出因果图现在学习的是第30
15、页,共40页(3)决策表)决策表1 12 23 34 45 56 67 78 89 910101111c1:c1:投入投入1 1元元5 5角硬币角硬币c2:c2:投入投入2 2元硬币元硬币c3:c3:按按“可乐可乐”按钮按钮c4:c4:按按“雪碧雪碧”按钮按钮c5:c5:按按“红茶红茶”按钮按钮1 10 01 10 00 01 10 00 01 10 01 10 00 00 01 11 10 00 00 00 00 01 11 10 00 00 01 10 01 10 00 01 10 00 01 10 01 10 00 00 00 00 01 10 00 00 00 00 01 10 00
16、00 00 00 01 11111:已投币:已投币1212:已按钮:已按钮1 11 11 11 11 11 11 10 01 11 11 11 11 11 11 10 00 01 10 01 10 01 1a1:a1:退还退还5 5角硬币角硬币a2:a2:送出送出“可乐可乐”饮料饮料a3:a3:送出送出“雪碧雪碧”饮料饮料a4:a4:送出送出“红茶红茶”饮料饮料现在学习的是第31页,共40页(4)设计测试用例)设计测试用例用例编号用例编号测试用例测试用例预期输出预期输出1 1投入投入1 1元元5 5角,按角,按“可乐可乐”送出送出“可乐可乐”饮料饮料2 2投入投入1 1元元5 5角,按角,按“
17、雪碧雪碧”送出送出“雪碧雪碧”饮料饮料3 3投入投入1 1元元5 5角,按角,按“红茶红茶”送出送出“红茶红茶”饮料饮料4 4投入投入2 2元,按元,按“可乐可乐”找找5 5角,送出角,送出“可乐可乐”5 5投入投入2 2元,按元,按“雪碧雪碧”找找5 5角,送出角,送出“雪碧雪碧”6 6投入投入2 2元,按元,按“红茶红茶”找找5 5角,送出角,送出“红茶红茶”现在学习的是第32页,共40页习题习题1某软件的一个模块的需求规格说明书中描述:某软件的一个模块的需求规格说明书中描述:(1)年薪制员工:严重过失,扣年终风险金的)年薪制员工:严重过失,扣年终风险金的4%;过失,扣年终风险金的过失,扣
18、年终风险金的2%。(2)非年薪制员工:严重过失,扣当月薪资的)非年薪制员工:严重过失,扣当月薪资的8%;过;过失,扣当月薪资的失,扣当月薪资的4%。请绘制出因果图和判定表,并给出相应的测试用例。请绘制出因果图和判定表,并给出相应的测试用例。现在学习的是第33页,共40页习题习题2中国象棋中走马的测试用例设计为例学习中国象棋中走马的测试用例设计为例学习因果图的使用方法(下面未注明的均指的因果图的使用方法(下面未注明的均指的是对马的说明)是对马的说明)现在学习的是第34页,共40页一、分析中国象棋中走马的实际情况1.如果落点在棋盘外如果落点在棋盘外,则不移动棋子;则不移动棋子;2.如果落点与起点不
19、构成日字型如果落点与起点不构成日字型,则不移动棋子;则不移动棋子;3.如果在落点方向的邻近交叉点有棋子如果在落点方向的邻近交叉点有棋子(绊马腿绊马腿),则不移动棋子;则不移动棋子;4.如果不属于如果不属于1-3条条,落点处有己方棋子落点处有己方棋子,则不移动棋子则不移动棋子;5.如果不属于如果不属于1-3条条,落点处无棋子落点处无棋子,则移动棋子;则移动棋子;6.如果不属于如果不属于1-3条条,落点处为对方棋子落点处为对方棋子(非老将非老将),则移动棋子则移动棋子并除去对方棋子;并除去对方棋子;7.如果不属于如果不属于1-3条条,且落点处为对方老将且落点处为对方老将,则移动棋子则移动棋子,并提
20、示并提示战胜对方战胜对方,游戏结束。游戏结束。现在学习的是第35页,共40页二、根据分析明确原因和结果 原因:原因:C1.落点在棋盘上;落点在棋盘上;C2.落点与起点构成日字;落点与起点构成日字;C3.落点方向的邻近交叉点落点方向的邻近交叉点无棋子;无棋子;C4.落点处为自己方棋子;落点处为自己方棋子;C5.落点处无棋子;落点处无棋子;C6.落点处为对方棋子落点处为对方棋子(非老将非老将);C7.落点处为对方老将。落点处为对方老将。结果:结果:E1.不移动棋子;不移动棋子;E2.移动棋子;移动棋子;E3.移动棋子移动棋子,并除去对方并除去对方棋子;棋子;E4.移动棋子,并提示战移动棋子,并提示
21、战胜对方,结束游戏。胜对方,结束游戏。中间状态:11 落点合理且无半马腿,可以前进现在学习的是第36页,共40页添加中间节点11,目的是作为导出结果的进一步原因,简化因果图导出的判定表一c1c3c4c5E1c7c6c2E2E3E411VVVVVE 现在学习的是第37页,共40页决策表分解决策表分解 规则选项12345678910111213141516C1C2C3C41111111011011100101110101001100001110110010101000011001000010000110 1 000 00 0 0 0000000E11 0 111 11 1 1 1111111现在学习的是第38页,共40页 规则规则 选项选项12345678910111213141516 11 C5C6 C71111111011011100101110101001100001110110010101000011001000010000 E2 E3 E4不不可可能能不不可可能能不不可可能能100不不可可能能010001不不可可能能不不可可能能不不可可能能不不可可能能不不可可能能现在学习的是第39页,共40页02.10.2022感谢大家观看现在学习的是第40页,共40页