资源预览内容
第1页 / 共35页
第2页 / 共35页
第3页 / 共35页
第4页 / 共35页
第5页 / 共35页
第6页 / 共35页
第7页 / 共35页
第8页 / 共35页
第9页 / 共35页
第10页 / 共35页
亲,该文档总共35页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第三章 黑盒测试因果图方法10,内容提纲,复习 因果图法的思想 因果图法的步骤 举例 练习,复习,等价类划分法的思想 边界值分析法的思想,1、因果图法概述,等价类划分方法和边界值分析方法着重考虑输入条件,而不考虑输入条件的各种组合,也不考虑输入条件之间的相互制约的关系,但有时一些具体问题中的输入之间存在着相互依赖的关系,如:NextDate函数问题。,1、因果图法概述,如果输入之间有关系,我们在测试时必须考虑输入条件的各种组合,那么可以考虑使用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来设计测试用例,这就需要利用因果图。 因果图方法最终生成的就是判定表。它适合于检查程序输入条件的各种组合情况。,因果图法的基本思想,使用因果图法设计测试用例时,首先从程序规格说明书的描述中,找出因(输入条件)和果(输出结果或者程序状态的改变),然后通过因果图转换为判定表,最后为判定表中的每一列设计一个测试用例.,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,否则若有其中一个不为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) 分析软件规格说明描述中,哪些是原因 (即输入条件或输入条件的等价类),哪些是结果 (即输出条件),并给每个原因和结果赋予一个标识符。 (2) 分析软件规格说明描述中的语义,找出原因与结果之间,原因与原因之间对应的是什么关系? 根据这些关系,画出因果图。,(3) 由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号标明约束或限制条件。 (4) 把因果图转换成判定表。 (5) 把判定表的每一列拿出来作为依据,设计测试用例。,4 应用举例,某个软件的规格说明书中规定:第一个字符必须是A或B,第二个字符必须是一个数字字符,在此情况下进行文件的修改,但如果第一个字符不正确,则给出信息L;如果第二个字符不正确,则给出信息M.,应用举例,分析问题,按照如下步骤进行: (1)根据软件规格说明书,列出原因和结果. (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: 输入数据:C2 预期输出:给出信息L 测试用例6: 输入数据:CM 预期输出:给出信息LM,练习,程序的规格说明要求:输入的第一个字符必须是#或*,第二个字符必须是一个数字,在此情况下进行文件的修改;如果第一个字符不是#或*,则给出信息N,如果第二个字符不是数字,则给出信息M。 用因果图法设计测试用例,练习2,例如,有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下: 若投入5角钱或1元钱的硬币,按下橙汁或啤酒的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示零钱找完的红灯亮,这时在投入1元硬币并按下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示零钱找完的红灯灭,在送出饮料的同时退还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角硬币。 因果图方法设计测试用例,因果图法的优点,考虑了多个输入之间的相互组合、相互制约关系; 能够帮助我们按一定步骤,高效率地选择测试用例,同时还能为我们指出,程序规格说明描述中存在着什么问题,小结,因果图方法的适用范围 因果图方法设计测试用例的步骤 因果图方法优点,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号