软件测试基础系列培训 判定表与因果图法

上传人:新** 文档编号:578174151 上传时间:2024-08-23 格式:PPT 页数:55 大小:2.27MB
返回 下载 相关 举报
软件测试基础系列培训 判定表与因果图法_第1页
第1页 / 共55页
软件测试基础系列培训 判定表与因果图法_第2页
第2页 / 共55页
软件测试基础系列培训 判定表与因果图法_第3页
第3页 / 共55页
软件测试基础系列培训 判定表与因果图法_第4页
第4页 / 共55页
软件测试基础系列培训 判定表与因果图法_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《软件测试基础系列培训 判定表与因果图法》由会员分享,可在线阅读,更多相关《软件测试基础系列培训 判定表与因果图法(55页珍藏版)》请在金锄头文库上搜索。

1、高效测试用例设计(3)判定表与因果图法n内部资料,请勿外传技术质量部2009年08月软件测试基础系列培训ST-2009-006范围与目标课程目标:理解判定表和因果图法概念掌握判定表和因果图法设计测试用例方法2内容提要第一节:判定表法判定表的概念判定表的组成判定表的建立判定表法举例第二节:因果图法第三节:实例讲解3引入判定表4条件动作桩条件动作桩条件动作项条件动作项规则规则条件桩价格500YYNN没有过期YNNY动作桩发出提货单发出发货单发出客户通知单客户订货单中,价格在500以上,且没有过期的,发出提货单和发货单;在500以上,已过期的,只发提货单,在500以下的,不论是否过期,都发出提货单和

2、发货单,其中已过期的,还发出客户通知单判定表的概念判定表是分析和表达多逻辑条件下执行不同操作的情况的工具其优点:将复杂的问题按照各种可能的情况全部列举出来简明并避免遗漏能够设计出比较完整的测试用例集合5判定表的概念(续)适用于针对不同逻辑条件的组合值,分别执行不同的操作如ifelse或者switchcase这种选择结构不能表达重复执行的动作,例如循环结构6判定表的组成判定表通常由4部分组成:7条件桩条件项动作桩动作项规则判定表的组成(续)条件桩列出问题的所有条件条件项针对条件桩给出的条件列出所有可能的取值动作桩列出问题规定的可能采取的操作动作项指出在条件项的各组取值情况下应采取的动作8判定表的

3、组成(规则)规则任何一个条件组合的特定取值及其相应要执行的操作称为规则在判定表中贯穿条件项和动作项的一列就是一条规则。也即判定表中列出多少组条件取值,就有多少条规则,既条件项和动作项有多少列9判定表的组成(规则)规则化简就是规则合并有两条或多条规则具有相同的动作,并且其条件项之间存在着极为相似的关系10判定表的组成(规则)如下图左端,两规则动作项一样,条件项类似,在1、2条件项分别取Y、N时,无论条件3取何值,都执行同一操作。即要执行的动作与条件3无关,于是可合并,“”表示与取值无关:11YYNNYNXXYN-X判定表的组成(规则)与上类似,下图中,无关条件项“”可包含其他条件项取值,具有相同

4、动作的规则可合并12YY-NNNXXY-NX1312345678问题觉得疲倦?YYYYNNNN感兴趣吗?YYNNYYNN糊涂吗?YNYNYNYN建议重读继续跳下一章休息大家想一想如何将下表进行化简判定表的组成(规则)141234问题你觉得疲倦吗?NNYN你对内容感兴趣吗?YY-N书中内容使你胡涂吗?YN-建议请回到本章开头重读x继续读下去x跳到下一章去读x停止阅读,请休息x判定表的组成(规则)化简后的判定表如下:判定表的建立15构造判定表的5个步骤:确定规则的个数有n个条件的判定表有2n个规则(每个条件取真、假值)列出所有的条件桩和动作桩填入条件项填入动作项,得到初始判定表简化判定表,合并相似

5、规则判定表的应用适用于使用判定表设计测试用例的条件:规格说明以判定表形式给出,或较容易转换为判定表条件的排列顺序不会也不应影响执行的操作规则的排列顺序不会也不应影响执行的操作当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则如果某一规则的条件要执行多个操作,这些操作的执行顺序无关紧要16判定表法举例”对功率大于50马力的机器且维修记录不全或已运行10年以上的机器,应给予优先的维修处理”。这里假定,“维修记录不全”和“优先维修处理”均已在别处有更严格的定义。请建立判定表17判定表法举例(续)(1)确定规则的个数:以上描述有3个条件,每个条件有两个取值,故应有2*2*2=8种规则18

6、(2)列出所有的条件桩和动作桩条件功率大于50马克吗?维修记录不全吗?运行超过10年吗?动作进行优先处理作其他处理判定表法举例(续)(3)填入条件项,可从最后1行条件项开始,逐行向上填满19(4)填入动作桩和动作项,这样便得到形如下页的初始判定表判定表法举例(续)2012345678条条件件功率大于功率大于50马力吗?马力吗?YYYYNNNN维修记录不全吗?维修记录不全吗?YYNNYY NN运行超过运行超过10年吗?年吗?YNYNYNYN动作作进行优先处理进行优先处理XXXXX作其他处理作其他处理 X X X课堂练习以学生的奖学金评定为例,说明判定表的应用决定受奖的条件为:成绩优秀占70或50

7、以上成绩为中或中以下占15或20以下团结纪律为优良或一般者奖励方案为:一等奖、二等奖、三等奖、鼓励奖四种描述此学生奖励政策的判定表见下页:21课堂练习(续)22条件已修课程各科成绩比率优秀70%YYYYNNNN状态优秀50%-YYYY中以下15%YYNNYYNN中以下20%-YY-YY团结纪律评分优良YNYNYNYN一般NYNYNYNY奖励方案一等奖*判定规则二等奖*三等奖*鼓励奖*内容提要第一节:判定表法第二节:因果图法什么是因果图使用因果图导出测试用例因果图的基本图形符号和约束符号因果图法举例第三节:实例讲解23什么是因果图法定义 利用图解法分析输入的各种组合情况,从而设计测试用例的方法,

8、它适合于检查程序输入条件的各种组合情况产生的背景等价类划分法和边界值分析方法没有考虑输入条件的各种组合及相互制约关系。可能忽视多个输入条件组合起来可能出错的情况因果图适用于描述多种条件的组合、相应产生多个动作的形式24什么是因果图法(续)25其优点考虑了多个输入之间的相互组合及制约关系能帮我们按一定步骤,高效率地选择测试用例为我们指出程序规格说明描述中存在着什么问题其缺点输入条件与输出结果的因果关系,有时难以从软件需求规格说明书得到即便得到了这些因果关系,也会因为因果关系复杂导致因果图非常庞大,测试用例数目极其庞大因果图的基本图形符号因果图中用来表示4种因果关系的基本符号:26c c1 1e

9、e1 1恒等c c1 1e e1 1非c c1 1e e1 1或c c2 2c c3 3c c1 1e e1 1与c c2 2因果图的基本图形符号(续)图中的左结点ci表示输入状态(或称原因),右结点ei表示输出状态(或称结果)ci与ei取值0或1,0表示某状态不出现,1则表示某状态出现因果图中的4种基本关系恒等:若c1是1,则e1也为1,否则e1为0非:若c1是1,则e1为0,否则e1为1或:若c1或c2或c3是1,则e1为1,否则e1为0与:若c1和c2都是1,则e1为1,否则e1为027因果图的约束符号因果图中用来表示约束关系的约束符号:28a ab b异Ea ab b或Ic ca ab

10、 b唯一ORa ab b要求Ma ab b强制因果图的约束符号(续)输入状态、输出状态相互之间可能存在某些依赖关系,称为“约束”输入条件的约束:E、I、O、R输出条件的约束:ME约束(异):a和b中最多有一个可能为1,即a和b不能同时为1I约束(或):a、b、c中至少有一个必须为1,即:a、b、c不能同时为0O约束(唯一):a和b必须有一个且仅有一个为1R约束(要求):a是1时,b必须是1,即a为1时,b不能为0M约束(强制):若结果a为1,则结果b强制为029因果图导出测试用例的步骤因果图法最终生成的是判定表利用因果图生成测试用例的基本步骤如下:(1)分析原因(即输入条件或输入条件的等价类)

11、和结果(即输出条件)(2)找出原因与结果之间、原因与原因之间对应关系,画出因果图(3)在因果图上用一些记号表明约束或限制条件,来表示有些原因与原因之间、原因与结果之间的组合情况不可能出现(4)把因果图转换为判定表(5)根据判定表中的每一列设计测试用例30因果图法举例程序的规格说明要求:输入的第一个字符必须是#或*,第二个字符必须是一个数字,此情况下进行文件的修改;如果第一个字符不是#或*,则给出信息N,如果第二个字符不是数字,则给出信息M31因果图法举例(续)解题步骤:(1)分析程序的规格说明,列出原因和结果(2)找出原因与结果之间的因果关系、原因与原因之间的约束关系,画出因果图(3)将因果图

12、转换成判定表(4)根据(3)中的判定表,设计测试用例的输入数据和预期输出32因果图法举例(续)33原因结果 c1:第一个字符是# e1:给出信息N c2:第一个字符是* e2:修改文件 c3:第二个字符是一个数字 e3:给出信息M(1)分析程序规格说明中的原因和结果:因果图法举例(续)34c c1 1c c2 2c c3 3e e1 11010e e2 2e e3 3E(2)画出因果图(编号为10的中间结点是导出结果的进一步原因):35(3)将因果图转换成判定表:12345678条件:条件:C1C2C310111110101110010111010100100000动作:动作:e1e2e3不可

13、能不可能测试用例测试用例#1#A*2*BC3DE因果图法举例(续)36因果图法举例(续)(4)根据判定表中的每一列设计测试用例:测试用例编号输入数据预期输出1#1修改文件2#A给出信息M3*2修改文件4*B给出信息M5C3给出信息N6DE给出信息N和信息M内容提要第一节:判定表法第二节:因果图法第三节:实例讲解以自动售货机软件为例3738有一个处理单价为3元钱的饮料的自动售货机软件测试用例的设计其规格说明如下:“若投入3或5元钱,押下橙汁或雪碧的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示零钱找完的红灯亮,这时在投入5元并押下按钮后,饮料不送出来而且5元也退出来;若有零钱找,则显

14、示零钱找完的红灯灭,在送出饮料的同时退还2元硬币。实例讲解39实例讲解(续)原因:1.售货机有零钱找3.投入3元5.押下雪碧按钮2.投入5元4.押下橙汁按钮结果:21.售货机零钱找完灯亮24.送出橙汁饮料22.退还5元25.送出雪碧饮料23.退还2元(1)分析这一段说明,列出原因和结果 40实例讲解(续)(2)画出因果图,如下页图所示。所有原因结点列在左边,所有结果结点列在右边。建立两个中间结点,表示处理的中间状态中间结点:11.投入5元且押下饮料按钮12.押下橙汁或雪碧的按钮13.应当找2元零钱并且售货机有零钱找14.钱已付清41实例讲解(续)2 21 13 34 4252512121111

15、1414212113132424222223235 5EE售货机有零钱找投入3元投入5元押下橙汁按钮押下雪碧按钮售货机零钱找完灯亮送出橙汁饮料退还5元退还2元送出雪碧饮料钱付清押下按钮可找2元该找2元42实例讲解(续)(3)由于2与3,4与5不能同时发生,分别加上约束条件E(4)转换成判定表在判定表中,阴影部分表示因违反约束条件的不可能出现的情况,删去。第16列与第32列因什么动作也没做,也删去。最后可根据剩下的16列作为确定测试用例的依据。参看下页课堂练习以中国象棋中走马的测试用例设计为例学习因果图的使用方法44课堂练习(解答)45分析中国象棋中走马的实际情况1、如果落点在棋盘外,则不移动棋

16、子;2、如果落点与起点不构成日字型,则不移动棋子;3、如果落点处有自己方棋子,则不移动棋子;4、如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子;5、如果不属于1-4条,且落点处无棋子,则移动棋子;6、如果不属于1-4条,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子;7、如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。课堂练习(解答)46根据分析明确原因和结果原因:1、落点在棋盘上;2、落点与起点构成日字;3、落点处为自己方棋子;4、落点方向的邻近交叉点无棋子;5、落点处无棋子;6、落点处为对方棋子(非老将);7、落点处为对方老将。课堂练习(解答

17、)47结果:21、不移动棋子;22、移动棋子;23、移动棋子,并除去对方棋子;24、移动棋子,并提示战胜对方,结束游戏。添加中间节点11,目的是作为导出结果的进一步原因,简化因果图导出的判定表课堂练习(解答)482 21 13 35 524247 74 411112323212122226 60E课堂练习(解答)49考虑结果不能同时发生,所以对其施加唯一约束O。原因5、6、7不能同时发生,所以对其施加异约束E.根据因果图建立判定表(略)课程回顾判定表和因果图的概念判定表的组成和建立因果图的基本符号和约束符号因果图和判定表设计用例的步骤50问题思考接口如何测试?51提问时间欢迎大家提问、讨论!5

18、2课后作业(判定表)某厂对一部分职工重新分配工作,分配原则是:年龄不满20岁,文化程度是小学者脱产学习,文化程度是中学者当电工。年龄满20岁但不足50岁,文化程度是小学或中学者,男性当钳工,女性当车工;文化程度是大学者当技术员。年龄满50岁及50岁以上,文化程度是小学或中学者当材料员,文化程度是大学者当技术员。根据以上描述,建立判定表。53课后作业(因果图)奖金计算软件:员工分为普通员工和管理人员员工表现分为普通,优秀和特出贡献(普通和优秀员工都可能有特出贡献,普通员工表现为普通、优秀、特出贡献和管理人员表现为普通、优秀,特出贡献拿的奖金是不同的)根据以上描述用因果图设计用例。54严谨求实协作改进55

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号