您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 第3章(3)黑盒测试方法3-决策表法
软件测试第3章黑盒测试方法——决策表法目录决策表法思想1决策表的生成2决策表法设计测试用例3决策表的简化4决策表应用51决策表法思想决策表的概念:决策表是分析和表达多逻辑条件下执行不同操作情况的工具。在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执行不同的操作。决策表很适合于处理这类问题。决策表实例决策表的优点:能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。因此,利用决策表能够设计出完整的测试用例集合。最为严格,最具逻辑性的测试方法。决策表的组成决策表通常由以下4部分组成:条件桩—列出问题的所有条件条件项—针对条件桩给出的条件列出所有可能的取值动作桩—列出问题规定的可能采取的操作动作项—指出在条件项的各组取值情况下应采取的动作条件桩动作桩条件项动作项规则将任何一个条件组合的特定取值及相应要执行的动作称为一条规则。在决策表中贯穿条件项和动作项的一列就是一条规则。决策表示例规则选项123,4567,8条件:c1c2c3TTTTTFTF-FTTFTFFF-动作:a1a2a3a4√√√√√√√√√条件桩动作项动作桩条件项决策表的生成若c1、c2、c3都为真,则采取动作a1和a2;若c1、c2都为真,c3为假,则采取动作a1和a3;在c1为真c2为假条件下规则中的c3条目叫做“不关心(条件无关或条件不适用)”条目。将任何一个条件组合的特定取值及相应要执行的动作称为一条规则,在决策表中贯穿条件项和动作项的一列就是一条规则。决策表的生成----构造决策表的5个步骤:(1)确定规则的个数。有n个条件的决策表有2n个规则(每个条件取真、假值)。(2)列出所有的条件桩和动作桩。(3)填入条件项。(4)填入动作项,得到初始决策表。(5)简化决策表,合并相似规则。若表中有两条以上规则具有相同的动作,并且在条件项之间存在极为相似的关系,便可以合并。合并后的条件项用符号“-”表示,说明执行的动作与该条件的取值无关,称为无关条件。决策表的简化简化是以合并相似规则为目标;若表中有两条以上规则具有相同的动作,并且在条件项之间存在极为相似的关系,便可以合并。NYNNYY√√-NY√NNN-YY√√N-Y√将“阅读指南”决策表简化规则选项1~4567~8问题觉得疲倦吗YNNN感兴趣吗YYN糊涂吗YN-建议重读√继续√跳下一章√休息√热热身吧三角形问题决策表法设计测试用例。要求:a)能判断其是否为三角形,非等边三角形,等腰三角形,等边三角形。b)画出决策表,并简化。三角形问题决策表1.确定规则个数。(有4个条件,每个条件两个取值,故有24=16种规则)2.列出所有的条件桩和动作桩3.填入输入项4.填入动作项,得到初始决策表5.化简。(合并相似规则)三角形问题决策表规则选项1-8910111213141516c1:a、b、c构成三角形?NYYYYYYYYc2:a=b?-YYYYNNNNc3:a=c?-YYNNYYNNc4:b=c?-YNYNYNYNa1:非三角形√a2:不等边三角形√a3:等腰三角形√√√a4:等边三角形√a5:不可能√√√测试用例测试IDabc预期输出Test1412非三角形Test2666等边三角形Test3???不可能Test4???不可能Test5335等腰三角形Test6???不可能Test7353等腰三角形Test8533等腰三角形Test9345不等边三角形决策表应用决策表最突出的优点是,能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。利用决策表能够设计出完整的测试用例集合。运用决策表设计测试用例可以将条件理解为输入,将动作理解为输出NextDate函数的决策表测试用例设计M1:{month:month有30天}M2:{month:month有31天,12月除外}M3:{month:month是12月}M4:{month:month是2月}D1:{day:1≤day≤27}D2:{day:day=28}D3:{day:day=29}D4:{day:day=30}D5:{day:day=31}Y1:{year:year是闰年}Y2:{year:year不是闰年}案例分析month变量的有效等价类:M1:{month=4,6,9,11}M2:{month=1,3,5,7,8,10}M3:{month=12}M4:{month=2}day变量的有效等价类:D1:{1≤day≤27}D2:{day=28}D3:{day=29}D4:{day=30}D5:{day=31}year变量的有效等价类:Y1:{year是闰年}Y2:{year不是闰年}程序中可能采取的操作有以下六种:a1:不可能a2:day+1a3:day=1a4:month+1a5:month=1a6:year+1规则选项1234567891011条件:c1:monthc2:dayc3:yearM1D1-M1D2-M1D3-M1D4-M1D5-M2D1-M2D2-M2D3-M2D4-M2D5-M3D1-动作:a1:不可能a2:day加1a3:day复位a4:month加1a5:month复位a6:year加1√√√√√√√√√√√√√选项规则1213141516171819202122条件:c1:monthc2:dayc3:yearM3D2-M3D3-M3D4-M3D5-M4D1-M4D2Y1M4D2Y2M4D3Y1M4D3Y2M4D4-M4D5-动作:a1:不可能a2:day加1a3:day复位a4:month加1a5:month复位a6:year加1√√√√√√√√√√√√√√√简化NextDate函数决策表规则1、2、3都涉及有30天的月份day类D1、D2和D3,并且它们的动作项都是day加1,因此可以将规则1、2、3合并。类似地,有31天的月份day类D1、D2、D3和D4也可合并,2月的D4和D5也可合并。简化后的NextDate函数决策表1-3456-91011-1415161718192021-22条件:c1:monthc2:dayc3:yearM1--M1D4-M1D5-M2--M2D5-M3--M3D5-M4D1-M4D2Y1M4D2Y2M4D3Y1M4D3Y2M4D4、D5-动作a1:不可能a2:day加1a3:day复位a4:month加1a5:month复位a6:year加1√√√√√√√√√√√√√√√√√√测试用例表测试用例monthdayyear预期输出Test1-Test3616200117/6/2001Test463020041/7/2004Test56312001不可能Test6-Test9816200417/8/2004Test1083120011/9/2001Test11-Test141216200417/12/2004Test115123120011/1/2002Test16216200417/2/2004Test17228200429/2/2004Test1822820011/3/2001Test1922920041/3/2001Test202292001不可能Test21-Test222302004不可能决策表测试的适用范围if-else逻辑突出;恒等:IFATHENB非:IF(NOTA)THENB或:IF(AORB)THENC与:IF(AANDB)THENC输入变量之间存在逻辑关系;涉及输入变量子集的计算;输入与输出之间存在因果关系;适用于使用决策表设计测试用例:规格说明以决策表形式给出,或较容易转换为决策表;条件的排列顺序不会也不应影响执行的操作;规则的排列顺序不会也不应影响执行的操作;当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则;如果某一规则的条件要执行多个操作任务,这些操作的执行顺序无关紧要。习题1、某软件的一个模块的需求规格说明书中描述:“……对于功率大于50马力的机器或者维修记录不全的或已经运行10年以上的机器应予以优先的维修处理……”。这里假定“维修记录不全”和“优先维修处理”有严格的定义。请建立该需求的决策表,并绘制出化简(合并规则)后的决策表。2.某厂对一部分职工重新分配工作,分配原则是:(1)年龄不满20岁,文化程度是小学者脱产学习,文化程度是中学者当电工;(2)年龄满20岁但不足50岁,文化程度是小学或中学者,男性当钳工,女性当车工;文化程度是大学者技术员;(3)年龄满50及50以上,文化程度是小学或中学者当材料员,文化程度是大学者当技术员。试分析规格说明书,建立决策表,并简化
本文标题:第3章(3)黑盒测试方法3-决策表法
链接地址:https://www.777doc.com/doc-3788111 .html