软件测试白盒黑盒测试第2章(5)课件_第1页
软件测试白盒黑盒测试第2章(5)课件_第2页
软件测试白盒黑盒测试第2章(5)课件_第3页
软件测试白盒黑盒测试第2章(5)课件_第4页
软件测试白盒黑盒测试第2章(5)课件_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

决策表在所有的黑盒测试方法中,基于决策表(也称判定表)的测试是最为严格、最具有逻辑性的测试方法。决策表的概念:决策表是分析和表达多逻辑条件下执行不同操作的情况的工具。决策表的优点:能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。因此,利用决策表能够设计出完整的测试用例集合。在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执行不同的操作。决策表很适合于处理这类问题。规则选项12345678问题觉得疲倦?YYYYNNNN感兴趣吗?YYNNYYNN糊涂吗?YNYNYNYN建议重读√继续√跳下一章√√休息√√√√“阅读指南”决策表决策表的组成决策表通常由以下4部分组成:条件桩—列出问题的所有条件条件项—针对条件桩给出的条件列出所有可能的取值动作桩—列出问题规定的可能采取的操作动作项—指出在条件项的各组取值情况下应采取的动作

条件桩动作桩条件项动作项规则将任何一个条件组合的特定取值及相应要执行的动作称为一条规则。在决策表中贯穿条件项和动作项的一列就是一条规则。决策表的化简有n个条件的决策表,对应的规则将有2n条,当n非常大的时候,这是非常繁琐的。因此,应对决策表进行化简.决策表的化简包括两个方面:决策表的化简(1)合并如果一个条件项(表中某列中的条件值)和另外一个条件项所产生的动作是相同的,且两个条件项对应的每一行的值只有一个是不同的,则可以将其合并.合并的项除了不同值变成”不关心”条目外,其余不变NYNNYY√√-NY√决策表的化简(2)包含如果两个条件项的动作是相同的,对任意条件1的值和条件2中对应的值,如果满足:A.如果条件1的值是T(F),则条件2中的值也是T(F).B.如果条件1的值是-(不关心),则条件2中的值是T,F,-,称条件1包含条件2,条件2可以撤去.重复A,B就可以得到精简的决策表.NNN-YY√√N-Y√决策表的简化 简化是以合并相似规则为目标;若表中有两条以上规则具有相同的动作,并且在条件项之间存在极为相似的关系,便可以合并。NYNNYY√√-NY√NNN-YY√√N-Y√规则选项12345678问题觉得疲倦?YYYYNNNN感兴趣吗?YYNNYYNN糊涂吗?YNYNYNYN建议重读√继续√跳下一章√√休息√√√√“阅读指南”决策表将“阅读指南”决策表简化规则选项1~4567~8问题觉得疲倦吗YNNN感兴趣吗-YYN糊涂吗-YN-建议重读√继续√跳下一章√休息√决策表的生成构造决策表的5个步骤:(1)确定规则的个数。有n个条件的决策表有2n个规则(每个条件取真、假值)。(2)列出所有的条件桩和动作桩。(3)填入条件项。(4)填入动作项,得到初始决策表。(5)简化决策表,合并相似规则。若表中有两条以上规则具有相同的动作,并且在条件项之间存在极为相似的关系,便可以合并。合并后的条件项用符号“-”表示,说明执行的动作与该条件的取值无关,称为无关条件。三角形问题的决策表例以三角形问题给出构造决策表的5个步骤。(1)确定规则个数。例如,三角形问题的决策表有4个条件:c1:a、b、c构成三角形?c2:a=b?c3:a=c?c4:b=c?每个条件可以取两个值,故有24=16种规则。(2)列出所有的条件桩和动作桩。(3)填入输入项。(4)填入动作项,得到初始决策表。(5)化简。合并相似规则后得到三角形问题的决策表三角形问题的决策表规则选项规则1-8规则9规则10规则11规则12规则13规则14规则15规则16条件:c1:a,b,c构成三角形?c2:a=b?c3:a=c?c4:b=c?

N---

YYYY

YYYN

YYNY

YYNN

YNYY

YNYN

YNNY

YNNN动作:a1:非三角形a2:一般三角形a3:等腰三角形a4:等边三角形a5:不可能

√√√√√√修改条件桩使有限条目决策表成为扩展条目决策表某付款程序实现如下功能:普通顾客一次购物累计少于100元,不打折,一次购物累计多于或等于100元,打9折;会员顾客按会员价格一次购物累计少于1000元,打8折,一次购物累计等于或多于1000元打7折。用决策表法设计其测试用例。修改条件桩使有限条目决策表成为扩展条目决策表从该程序的功能可以看出: 程序的输出即顾客的应付款由顾客的身份和其购物金额决定,这样我们可以把顾客的身份和其购物金额当作条件桩,把程序的输出当作动作桩。修改条件桩使有限条目决策表成为扩展条目决策表1列出所有的条件桩和动作桩

C1:会员顾客?C2:普通顾客?C3:购物金额<100?C4:购物金额>=100?C5:购物金额<1000?C6:购物金额>=1000?条件桩A1:打7折A2:打8折A3:打9折A4:不打折A5:不可能动作桩修改条件桩使有限条目决策表成为扩展条目决策表列出所有的条件桩和动作桩

C1:会员顾客?C2:普通顾客?C3:购物金额<100?C4:购物金额>=100?C5:购物金额<1000?C6:购物金额>=1000?条件桩A1:打7折A2:打8折A3:打9折A4:不打折A5:不可能动作桩26=64太大!规则数修改条件桩使有限条目决策表成为扩展条目决策表动作桩:A1:打7折A2:打8折A3:打9折A4:不打折修改条件桩使有限条目决策表成为扩展条目决策表

条件桩:C1:顾客为会员或普通顾客C2:购物金额为(0,100)或[100,1000)或[1000,∞)修改条件桩使有限条目决策表成为扩展条目决策表规则桩123456C1:顾客为会员或普通顾客会员会员会员普通普通普通C2:购物金额为(0,100)或[100,1000)或[1000,∞)(0,100)[100,1000)[1000,∞)(0,100)[100,1000)[1000,∞)A1:打7折√A2:打8折√√A3:打9折√√A4:不打折√修改条件桩使有限条目决策表成为扩展条目决策表用例顾客身份购物金额预期输出1会员5040(打8折)2会员500400(打8折)3会员20001400(打7折)4普通5050(不打折)5普通500450(打9折)6普通20001800(打9折)NextDate函数为了获得下一个日期,NextDate函数执行如下操作:如果输入日期不是当月最后一天,则把day变量的值加1;如果输入日期是1~11月份中某月的最后一天,则把day变量的值复位为1,month变量的值加1;如果输入日期是12月的最后一天,则day变量和month变量的值都复位为1,year变量的值加1。关于最后一天的判断:如果是有31天的月份(1,3,5,7,8,10,12),day变量值为31;如果是有30天的月份(4,6,9,11),day变量值为30;如果是有29天的月份(闰年的2月),day变量值为29;如果是有28天的月份(非闰年的2月),day变量值为28。NextDate函数的决策表测试用例设计问题分析:NextDate函数中有两种复杂性的输入来源:一是所讨论的输入域的复杂性,二是确定闰年的规则,并要增加“额外天(2月29日)”。NextDate函数的三个变量之间在输入定义域中存在一定的逻辑依赖关系,由于等价类划分和边界值分析测试都假设了变量是独立的,如果采用上述两种方法设计测试用例,那么这些依赖关系在机械的选取输入值时可能会丢失。而采用决策表法则可以通过使用“不可能动作”的概念表示条件的不可能组合,来强调这种依赖关系。说明:当决策表规模(指规则的数目,n个条件的决策表有2n个规则)较大时,可以通过扩展条目决策表(条件使用等价类)、代数简化表、将大表“分解”为小表等方法。条件桩:C1:月份在M1中C2:月份在M2中C3:月份在M3中C4:月份在M4中C5:日期在D1中C6:日期在D2中C7:日期在D3中C8:日期在D4中C9:日期在D5中C10:年是闰年C11:年是平年动作桩:A1:不可能A2:日期增1A3:日期复位(置1)A4:月份增1A5:月份复位(置1)A6:年增1列出所有的条件桩和行动桩

等价类M1={月份:每月有30天}M2={月份:每月有31天,12月除外}M3={月份:此月是12月}M4={月份:此月是2月}D1={日期:1<=日期<=27}D2={日期:日期=28}D3={日期:日期=29}D4={日期:日期=30}D5={日期:日期=31}Y1={年:年是闰年}Y2={年:年是平年}条件桩:C1:月份在M1中C2:月份在M2中C3:月份在M3中C4:月份在M3中C5:日期在D1中C6:日期在D2中C7:日期在D3中C8:日期在D4中C9:日期在D4中C10:年是闰年C11:年是平年动作桩:A1:不可能A2:日期增1A3:日期复位(置1)A4:月份增1A5:月份复位(置1)A6:年增1列出所有的条件桩和行动桩

等价类M1={月份:每月有30天}M2={月份:每月有31天,12月除外}M3={月份:此月是12月}M4={月份:此月是2月}D1={日期:1<=日期<=27}D2={日期:日期=28}D3={日期:日期=29}D4={日期:日期=30}D5={日期:日期=31}Y1={年:年是闰年}Y2={年:年是平年}211=2048太大!规则数?等价类M1={月份:每月有30天}M2={月份:每月有31天,12月除外}M3={月份:此月是12月}M4={月份:此月是2月}D1={日期:1<=日期<=27}D2={日期:日期=28}D3={日期:日期=29}D4={日期:日期=30}D5={日期:日期=31}Y1={年:年是闰年}Y2={年:年是平年}动作桩:A1:不可能A2:日期增1A3:日期复位(置1)A4:月份增1A5:月份复位(置1)A6:年增1修改条件桩使有限条目决策表成为扩展条目决策表

条件桩:C1:月份在{M1,M2,M3,M4}中之一C2:日期在{D1,D2,D3,D4,D5}中之一C3:年在{Y1,Y2}中之一NextDate函数的动作桩和条件桩条件—规则

1

2

3

4

5

6

7

8

910C1:月份在C2:日期在C3:年在M1D1—M1D2—M1D3—M1D4—M1D5—M2D1—M2D2—M2D3—M2D4—M2D5—a1:不可能a2:日期增1a3:日期复位a4:月份增1a5:月份复位a6:年增1XXXXXXXXXXXX对于month变量的取值M1:{mouth:mouth有30天};M2:{mouth:mouth有31天,12月除外};M3:{mouth:mouth是12月};M4:{mouth:mouth是2月};对于day变量的取值D1:{day:1≤day≤27};D2:{day:day=28};D3:{day:day=29};D4:{day:day=30};D5:{day:day=31};NextDate函数的动作桩和条件桩条件—规则

11

1213141516171819202122C1:月份在C2:日期在C3:年在M3D1M3D2M3D3M3D4M3D5—M4D1—M4D2Y1M4D2Y2M4D3Y1M4D3Y2M4D4—M4D5—a1:不可能a2:日期增1a3:日期复位a4:月份增1a5:月份复位a6:年增1XXXXXXXXXXXXXXXX对于month变量的取值M1:{mouth:mouth有30天};M2:{mouth:mouth有31天,12月除外};M3:{mouth:mouth是12月};M4:{mouth:mouth是2月};对于day变量的取值D1:{day:1≤day≤27};D2:{day:day=28};D3:{day:day=29};D4:{day:day=30};D5:{day:day=31};输入变量间存在大量逻辑关系的NextData决策表条件—规则1-3

4

56-91011-1415161718192021-22C1:月份在M3M1M1M2M2M3M3M4M4M4M4M4M4C2:日期在D1D2D3D4D5D1D2D3D4D5D1D2D3D4D5D1D2D2D3D3D4D5C3:年在----——--Y1Y2Y1Y2—a1:不可能XXXa2:日期增1XXXXXa3:日期复位XXXXXa4:月份增1XXXXa5:月份复位Xa6:年增1XNextDate函数的测试用例用例月份日期年预期输出

1—3456—91011—1415161718192021、22

444111212222222

15303115311531152828292930

20012001200120012001200120012001200420012004200120012001年4月16日2001年5月1日不可能2001年1月16日2001年2月1日2001年12月16日2002年1月1日2001年2月16日2004年2月29日2001年3月1日2004年3月1日不可能不可能课堂练习a,b,c构成三角形?扩展为三个不等式表示C1:a<b+cC2:b<a+cC3:c<a+bC4:a=bC5:a=cC6:b=c列出决策表,并根据决策表给出对应的测试例动作:a1:非三角形;a2:一般三角形;a3:等腰三角形;a4:等边三角形;a5:不可能三角形问题的决策表条件——规则

1

2

3

4

5

6

7

8

91011C1:a<b+cFTTTTTTTTTTC2:b<a+c—FTTTTTTTTTC3:c<a+b——FTTTTTTTTC4:a=b?———TTTTFFFFC5:a=c?———TTFFTTFFC6:b=c?———TFTFTFTF规则条数统计3216811111111a1:非三角形xxxa2:不等边三角形Xa3:等腰三角形xxxa4:等边三角形xa5:不可能xxx三角形问题的决策表用例

a

b

c预期输出

DT1DT2DT3DT4DT5DT6DT7DT8DT9DT10DT11

4115??2?233

1425??2?324

2245??3?225非三角形非三角形非三角形等边三角形不可能不可能等腰三角形不可能等腰三角形等腰三角形不等边三角形课堂练习货运收费标准如下:若收货地点在本省以内,快件每公斤8元,慢件每公斤4元。若收货地点在外省、重量小于或等于25公斤,快件每公斤12元,慢件每公斤8元;外省邮件若重量大于25公斤,超重部分每公斤加收2元(重量用W表示)。试画出决策表并优化之。条件C1是否省内YYYYNNNNC2是否快件YYNNYYNNC3是否超过25公斤YNYNYNYN收费A14*WXXA28*WXXXA312*WXA48*W+(w-25)*2XA512*W+(w-25)*2X条件C1是否省内YYNNNNC2是否快件YNYYNNC3是否超过25公斤--YNYN收费A14*WXA28*WXXA312*WXA48*W+(w-25)*2XA512*W+(w-25)*2X课堂练习航空服务查询问题:根据航线,仓位,飞行时间查询航空服务。假设一个中国的航空公司规定:中国去欧美的航线所有座位都有食物供应,每个座位都可以播放电影。中国去非欧美的国外航线都有食物供应,只有商务仓可以播放电影。中国国内的航班的商务仓有食物供应,但是不可以播放电影中国国内的航班的经济仓除非飞行时间大于2小时就有食物供应,但是不可以播放电影。请用决策表法设计测试用例。条件桩:C1:航线为国外欧美航线C2:航线为国外非欧美航线C3:航线为国内航线C4:仓位为商务仓C5:仓位为经济仓C6:飞行时间小于2hC7:飞行时间大于等于2h动作桩:A1:播放电影A2:食物供应1列出所有的条件桩和行动桩

2确定规则的个数

27=128太大!规则数?等价类M1={航线为国外欧美航线}M2={航线为国外非欧美航线}M3={航线为国内航线}D1={仓位为商务仓}D2={仓位为经济仓}Y1={飞行时间小于2h}Y2={飞行时间大于等于2h}动作桩:A1:播放电影A2:食物供应修改条件桩使有限条目决策表成为扩展条目决策表

条件桩:C1:航线在{M1,M2,M3}中之一C2:仓位在{D1,D2}中之一C3:飞行时间在{Y1,Y2}中之一规则桩123456789101112C1:航线在M1M1M1M1M2M2M2M2M3M3M3M3C2:仓位在D1D1D2D2D1D1D2D2D1D1D2D2C3:飞行时间在Y1Y2Y1Y2Y1Y2Y1Y2Y1Y2Y1Y2A1:播放电

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论