黑盒测试3(因果图).ppt

上传人:wuy****n92 文档编号:91998678 上传时间:2023-05-29 格式:PPT 页数:38 大小:544KB
返回 下载 相关 举报
黑盒测试3(因果图).ppt_第1页
第1页 / 共38页
黑盒测试3(因果图).ppt_第2页
第2页 / 共38页
点击查看更多>>
资源描述

《黑盒测试3(因果图).ppt》由会员分享,可在线阅读,更多相关《黑盒测试3(因果图).ppt(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、黑盒测试因果图法因果图法介绍n因果图法产生的背景:等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。n因果图法能够帮助测试人员按照一定的步骤,高效率的开发测试用例,以检测程序输入条件的各种组合情况,它是将自然语言转化为形式语言规格说明的一种严格方法,可以指出规格说明存在的不完整性和二义性。因果图法介绍n因果图法是基于这样的一种思想:一些程序的功能可以用判定表(或称决策表)的形式来表示,并根据输入条件的组合情况规定相应的操作。即:因果图法不过是

2、决策表法的前期阶段。我们也可以直接应用决策表。n因果图法的定义:是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。因果图法介绍n采用因果图法设计测试用例的步骤:(1)根据程序规格说明书描述,分析并确定因(输入条件)和果(输出结果或程序状态的改变),画出因果图。(2)将得到的因果图转换为判定表。(3)为判定表中每一列所表示的情况设计一个测试用例判定表介绍n在一些数据处理问题中,某些操作依赖多个逻辑条件的取值。处理这类问题的一个非常有力的分析和表达工具是判定表n一些软件的功能需求可用判定表表达得非常清楚,在检验程序的功能时判定表也就成为一个非常

3、有力的工具判定表介绍n决策表通常由以下4部分组成:条件桩列出问题的所有条件条件项针对条件桩给出的条件列出所有可能的取值动作桩列出问题规定的可能采取的操作动作项指出在条件项的各组取值情况下应采取的动作 条件桩条件桩动作桩动作桩 条件项条件项 动作项动作项规规则则将任何一个条件组合的特定取值及相应要执行的动作称为一条规则。在决策表中贯穿条件项和动作项的一列就是一条规则。判定表图示判定表举例规则取值12345678问题觉得疲倦YYYYNNNN感兴趣吗YYNNYYNN糊涂吗?YNYNYNYN建议重读继续跳下一章休息条件桩动作桩条件项动作项因果图法步骤 n分析软件规格说明描述中的因果关系(输入与输出的因

4、果关系)n找出原因与结果、原因与原因之间的对应关系,画出因果图n在因果图上标记约束或限制条件n把因果图转化为判定表n将判定表中的每一列拿出来设计测试用例 因果图介绍n因果图中使用4种因果关系符号来表达因果关系:c c1 1e e1 1恒等c c1 1e e1 1 非c c1 1e e1 1或c c2 2c c3 3c c1 1e e1 1与c c2 2因果图介绍n因果图中的4种基本关系 在因果图的基本符号中,图中的左结点ci表示输入状态(或称原因),右结点ei表示输出状态(或称结果)。ci 与 ei 取值0或1,0表示某状态不出现,1则表示某状态出现。n恒等:若 c1 是1,则 e1 也为1,

5、否则 e1 为0。n非:若 c1 是1,则 e1 为0,否则e1为1。n或:若 c1 或 c2 或 c3 是1,则 e1 为1,否则 e1 为0。n与:若 c1 和 c2 都是1,则 e1 为1,否则 e1 为0。因果图介绍n因果图中的约束在实际问题中输入状态相互之间、输出状态相互之间可能存在某些依赖关系,称为“约束”。对于输入条件之间的约束有E(Exclusiveor)、I(In)、O(Only)、R(Request)四种约束,对于输出条件的约束只有M(Mandate)约束。(1)原因与原因之间的约束nE约束(异):输入a和b中最多有一个可能为1,即a和b不能同时 为1。nI 约束(或):输

6、入a、b、c中至少有一个必须为1,即 a、b、c不能同时为0。nO约束(唯一):输入a和b必须有一个且仅有一个为1。nR约束(要求):输入a是1时,输入b必须是1,即a为1时,b不能为0。(2)结果与结果之间的约束nM约束(强制):若结果a为1,则结果b强制为0。因果图介绍n因果图中用来表示约束关系的约束符号:a ab b异异Ea ab b或或Ic ca ab b唯一唯一ORa ab b要求要求Ma ab b强制强制因果图法主题思想(具体)n因果图法最终生成的是决策表。利用因果图生成测试用例的基本步骤如下:(1)分析软件规格说明中哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条

7、件),并给每个原因和结果赋予一个标识符。(即:找出原因和结果)(2)分析软件规格说明中的语义,找出原因与结果之间、原因与原因之间对应的关系,根据这些关系画出因果图。(即:标定因果关系)(3)由于语法或环境的限制,有些原因与原因之间、原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号表明约束或限制条件。(4)把因果图转换为决策表。(5)根据决策表中的每一列设计测试用例。因果图法案例 n第一列字符必须是#或*,第二列字符必须是一个数字,在此情况下进行文件的修改。但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。n解题步骤(1)分析程序的规格说明,

8、列出原因和结果。(2)找出原因与结果之间的因果关系、原因与原因之间的约束关系,画出因果图。(3)在因果图上标记约束或限制条件。(4)将因果图转换成决策表。(5)根据(4)中的决策表,设计测试用例的输入数据和预期输出。因果分析n原因:uc1第一列字符是#uc2第一列字符是*uc3第二列字符是一数字u10 第一列字符是#或是*n结果:ue1给出信息Lue2修改文件ue3给出信息M因果分析(1)分析程序规格说明中的原因和结果:(2)画出因果图(编号为10的中间结点是导出结果的进一步原因):原因结果c1:第一列字符是#e1:给出信息Lc2:第一列字符是*e2:修改文件c3:第二列字符是一个数字e3:给

9、出信息Mc1c2c3e110e2e3E不可能同时存在由因果图建立的判定表(3)将因果图转换成如下所示的决策表:12345678条件:条件:C1C2C310111110101110010111010100100000动作:动作:e1e2e3不可能不可能测试用例测试用例#3#A*6*BA1GT规则规则选项选项从决策表中得到测试用例测试用例编号输入数据预期输出1#3修改文件2#A给出信息M3*6修改文件4*B给出信息M5A1给出信息N6GT给出信息N和信息M(4)根据决策表中的每一列设计测试用例:课堂练习(中国象棋走马下法)1、以中国象棋中马的走法为例子,具体说明:1、如果落点在棋盘外,则不移动棋子

10、;2、如果落点与起点不构成日字型,则不移动棋子;3、如果落点处有自己方棋子,则不移动棋子;4、如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子;5、如果不属于1-4条,且落点处无棋子,则移动棋子;6、如果不属于1-4条,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子;7、如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。请绘制出因果图和判定表,并给出相应的测试用例。课堂练习(中国象棋走马下法)第一步:分析原因和结果原因:1、落点在棋盘外;2、不构成日字;3、落点有自方棋子;4、绊马腿;5、落点无棋子;6、落点为对方棋子(非老将);7、落点为对方老将。

11、结果:21、不移动;22、移动;23、移动己方棋子消除对方棋子;24、移动并战胜对方。课堂练习(中国象棋跳马下法)第二步:画出因果图可以判定程序中应该包括12个函数或方法课堂练习(中国象棋走马下法)第三步:转换成判定表 课堂练习(自动售货机)2、有一个处理单价为5角钱的饮料的自动售货机,其规格说明如下:(1)若投入5角钱或1元钱的硬币,按下橙汁或啤酒的按钮,则相应的饮料就送出来。(2)若售货机没有零钱找,则一个显示零钱找完的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;(3)若有零钱找,则显示零钱找完的红灯灭,在送出饮料的同时退还5角硬币。请绘制出因果图和判定表,并

12、给出相应的测试用例。课堂练习(自动售货机)第一步:分析原因和结果原因:1、售货机有零钱找2、投入1元硬币3、投入5角硬币4、押下橙汁按钮5、押下啤酒按钮结果:21、售货机零钱找完灯亮22、退还1元硬币23、退还5角硬币24、送出橙汁饮料25、送出啤酒饮料课堂练习(自动售货机)第二步:画出因果图课堂练习(自动售货机)第二步:画出因果图所有原因结点列在左边,所有结果结点列在右边。建立中间结点,表示处理的中间状态。中间结点:11、投入1元硬币且押下饮料按钮12、押下橙汁或啤酒的按钮13、应当找5角零钱并且售货机有零钱找14、钱已付清课堂练习(自动售货机)第三步:转换成判定表因果图法总结n优点优点n1

13、、因果图法能够帮助我们按照一定步骤,高效的选择测试用例,设计多个输入条件组合用例n2、因果图分析还能为我们指出,软件规格说明描述中存在的问题n3、可以依据因果图检验需求的逻辑和程序未来应包含的函数或方法。n缺点缺点n1、输入条件与输出结果的因果关系,有时难以从软件需求规格说明书得到。n2、即时得到了这些因果关系,也会因为因果关系复杂导致因果图非常庞大,测试用例数目极其庞大。思考1、因果图法设计测试用例最关键的步骤是什么?(1)找出原因和结果;(2)画出正确的因果图。2、如果原因众多,我们怎么办?按照原因与原因或结果之间的关联关系,将原因和结果之间的因果图细分来分成更小的因果图来测试。习题1、某

14、软件的一个模块的需求规格说明书中描述:(1)年薪制员工:严重过失,扣年终风险金的4%;过失,扣年终风险金的2%。(2)非年薪制员工:严重过失,扣当月薪资的8%;过失,扣当月薪资的4%。请绘制出因果图和判定表,并给出相应的测试用例。错误推测法 n错误推测法是基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性地设计测试用例错误推测法基本思想n列举出程序中所有可能有的错误和容易发生错误的特殊情况来设计测试用例n例如:以前测试时曾出现过错误的地方,包括单元测试、集成测试、系统测试、前几次回归测试输入数据的问题,如是否可为空,是否可以有特殊字符,是否可以小于0、等于0等等一些问题的范围或边界测

15、试方法的选择n通常在确定测试策略时,有以下5条参考原则:(1)在任何情况下都必须采用边界值分析法。这种方法设计出的测试用例发现程序错误的能力最强。(2)必要时采用等价类划分法补充测试用例。(3)采用错误推断法再追加测试用例。(4)对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度。如果没有达到要求的覆盖标准,则应当再补充更多的测试用例。(5)如果程序的功能说明中含有输入条件的组合情况,则应一开始就选用因果图法。习题1、某城市电话号码由三部分组成,分别是:地区码空白或三位数字;前缀非0或1开头的三位数字;后缀4位数字。假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。要

16、求:(1)请选择适当的黑盒测试方法,写出选择该方法的原因,并使用该方法的步骤,给出测试用例表。(2)如果所生成的测试用例不够全面,请考虑用别的测试方法生成一些补充的测试用例。原因:uc1第一列字符是#uc2第一列字符是*uc3第二列字符是一数字uc4为空uc5长度小于2u10 第一列字符是#或是*结果:ue1第一列字符必须是#ue2第一列字符必须是*ue3修改文件ue4第二列字符必须为数字ue5输入不能为空uc6字符串长度不能小于2 c1 e1 E 10 c2 e2 c3 e3 c4 e4 e5 C5 e61 2345678910111213141516条件c1c2c3c4c510动作e1e2e3e4

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁