黑盒4-因果图法_第1页
黑盒4-因果图法_第2页
黑盒4-因果图法_第3页
黑盒4-因果图法_第4页
黑盒4-因果图法_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

1、. 黑盒测试用例设计黑盒测试用例设计 因果图法因果图法.因果图法产生的背景因果图法产生的背景 等价类划分法和边界值分析方法等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的但多个输入条件组合起来可能出错的情况却被忽视了。情况却被忽视了。.因果图法设计测试用例思想因果图法设计测试用例思想首先从程序规格说明书的描述中首先从程序规格说明书

2、的描述中,找出找出(输入条件输入条件)和和(输出结输出结果或者程序状态的改变果或者程序状态的改变),然后通过因果图转换为判定表然后通过因果图转换为判定表,最最后为判定表中的每一列设计一个后为判定表中的每一列设计一个测试用例测试用例.因果图法的定义:因果图法的定义:是一种利用图解法分析输入的各是一种利用图解法分析输入的各种组合情况,从而设计测试用例种组合情况,从而设计测试用例的方法,它适合于检查程序输入的方法,它适合于检查程序输入条件的各种组合情况。条件的各种组合情况。.因果图中出现的基本符号因果图中出现的基本符号原因原因结果结果.主要的原因与结果之间的关系主要的原因与结果之间的关系c1e1c1

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

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

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

6、:约束(或):a、b、c中至少有一个必须是中至少有一个必须是1,即,即a、b、c不能同时为不能同时为0;lO约束(唯一):约束(唯一):a和和b必须有一个且仅有一个为必须有一个且仅有一个为1;lR约束(要求):约束(要求):a是是1时,时,b必须是必须是1;对于输出条件的约束只有对于输出条件的约束只有M约束约束lM约束(强制):若结果约束(强制):若结果a是是1,则结果,则结果b强制为强制为0。.因果图法设计测试用例步骤:因果图法设计测试用例步骤:分析程序规格说明书描述的语义内容,找出分析程序规格说明书描述的语义内容,找出“原因原因”和和“结果结果”,将其表示成连接各个原,将其表示成连接各个原

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

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

9、因和结果分开。将原因和结果分开。l原因:原因:c1第一个字符是第一个字符是“#” c2第一个字符是第一个字符是“*” c3第二个字符是一个数字第二个字符是一个数字l结果:结果:a1给出信息给出信息N a2修改文件修改文件 a3给出信息给出信息M.(2)因果图)因果图c1c2c310a3a2a1VV因果图表示因果图表示10为导出结果的中间原因为导出结果的中间原因.带有带有E约束的因果图约束的因果图c1c2c310a3a2a1VVE具有具有E约束的因果图表示约束的因果图表示.将因果图转化为判定表将因果图转化为判定表12345678C1C2C31011111010111001011101010010

10、0000a1a2a3不可能测试用例3B*7*MC2CM.(4)设计测试用例设计测试用例最左边两列,原因最左边两列,原因c1和和c2同时为同时为1不可能,排除掉,不可能,排除掉,根据表可设计出根据表可设计出6个测试用例。个测试用例。lTest1:输入数据:输入数据#3 预期输出修改文件预期输出修改文件lTest2:输入数据:输入数据#B 预期输出给出信息预期输出给出信息MlTest3:输入数据:输入数据*7 预期输出修改文件预期输出修改文件lTest4:输入数据:输入数据*M 预期输出给出信息预期输出给出信息MlTest5:输入数据:输入数据C2 预期输出给出信息预期输出给出信息NlTest6:

11、输入数据:输入数据CM 预期输出给出信息预期输出给出信息M和和N.使用因果图法的优点:使用因果图法的优点:(1)考虑到了输入情况的各种组合以及各个)考虑到了输入情况的各种组合以及各个输入情况之间的相互制约关系。输入情况之间的相互制约关系。(2)能够帮助测试人员按照一定的步骤,高)能够帮助测试人员按照一定的步骤,高效率的开发测试用例。效率的开发测试用例。(3)因果图法是将自然语言规格说明转化成)因果图法是将自然语言规格说明转化成形式语言规格说明的一种严格的方法,可形式语言规格说明的一种严格的方法,可以指出规格说明存在的不完整性和二义性。以指出规格说明存在的不完整性和二义性。.案例分析案例分析1有

12、一个处理单价为有一个处理单价为1元元5角的盒装饮料的角的盒装饮料的自动售货机软件。若投入自动售货机软件。若投入1元元5角硬币,角硬币,按下按下“可乐可乐”,“雪碧雪碧”或或“红茶红茶”按钮,按钮,相应的饮料就送出来。若投入的是两元硬相应的饮料就送出来。若投入的是两元硬币,在送出饮料的同时退还币,在送出饮料的同时退还5角硬币。角硬币。.(1)分析原因及结果)分析原因及结果原因原因c1:投入投入1元元5角硬币;角硬币;c2:投入投入2元硬币;元硬币;c3:按按“可乐可乐”按钮;按钮;c4:按按“雪碧雪碧”按钮;按钮;c5:按按“红茶红茶”按钮按钮;中间状中间状态态11:已投币:已投币12:已按钮:

13、已按钮结果结果a1:退还退还5角硬币;角硬币;a2:送出送出“可乐可乐”饮料;饮料;a3:送出送出“雪碧雪碧”饮料;饮料;a4:送出送出“红茶红茶”饮料饮料;.(2)画出因果图)画出因果图.(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 0

14、1 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 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:送出送出“红茶红茶”饮料饮料.(4)设计测试用例)设计测试用例用例编号用例编号测试用例

15、测试用例预期输出预期输出1 1投入投入1 1元元5 5角,按角,按“可乐可乐”送出送出“可乐可乐”饮料饮料2 2投入投入1 1元元5 5角,按角,按“雪碧雪碧”送出送出“雪碧雪碧”饮料饮料3 3投入投入1 1元元5 5角,按角,按“红茶红茶”送出送出“红茶红茶”饮料饮料4 4投入投入2 2元,按元,按“可乐可乐”找找5 5角,送出角,送出“可乐可乐”5 5投入投入2 2元,按元,按“雪碧雪碧”找找5 5角,送出角,送出“雪碧雪碧”6 6投入投入2 2元,按元,按“红茶红茶”找找5 5角,送出角,送出“红茶红茶”.习题习题1某软件的一个模块的需求规格说明书中描述:某软件的一个模块的需求规格说明书

16、中描述:(1)年薪制员工:严重过失,扣年终风险金的)年薪制员工:严重过失,扣年终风险金的4%;过失,扣年终风险金的;过失,扣年终风险金的2%。(2)非年薪制员工:严重过失,扣当月薪资的)非年薪制员工:严重过失,扣当月薪资的8%;过失,扣当月薪资的;过失,扣当月薪资的4%。请绘制出因果图和判定表,并给出相应的测试用例。请绘制出因果图和判定表,并给出相应的测试用例。.习题习题2中国象棋中走马的测试用例设计为例学习中国象棋中走马的测试用例设计为例学习因果图的使用方法(下面未注明的均指的因果图的使用方法(下面未注明的均指的是对马的说明)是对马的说明).一、 分析中国象棋中走马的实际情况o如果落点在棋盘

17、外如果落点在棋盘外,则不移动棋子;则不移动棋子;o如果落点与起点不构成日字型如果落点与起点不构成日字型,则不移动棋子;则不移动棋子;o如果在落点方向的邻近交叉点有棋子如果在落点方向的邻近交叉点有棋子(绊马腿绊马腿),则不移则不移动棋子;动棋子;o如果不属于如果不属于1-3条条, 落点处有己方棋子落点处有己方棋子,则不移动棋子则不移动棋子;o如果不属于如果不属于1-3条条, 落点处无棋子落点处无棋子,则移动棋子;则移动棋子;o如果不属于如果不属于1-3条条, 落点处为对方棋子落点处为对方棋子(非老将非老将),则移动则移动棋子并除去对方棋子;棋子并除去对方棋子;o如果不属于如果不属于1-3条条,且

18、落点处为对方老将且落点处为对方老将,则移动棋子则移动棋子,并并提示战胜对方提示战胜对方,游戏结束。游戏结束。 .二、 根据分析明确原因和结果 原因:原因:C1. 落点在棋盘上;落点在棋盘上;C2.落点与起点构成日字;落点与起点构成日字;C3.落点方向的邻近交叉点落点方向的邻近交叉点无棋子;无棋子;C4.落点处为自己方棋子;落点处为自己方棋子;C5.落点处无棋子;落点处无棋子;C6.落点处为对方棋子落点处为对方棋子(非非老将老将);C7.落点处为对方老将。落点处为对方老将。 结果:结果:E1.不移动棋子;不移动棋子;E2.移动棋子;移动棋子;E3.移动棋子移动棋子,并除去并除去对方棋子;对方棋子;E4.移动棋子,并提示移动棋子,并提示战胜对方,结束游战胜对方,结束游戏。戏。 中间状态:11 落点合理且无半马腿,可以前进.添加中间节点11,目的是作为导出结果的进一步原因,简化因果图导出的判定表一c1c3c4c5E1c7c6c2E2E3E411VVVVVE .规则选项12345678910111213141516C1C2C3C4

温馨提示

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

评论

0/150

提交评论