软件测试-8黑盒测试因果图法.知识分享_第1页
软件测试-8黑盒测试因果图法.知识分享_第2页
软件测试-8黑盒测试因果图法.知识分享_第3页
软件测试-8黑盒测试因果图法.知识分享_第4页
软件测试-8黑盒测试因果图法.知识分享_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件测试-8黑盒测试因果图法.什么是因果关系?什么是因果关系?拿破仑说:“失一个钉子,坏了一只蹄铁; 坏了一只蹄铁,折了一匹战马; 折了一匹战马,伤了一位骑士; 伤了一位骑士,输了一场战斗; 输了一场战斗,亡了一个帝国。” 这就是因果关系 因果图法的定义:因果图法的定义:是一种利用图解法分析输入的各是一种利用图解法分析输入的各种组合情况,从而设计测试用例种组合情况,从而设计测试用例的方法,它适合于检查程序输入的方法,它适合于检查程序输入条件的各种组合情况。条件的各种组合情况。因果图中出现的基本符号因果图中出现的基本符号原因原因结果结果主要的原因与结果之间的关系主要的原因与结果之间的关系c1e1

2、c1e1c2e1c1c3Vc2e1c1V(a)恒等(b)非(c)或(d)与恒等:若恒等:若c1是是1,则,则e1也为也为1,否,否则则e1为为0;c1e1非:若非:若c1是是1,则,则e1为为0,否则,否则e1为为1;c1e1或:若或:若c1或或c2或或c3是是1,则,则e1是是1,否则,否则e1为为0,“或或”可有任意个可有任意个输入;输入;c2e1c1c3V与:若与:若c1和和c2都是都是1,则,则e1为为1,否则否则e1为为0,“与与”也可有任意个也可有任意个输入。输入。c2e1c1V恒等:若恒等:若c1是是1,则,则e1也为也为1,否则,否则e1为为0;非:若非:若c1是是1,则,则e

3、1为为0,否则,否则e1为为1;或:若或:若c1或或c2或或c3是是1,则,则e1是是1,否则,否则e1为为0,“或或”可有任意个输入;可有任意个输入;与:若与:若c1和和c2都是都是1,则,则e1为为1,否则,否则e1为为0,“与与”也可有任意个输入。也可有任意个输入。在实际问题当中输入状态相互之间还可能存在在实际问题当中输入状态相互之间还可能存在某些依赖关系,称为某些依赖关系,称为“约束约束”abE异(a)acI或babO唯一abR要求ab强制M(b)(c)(d)(e)E约束(异):约束(异):a和和b中最多有一个可能为中最多有一个可能为1,即,即a和和b不能同时为不能同时为1;abE异I

4、约束(或):约束(或):a、b、c中至少有一个必须中至少有一个必须是是1,即,即a、b、c不能同时为不能同时为0;acI或bO约束(唯一):约束(唯一):a和和b必须有一个且仅有必须有一个且仅有一个为一个为1;abO唯一R约束(要求):约束(要求):a是是1时,时,b必须是必须是1;abR要求M约束(强制):若结果约束(强制):若结果a是是1,则结果,则结果b强制为强制为0。ab强制M对于输入条件的约束有对于输入条件的约束有4种:种:E约束(异):约束(异):a和和b中最多有一个可能为中最多有一个可能为1, 即即a和和b不能同时为不能同时为1;I约束(或):约束(或):a、b、c中至少有一个必

5、须是中至少有一个必须是1, 即即a、b、c不能同时为不能同时为0;O约束(唯一):约束(唯一):a和和b必须有一个且仅有一个为必须有一个且仅有一个为1;R约束(要求):约束(要求):a是是1时,时,b必须是必须是1;对于输出条件的约束只有对于输出条件的约束只有M约束约束M约束(强制):若结果约束(强制):若结果a是是1,则结果,则结果b强制为强制为0。课堂回顾:课堂回顾: 1、以下四个图例分别表示什么关系:、以下四个图例分别表示什么关系:课堂回顾:课堂回顾:EIORM2 2、以下五种图例又分别表示什么关系?、以下五种图例又分别表示什么关系?因果图法设计测试用例思想因果图法设计测试用例思想首先从

6、程序规格说明书的描述中首先从程序规格说明书的描述中,找出找出(输入条件输入条件)和和(输出结输出结果或者程序状态的改变果或者程序状态的改变),然后通过因果图转换为判定表然后通过因果图转换为判定表,最后为判定表中的每一列设计一最后为判定表中的每一列设计一个测试用例个测试用例.因果图法设计测试用例步骤:因果图法设计测试用例步骤:分析程序规格说明书描述的语义内容,找出分析程序规格说明书描述的语义内容,找出“原因原因”和和“结果结果”,将其表示成连接各个原因,将其表示成连接各个原因与各个结果的与各个结果的“因果图因果图”。由于语法或环境限制,有些原因与原因之间或由于语法或环境限制,有些原因与原因之间或

7、与结果之间的组合情况不能出现,用记号标明与结果之间的组合情况不能出现,用记号标明约束或限制条件;约束或限制条件;将因果图转换成判定表;将因果图转换成判定表;根据判定表中每一列设计测试用例根据判定表中每一列设计测试用例因果图法举例因果图法举例程序的规格说明要求:输入的第一个字符必须程序的规格说明要求:输入的第一个字符必须是是“#”或或“* *”,第二个字符必须是一个数字,第二个字符必须是一个数字,在此情况下进行文件的修改;如果第一个字符在此情况下进行文件的修改;如果第一个字符不是不是“#”或或“* *”,则给出信息,则给出信息N;如果第二个;如果第二个字符不是数字,则给出信息字符不是数字,则给出

8、信息M。步骤:步骤:分析程序的规格说明,列出原因和结果;分析程序的规格说明,列出原因和结果;找出原因与结果之间的因果关系、原因与原找出原因与结果之间的因果关系、原因与原因之间的约束关系,画出因果图。因之间的约束关系,画出因果图。将因果图转换成决策表;将因果图转换成决策表;根据根据3中的决策表,设计测试用例的输入数据中的决策表,设计测试用例的输入数据和预期输出。和预期输出。解法如下:解法如下:(1)在明确了上述要求后,可以明确地将原)在明确了上述要求后,可以明确地将原因和结果分开。因和结果分开。原因:原因:c1第一个字符是第一个字符是“#” c2第一个字符是第一个字符是“* *” c3第二个字符

9、是一个数字第二个字符是一个数字结果:结果:a1给出信息给出信息N a2修改文件修改文件 a3给出信息给出信息M(2)因果图)因果图c1c2c310a3a2a1VV因果图表示因果图表示10为导出结果的中间原因为导出结果的中间原因带有带有E约束的因果图约束的因果图c1c2c310a3a2a1VVE具有具有E约束的因果图表示约束的因果图表示(3)将因果图转换成决策表)将因果图转换成决策表 规则规则 选项选项12345678条件条件c1c2c310111110101110010111010100100000动作动作a1a2a3不可能不可能测试用例测试用例#3#A*6*BA1GT(4)设计测试用例设计测

10、试用例最左边两列,原因最左边两列,原因c1和和c2同时为同时为1不可能,排除掉,不可能,排除掉,根据表可设计出根据表可设计出6个测试用例。个测试用例。Test1:输入数据:输入数据#3 预期输出修改文件预期输出修改文件Test2:输入数据:输入数据#B 预期输出给出信息预期输出给出信息MTest3:输入数据:输入数据* *7 预期输出修改文件预期输出修改文件Test4:输入数据:输入数据* *M 预期输出给出信息预期输出给出信息MTest5:输入数据:输入数据C2 预期输出给出信息预期输出给出信息NTest6:输入数据:输入数据CM 预期输出给出信息预期输出给出信息M和和N使用因果图法的优点:

11、使用因果图法的优点:(1)考虑到了输入情况的各种组合以及各个)考虑到了输入情况的各种组合以及各个输入情况之间的相互制约关系。输入情况之间的相互制约关系。(2)能够帮助测试人员按照一定的步骤,高)能够帮助测试人员按照一定的步骤,高效率的开发测试用例。效率的开发测试用例。(3)因果图法是将自然语言规格说明转化成)因果图法是将自然语言规格说明转化成形式语言规格说明的一种严格的方法,可以形式语言规格说明的一种严格的方法,可以指出规格说明存在的不完整性和二义性。指出规格说明存在的不完整性和二义性。因果图法案例分析因果图法案例分析有一个处理单价为有一个处理单价为1元元5角的盒装饮料的自动售角的盒装饮料的自

12、动售货机软件。若投入货机软件。若投入1元元5角硬币,按下角硬币,按下“可乐可乐”,“雪碧雪碧”或或“红茶红茶”按钮,相应的饮料就送出按钮,相应的饮料就送出来。若投入的是两元硬币,在送出饮料的同时来。若投入的是两元硬币,在送出饮料的同时退还退还5角硬币。角硬币。原因及结果原因及结果原因c1:投入1元5角硬币;c2:投入2元硬币;c3:按“可乐”按钮;c4:按“雪碧”按钮;c5:按“红茶”按钮;中间状态11:已投币12:已按钮结果a1:退还5角硬币;a2:送出“可乐”饮料;a3:送出“雪碧”饮料;a4:送出“红茶”饮料;因果图因果图决策表决策表1 12 23 34 45 56 67 78 89 9

13、10101111c1: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 00 00 00 01 11111:已投币:已投币1212:已按钮:已按钮1 11 1

14、1 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:送出送出“红茶红茶”饮料饮料习题习题某软件的一个模块的需求规格说明书中描述:某软件的一个模块的需求规格说明书中描述:(1)年薪制员工:严重过失,扣年终风险金的)年薪制员工:严重过失,扣年终风险金的4%;过失,扣年终风险金的;过失,扣年终风险金的2%。(2)非年薪制员工:严重过失,扣当月薪资的)非年薪制员工:严重过失,扣当月薪资的8%;过失,扣当月薪

15、资的;过失,扣当月薪资的4%。请绘制出因果图和判定表,并给出相应的测试用请绘制出因果图和判定表,并给出相应的测试用例。例。分析中国象棋中走马的实际情况分析中国象棋中走马的实际情况如果落点在棋盘外如果落点在棋盘外, ,则不移动棋子;则不移动棋子;如果落点与起点不构成日字型如果落点与起点不构成日字型, ,则不移动棋子;则不移动棋子;如果在落点方向的邻近交叉点有棋子如果在落点方向的邻近交叉点有棋子( (绊马腿绊马腿), ),则不移动棋子;则不移动棋子;落点处有己方棋子落点处有己方棋子, ,则不移动棋子则不移动棋子; ;如果不属于如果不属于1-41-4条条, , 落点处无棋子落点处无棋子, ,则移动棋

16、子;则移动棋子;如果不属于如果不属于1-41-4条条, , 落点处为对方棋子落点处为对方棋子( (非老将非老将), ),则移动棋子并除去对方棋子;则移动棋子并除去对方棋子;如果不属于如果不属于1-41-4条条, ,且落点处为对方老将且落点处为对方老将, ,则移动则移动棋子棋子, ,并提示战胜对方并提示战胜对方, ,游戏结束。游戏结束。 根据分析明确原因和结果根据分析明确原因和结果 原因:原因:落点在棋盘上;落点在棋盘上;落点与起点构成日字;落点与起点构成日字;落点方向的邻近交叉点落点方向的邻近交叉点无棋子;无棋子;落点处为自己方棋子;落点处为自己方棋子;落点处无棋子;落点处无棋子;落点处为对方

17、棋子落点处为对方棋子( (非非老将老将) );1. 1.落点处为对方老将落点处为对方老将。 结果:结果:E1E1、不移动棋子;、不移动棋子;E2E2、移动棋子;、移动棋子;E3E3、移动棋子、移动棋子, ,并除去对并除去对方棋子;方棋子;E4E4、移动棋子,并提示、移动棋子,并提示战胜对方,结束游戏战胜对方,结束游戏。 添加中间节点添加中间节点11,目的是作为导出结果的进一步原因目的是作为导出结果的进一步原因,简化因果图导出的判定表简化因果图导出的判定表1345E1762E2E3E411VVVVVE 决策表分解决策表分解 规则选项123456789101112131415161234111111101101110010111010100110000111011001010100001100100001000011E101100101010101010101010101010101 规则规则 选项选项12345678910111213141516 11 5 6 7111111101101110010111010100110000111011

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论