您好,欢迎访问三七文档
第3章黑盒测试方法黑盒测试法概述1等价类测试2边界值测试3基于决策表的测试4主要内容因果图法5其它方法6黑盒测试13542边界值法等价类划分法其它决策表法因果图法3.4基于决策表的测试定义也称判定表,是分析和表达多逻辑条件下执行不同操作的情况的工具决策表的用途能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏,设计出完整的测试用例集合。一个决策表由“条件和活动”两部分组成,也就是列出了一个测试活动执行所需的条件组合。所有可能的条件组合定义了一系列的选择,而测试活动需要考虑每一个选择。决策表举例12345678问题你觉得疲倦吗?YYYYNNNN你对内容感兴趣吗?YYNNYYNN书中内容使你胡涂吗?YNYNYNYN建议请回到本章开头重读√继续读下去√跳到下一章去读√√停止阅读,请休息√√√√读书指南决策表决策表的组成条件桩:列出了问题得所有条件。通常认为列出的条件的次序无关紧要。动作桩:列出了问题规定可能采取的操作。这些操作的排列顺序没有约束。条件项:列出针对它左列条件的取值。在所有可能情况下的真假值。动作项:列出在条件项的各种取值情况下应该采取的动作。规则:任何一个条件组合的特定取值及其相应要执行的操作称为规则。决策表举例12345678问题你觉得疲倦吗?YYYYNNNN你对内容感兴趣吗?YYNNYYNN书中内容使你胡涂吗?YNYNYNYN建议请回到本章开头重读√继续读下去√跳到下一章去读√√停止阅读,请休息√√√√条件桩动作桩条件项规则动作项规则合并(化简)将具有相同动作,并且其条件项之间存在着极为相似关系的两条或多条规则合并为一条规则1234问题你觉得疲倦吗?YNNN你对内容感兴趣吗?-YYN书中内容使你胡涂吗?-YN-建议请回到本章开头重读√继续读下去√跳到下一章去读√停止阅读,请休息√12345678问题你觉得疲倦吗?YYYYNNNN你对内容感兴趣吗?YYNNYYNN书中内容使你胡涂吗?YNYNYNYN建议请回到本章开头重读√继续读下去√跳到下一章去读√√停止阅读,请休息√√√√决策表的类型有限条目决策表所有条件都是二叉条件(真/假)决策表扩展条目决策表条件可以有多个值决策表的建立步骤1列出所有的条件桩和动作桩2确定规则的个数3填入条件项4填入动作项5合并相似规则实战演习1以下列问题为例给出构造决策表的具体过程。如果某产品销售好并且库存低,则增加该产品的生产;如果该产品销售好,但库存量不低,则继续生产;若该产品销售不好,但库存量低,则继续生产;若该产品销售不好,且库存量不低,则停止生产。实战演习1解法如下:确定规则的个数。对于本题有2个条件(销售、库存),每个条件可以有两个取值,故有22=4种规则。列出所有的条件桩和动作桩。填入条件项。填入动作项,得到初始决策表,如下表所示。规则选项1234条件:C1:销售好?C2:库存低?TTTFFTFF动作:a1:增加生产a2:继续生产a3:停止生产√√√√实战演习2问题要求:”……对功率大于50马力的机器、维修记录不全或已运行10年以上的机器,应给予优先的维修处理……”。这里假定,“维修记录不全”和“优先维修处理”均已在别处有更严格的定义。请建立决策表。列出所有的条件桩和动作桩;填入条件项;填入动作项,制定初始判定表;简化、合并相似规则或者相同动作。优化两项因素没有影响进一步优化实战演习2案例分析-三角形问题1列出所有的条件桩和行动桩C1:ab+c?C2:ba+c?C3:Ca+b?C4:a=b?C5:a=c?C6:b=c?条件桩非三角形一般三角形等腰三角形等边三角形不可能行动桩2确定规则的个数2^6=64规则数3填入条件项4填入动作项C1:ab+c?FFFFFFFFFF…C2:ba+c?FFFFFFFFFF…C3:Ca+b?FFFFFFFFTT…C4:a=b?FFFFTTTTFF…C5:a=c?FFTTFFTTFF…C6:b=c?FTFTFTFTFT…A1:非三角形√√√√√√√√√√A2:一般三角形A3:等腰三角形A4:等边三角形A5:不可能5合并相似规则C1:ab+c?FFFFFFFFFF…C2:ba+c?FFFFFFFFFF…C3:Ca+b?FFFFFFFFTT…C4:a=b?FFFFTTTTFF…C5:a=c?FFTTFFTTFF…C6:b=c?FTFTFTFTFT…A1:非三角形√√√√√√√√√√A2:一般三角形A3:等腰三角形A4:等边三角形A5:不可能C1:ab+c?FTTTTTTTTTTC2:ba+c?-FTTTTTTTTTC3:Ca+b?--FTTTTTTTTC4:a=b?---TTTTFFFFC5:a=c?---TTFFTTFFC6:b=c?---TFTFTFTFA1:非三角形√√√A2:一般三角形√A3:等腰三角形√√√A4:等边三角形√A5:不可能√√√6得到测试用例用例IDabc预期输出DT1412非三角形DT2142非三角形DT3124非三角形DT4555等边三角形DT5???不可能DT6???不可能DT7223等腰三角形DT8???不可能DT9232等腰三角形DT10322等腰三角形DT11345不等边三角形案例分析-NextDate函数(方法一)NextDate是一个有三个变量(月份、日期和年)的函数。函数返回输入日期后面的那个日期。变量月份、日期和年都为整数,且满足以下条件:C1.1=月份=12C2.1=日期=31C3.1912=年=20501=M=12?FFFFTTTT1=D=31FFTTFFTT1912=Y=2050FTFTFTFTA1:无效输入√√√√√√√A2:?√列出所有的条件桩和行动桩为什么?等价类M1={月份:每月有30天}M2={月份:每月有31天}M3={月份:此月是2月}D1={日期:1=日期=28}D2={日期:日期=29}D3={日期:日期=30}D4={日期:日期=31}Y1={年:年是闰年}Y2={年:年是平年}办法会有的…条件桩C1:月份在M1中C2:月份在M2中C3:月份在M3中C4:日期在D1中C5:日期在D2中C6:日期在D3中C7:日期在D4中C8:年是闰年C9:年是平年2^9=512太大!规则数?等价类M1={月份:每月有30天}M2={月份:每月有31天}M3={月份:此月是2月}D1={日期:1=日期=28}D2={日期:日期=29}D3={日期:日期=30}D4={日期:日期=31}Y1={年:年是闰年}Y2={年:年是平年}条件桩C1:月份在{M1,M2,M3}中之一C2:日期在{D1,D2,D3,D4}中之一C3:年在{Y1,Y2}中之一新办法…条件12345678910111213..C1:月份在M1M1M1M1M1M1M1M1M2M2M2M2M2..C2:日在D1D1D2D2D3D3D4D4D1D1D2D2D3..C3:年在Y1Y2Y1Y2Y1Y2Y1Y2Y1Y2Y1Y2Y1..有多少条规则?条件桩C1:月份在{M1,M2,M3}中之一C2:日期在{D1,D2,D3,D4}中之一C3:年在{Y1,Y2}中之一案例分析-NextDate函数的测试用例确定行动桩…A1:不可能A2:日期增1A3:日期复位(置1)A4:月份增1A5:月份复位(置1)A6:年增1NextDate函数的扩展条目决策表条件1234567891011121314C1:月份在M1M1M1M1M2M2M2M2M3M3M3M3M3M3C2:日在D1D2D3D4D1D2D3D4D1D1D2D2D3D4C3:年在--------Y1Y2Y1Y2--A1:不可能√√√√A2:日增1√√√√√√?A3:日复位√√?√A4:月增1√??√A5:月复位?A6:年增1?注意规则8,10案例分析-NextDate函数(方法二)利用等价类M1={月份:每月有30天}M2={月份:每月有31天,12月除外}M3={月份:此月是12月}M4={月份:此月是2月}D1={日期:1=日期=27}D2={日期:日期=28}D3={日期:日期=29}D4={日期:日期=30}D5={日期:日期=31}Y1={年:年是闰年}Y2={年:年是平年}条件C1:月份在{M1,M2,M3,m4}中之一C2:日期在{D1,D2,D3,D4,D5}中之一C3:年在{Y1,Y2}中之一问题:可得到?条规则新的NextDate函数的扩展条目决策表:条件12345678910C1:月份在M1M1M1M1M1M2M2M2M2M2C2:日在D1D2D3D4D5D1D2D3D4D5C3:年在----------A1:不可能√A2:日增1√√√√√√√A3:日复位√√A4:月增1√√A5:月复位A6:年增1新的NextDate函数的扩展条目决策表续…:(结合不关心条目,可得到有22条规则的决策表)条件111213141516171819202122C1:月份在M3M3M3M3M3M4M4M4M4M4M4M4C2:日在D1D2D3D4D5D1D2D2D3D3D4D5C3:年在------Y1Y2Y1Y2--A1:不可能√√√A2:日增1√√√√√√A3:日复位√√√A4:月增1√√A5:月复位√A6:年增1√同步练习用例ID月份日期年预期输出123456789请写出NextDate函数的前9个测试用例:用例ID月份日期年预期输出141220012001年4月13日242820012001年4月29日342920042004年4月30日443020042004年5月1日54312001不可能651220012001年5月13日752820042004年5月29日852920042004年5月30日953020012001年5月31日课堂练习某学生成绩管理系统,要求“对平均成绩在90分以上,且没有不及格科目的学生,或班级成绩排名在前五位的学生,在程序中将学生的姓名用红色标识”,请建立该判定表。建议建议当测试逻辑时,决策表是一个非常好的选择.为了降低测试用例个数,可以使用扩展项决策表决策表并不是专用于设计测试用例的方法,它同样可以应用于其他方面,例如需求分析
本文标题:黑盒测试-决策表
链接地址:https://www.777doc.com/doc-624582 .html