《软件测试-因果图.ppt》由会员分享,可在线阅读,更多相关《软件测试-因果图.ppt(35页珍藏版)》请在三一办公上搜索。
1、黑盒测试因果图方法10,内容提纲,复习因果图法的思想因果图法的步骤举例练习,复习,等价类划分法的思想边界值分析法的思想,1、因果图法概述,等价类划分方法和边界值分析方法着重考虑输入条件,而不考虑输入条件的各种组合,也不考虑输入条件之间的相互制约的关系,但有时一些具体问题中的输入之间存在着相互依赖的关系,,1、因果图法概述,如果输入之间有关系,我们在测试时必须考虑输入条件的各种组合,那么可以考虑使用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来设计测试用例,这就需要利用因果图。因果图方法最终生成的就是判定表。它适合于检查程序输入条件的各种组合情况。,因果图法的基本思想,使用因果图法设
2、计测试用例时,首先从程序规格说明书的描述中,找出因(输入条件)和果(输出结果或者程序状态的改变),然后通过因果图转换为判定表,最后为判定表中的每一列设计一个测试用例.,2 因果图中出现的基本符号,原因,结果,通常在因果图中用Ci表示原因,用Ei表示结果,各结点表示状态,可取值“0”或“1”。“0”表示某状态不出现,“1”表示某状态出现。,主要的原因和结果之间的关系有:,C1,因果图法,恒等:若c1为1,则e1也为1,否则e1为0.非:若c1是1,则e1为0,否则e1是1.或:若c1或c2或c3是1,则e1是1,若三者都不为1,则e1为0.与:若c1和c2都是1,则e1为1,否则若有其中一个不为
3、1,则e1为0.,因果图法,实际问题中,输入状态之间可能存在某些依赖关系,这种依赖关系被称为”约束”.在因果图中使用特定的符号来表示这些约束关系:,约束关系说明:E约束(异):a,b最多有一个可能为1,不能同时为1.,I约束(或):a,b,c中至少有一个必须为1,不能同时为0.,O约束(惟一):a和b必须有一个且仅有一个为1,R约束(要求):a是1时,b必须是1,即a为1时,b不能为0,M约束:对输出条件的约束,若结果a为1,则结果b必须为0.,3用因果图生成测试用例的基本步骤(1)分析软件规格说明描述中,哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果
4、赋予一个标识符。(2)分析软件规格说明描述中的语义,找出原因与结果之间,原因与原因之间对应的是什么关系?根据这些关系,画出因果图。,(3)由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号标明约束或限制条件。(4)把因果图转换成判定表。(5)把判定表的每一列拿出来作为依据,设计测试用例。,4 应用举例,某个软件的规格说明书中规定:第一个字符必须是A或B,第二个字符必须是一个数字字符,在此情况下进行文件的修改,但如果第一个字符不正确,则给出信息L;如果第二个字符不正确,则给出信息M.,应用举例,分析问题,按照如下步骤进行:(1)根
5、据软件规格说明书,列出原因和结果.(2)找出原因和结果之间的关系,原因和原因之间的约束关系,画出因果图.(3)将因果图转化为判定表(4)根据判定表设计测试用例.,应用举例,原因:C1:第一个字符是A;C2:第一个字符是B;C3:第二个字符是一个数字字符.结果:E1:给出信息L;E2:修改文件;E3:给出信息M;,因果图,中间结果,带有E约束的因果图,E,将因果图转化为判定表,设计测试用例,测试用例1:输入数据:A3 预期输出:修改文件测试用例2:输入数据:AM 预期输出:给出信息M测试用例3:输入数据:B3 预期输出:修改文件测试用例4:输入数据:B*预期输出:给出信息M测试用例5:输入数据:
6、C2 预期输出:给出信息L测试用例6:输入数据:CM 预期输出:给出信息LM,练习,程序的规格说明要求:输入的第一个字符必须是#或*,第二个字符必须是一个数字,在此情况下进行文件的修改;如果第一个字符不是#或*,则给出信息N,如果第二个字符不是数字,则给出信息M。用因果图法设计测试用例,练习2,例如,有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5角钱或1元钱的硬币,按下橙汁或啤酒的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示零钱找完的红灯亮,这时在投入1元硬币并按下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示零钱找完的红灯灭,
7、在送出饮料的同时退还5角硬币。”,4.因果图法,(1)分析这一段说明,列出原因和结果原因:1.售货机有零钱找 2.投入1元硬币 3.投入5角硬币 4.按下橙汁按钮 5.按下啤酒按钮建立中间结点,表示处理中间状态11.投入1元硬币且按下饮料按钮12.按下橙汁或啤酒的按钮13.应当找5角零钱并且售货机有零钱找14.钱已付清,4.因果图法,结果:21.售货机零钱找完灯亮 22.退还1元硬币 23.退还5角硬币 24.送出橙汁饮料 25.送出啤酒饮料,(2)画出因果图。所有原因结点列在左边,所有结果结点列在右边。,(3)由于 2 与 3,4 与 5 不能同时发生,分别加上约束条件E。(4)因果图转换成判定表(5)设计测试用例,练习,有一个处理单价为1元5角的盒装饮料的自动售货机软件。若投入1元5角硬币,按下“可乐”、“雪碧”或“红茶”按钮,相应的饮料就送出来。若投入的是2元硬币,在送出饮料的同时退还5角硬币。因果图方法设计测试用例,因果图法的优点,考虑了多个输入之间的相互组合、相互制约关系;能够帮助我们按一定步骤,高效率地选择测试用例,同时还能为我们指出,程序规格说明描述中存在着什么问题,小结,因果图方法的适用范围因果图方法设计测试用例的步骤因果图方法优点,