软件测试技术第4章黑盒测试第3节基于判定表的测试_第1页
软件测试技术第4章黑盒测试第3节基于判定表的测试_第2页
软件测试技术第4章黑盒测试第3节基于判定表的测试_第3页
软件测试技术第4章黑盒测试第3节基于判定表的测试_第4页
软件测试技术第4章黑盒测试第3节基于判定表的测试_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

1、软件测试技术Software Testing复习复习n边界值测试边界值测试n单缺陷单缺陷/ /多缺陷假设多缺陷假设n取值情况取值情况n等价类测试等价类测试n有效有效/ /无效等价类无效等价类n等价类分类等价类分类Software Testing4.3 4.3 基于判定表的测试基于判定表的测试n判定表判定表n判定表的组成判定表的组成n判定表建立步骤判定表建立步骤n基于判定表的测试基于判定表的测试n基于判定表测试的指导方针基于判定表测试的指导方针Software Testing1. 判定表的原理判定表的原理n判定表判定表判定表(判定表(Decision TableDecision Table),又

2、叫),又叫决策表决策表n判定表是分析和表达多逻辑条件下执行不同操判定表是分析和表达多逻辑条件下执行不同操作的工具。作的工具。n将复杂的问题按照各种可能的情况全部列出将复杂的问题按照各种可能的情况全部列出Software Testing2. 判定表的组成判定表的组成n条件桩条件桩: :列出问题的所有条件列出问题的所有条件n动作桩动作桩: :列出可能采取的操作列出可能采取的操作n条件项条件项: :列出条件桩的取值列出条件桩的取值n动作项动作项: :列出条件项各种取值下应该采取的动列出条件项各种取值下应该采取的动作作Software Testing判定表的组成判定表的组成桩桩规则规则1 12 23

3、34 45 56 67 78 8条条件件条件条件1 1Y YY YY YY YN NN NN NN N条件条件2 2Y YY YN NN NY YY YN NN N条件条件3 3Y YN NY YN NY YN NY YN N动动作作动作动作1 1动作动作2 2Software TestingSoftware Testing规则规则n任何一个条件组合的特定取值及其相应任何一个条件组合的特定取值及其相应要执行的操作称为规则;要执行的操作称为规则;n在判定表中贯穿在判定表中贯穿条件项和动作项条件项和动作项的一列的一列就是一条规则;就是一条规则;n判定表中列出多少组条件取值,也就有判定表中列出多少组

4、条件取值,也就有多少条规则,即条件项和动作项有多少多少条规则,即条件项和动作项有多少列。列。Software Testing规则示例:三角形问题规则示例:三角形问题Software Testing规则(规则(续续)n规则合并规则合并规则合并就是判定表的规则合并就是判定表的简化简化。有两条或多条规则具有有两条或多条规则具有相同的动作相同的动作,并且,并且其条件项之间存在着极为其条件项之间存在着极为相似的关系相似的关系,就,就可以将规则合并。可以将规则合并。Software Testing(1)两条规则合并成一条)两条规则合并成一条n条件项条件项“”表示与取值表示与取值无关。无关。Software

5、 Testingn条件项条件项“”在逻辑上包在逻辑上包含其它的条含其它的条件。件。(2)两条规则的进一步合并)两条规则的进一步合并Software Testing3. 判定表建立步骤判定表建立步骤n根据软件规格说明根据软件规格说明列出所有的条件桩和动作桩;列出所有的条件桩和动作桩;确定规则的个数;确定规则的个数;n假如有假如有n n个条件,每个条件有两个取值(个条件,每个条件有两个取值(0,10,1), ,则有则有2 2n n 种规则;种规则; 填入条件项;填入条件项;填入动作项,得到初始决策表;填入动作项,得到初始决策表;简化,合并相似规则(相同动作)。简化,合并相似规则(相同动作)。Sof

6、tware Testing案例案例1:维修机器问题维修机器问题n问题描述:问题描述:“对于功率大于对于功率大于5050马力并且维马力并且维修记录不全或已运行修记录不全或已运行1010年以上的机年以上的机器,应给予优先的维修处理器,应给予优先的维修处理”n请建立决策表。请建立决策表。Software Testing例:例:维修机器问题(续)维修机器问题(续)n(1 1)列出所有的条件桩和动作桩)列出所有的条件桩和动作桩条件桩条件桩nC1C1:功率大于:功率大于5050马力吗?马力吗?nC2C2:维修记录不全吗?:维修记录不全吗?nC3C3:运行超过:运行超过1010年吗?年吗?动作桩动作桩nA1

7、A1:进行优先处理:进行优先处理nA2A2:作其他处理:作其他处理Software Testing例:例:维修机器问题(续)维修机器问题(续)n(2 2)确定规则个数)确定规则个数输入条件个数:输入条件个数:3 3;每个条件的取值:每个条件的取值:“是是”或或“否否”;规则个数:规则个数:2 2* *2 2* *2 =82 =8;u 功率大于50马力吗u 维修记录不全吗u 运行超过10年吗Software Testing例:例:维修机器问题(续)维修机器问题(续)12345678条条件件功率大于功率大于5050马力吗?马力吗?YYYYNNNN维修记录不全吗?维修记录不全吗?YYNNYYNN运行

8、超过运行超过1010年吗?年吗?YNYNYNYN动动作作进行优先处理进行优先处理作其他处理作其他处理n(3)填入条件项;n利用集合的笛卡尔积计算条件项的取值Software Testing例:例:维修机器问题(续)维修机器问题(续)12345678条条件件功率大于50马力吗?YYYYNNNN维修记录不全吗?YYNNYYNN运行超过10年吗?YNYNYNYN动动作作进行优先处理 作其他处理 n(4)填入动作项;n1,2合并,5,7合并,6,8合并Software Testing例:例:维修机器问题(续)维修机器问题(续)n(5)化简;(1)(2)(3)(4)(5)条条件件功率大于50马力吗?YY

9、YNN维修记录不全吗?YNN运行超过10年吗?YNYN动动作作进行优先处理 作其他处理 Software Testing4 基于判定表的测试基于判定表的测试n根据输入输出绘制判定表;根据输入输出绘制判定表;n设计测试用例覆盖判定表中每条规则;设计测试用例覆盖判定表中每条规则;Software Testing案例案例2:三角形问题三角形问题n问题描述问题描述 输入三个正整数输入三个正整数a a、b b、c c,分别作为三角形,分别作为三角形的三条边,通过程序判断三条边是否能构成的三条边,通过程序判断三条边是否能构成三角形?如果能构成三角形,判断三角形的三角形?如果能构成三角形,判断三角形的类型(

10、等边三角形、等腰三角形、一般三角类型(等边三角形、等腰三角形、一般三角形)。形)。n请用基于判定表的方法设计测试用例。请用基于判定表的方法设计测试用例。Software Testingn(1 1)条件桩)条件桩C1C1:a,b,ca,b,c构成三角形?构成三角形?C2C2:a = b?a = b?C3C3:a = ca = c?C4C4:b = cb = c?n(2 2)规则数)规则数共有四个条件,每个条件的取值为共有四个条件,每个条件的取值为“是是”或或“否否”,因此有,因此有2 24 4= 16= 16条规则。条规则。一、设计判定表一、设计判定表Software Testingn(3 3)

11、动作桩)动作桩 A1A1:非三角形;:非三角形; A2A2:不等边三角形;:不等边三角形; A3A3:等腰三角形;:等腰三角形; A4A4:等边三角形;:等边三角形; A5A5:不可能;:不可能;Software Testingn(4)判定表123456789条条件件a, b, c构成三角形NYYYYYYYYa = b?YYYYNNNNa = c?YYNNYYNNb = c?YNYNYNYN动动作作非三角形不等边三角形等腰三角形等边三角形不可能Software Testingn注意:注意:条件的选择可以大大扩展判定表的规模;条件的选择可以大大扩展判定表的规模;n例如例如a, b, ca, b,

12、 c构成三角形吗?可以扩展为三个条构成三角形吗?可以扩展为三个条件:件:a b + c?a b + c?b a + c?b a + c?c a + b?c a + b?Software Testing条件桩修改后的判定表条件桩修改后的判定表Software Testinga=b,a=c,bc二、设计测试用例二、设计测试用例Software Testing案例案例3: NextDate函数函数n问题描述问题描述 程序有三个输入变量程序有三个输入变量monthmonth、dayday、yearyear,并且满足:并且满足:1month121month12、1day311day31、1900 yea

13、r 20501900 year 2050。它们分别作为输入日。它们分别作为输入日期的月份、日、年份,通过程序可以输出该期的月份、日、年份,通过程序可以输出该输入日期在日历上下一天的日期。例如,输输入日期在日历上下一天的日期。例如,输入为入为20052005年年1111月月2929日,则该程序的输出为日,则该程序的输出为20052005年年1111月月3030日。日。Software Testing第一次尝试nM1=M1=月份:每月有月份:每月有3030天天 nM2=M2=月份:每月有月份:每月有3131天天 nM3=M3=月份:此月是月份:此月是2 2月月 nD1=D1=日期:日期:11日期日

14、期2828nD2=D2=日期:日期日期:日期=29=29nD3=D3=日期:日期日期:日期=30=30nD4=D4=日期:日期日期:日期=31=31nY1=Y1=年:正常年年:正常年 Software Testing第二次尝试(重点考虑闰年)第二次尝试(重点考虑闰年)nM1=M1=月份:每月有月份:每月有3030天天 nM2=M2=月份:每月有月份:每月有3131天天 nM3=M3=月份:此月是月份:此月是2 2月月 nD1=D1=日期:日期:11日期日期2828nD2=D2=日期:日期日期:日期=29=29nD3=D3=日期:日期日期:日期=30=30nD4=D4=日期:日期日期:日期=31

15、=31nY1=Y1=年:年:年是年是平年平年 nY2=Y2=年:年:年是年是闰年闰年 Software Testing第三次尝试(关注日期和月份)第三次尝试(关注日期和月份)nM1=M1=月份:每月有月份:每月有3030天天 nM2=M2=月份:每月有月份:每月有3131天天 nM3=M3=月份:此月是月份:此月是1212月月 nM4=M4=月份:此月是月份:此月是2 2月月 nD1=D1=日期:日期:11日期日期 2727 nD2=D2=日期:日期日期:日期=28=28 nD3=D3=日期:日期日期:日期=29=29nD4=D4=日期:日期日期:日期=30=30nD5=D5=日期:日期日期:

16、日期=31=31nY1=Y1=年:年是闰年年:年是闰年 nY2=Y2=年:年不是闰年年:年不是闰年 Software TestingNextDate函数的判定表每月每月30天天每月每月31天天Software Testing续续此月是此月是12月月此月是此月是2月月此年是闰年此年是闰年Software TestingNextDate函数的精简判定表Software Testing续续Software TestingNextDate函数的测试用例Software Testing指导方针和观察指导方针和观察n适合使用判定表设计测试用例条件:适合使用判定表设计测试用例条件:规格说明容易转换成判定表规

17、格说明容易转换成判定表条件的排列顺序不影响执行的操作条件的排列顺序不影响执行的操作规则的排列顺序不影响执行的操作规则的排列顺序不影响执行的操作当某规则条件满足时,不必检查别的规则当某规则条件满足时,不必检查别的规则某规则要执行多个操作时,执行顺序无关某规则要执行多个操作时,执行顺序无关Software Testing指导方针和观察指导方针和观察n判定表技术适用的应用程序的特征:判定表技术适用的应用程序的特征:if-then-elseif-then-else逻辑很突出逻辑很突出输入变量之间存在逻辑关系输入变量之间存在逻辑关系涉及输入变量子集的计算涉及输入变量子集的计算输入与输出之间存在因果关系输

18、入与输出之间存在因果关系Software Testingn判定表的优点判定表的优点能把复杂的问题按各种可能的情况一一列举能把复杂的问题按各种可能的情况一一列举出来出来简明而易于理解简明而易于理解可避免遗漏可避免遗漏Software Testingn判定表的缺点判定表的缺点不能表达重复执行的动作,例如循环结构不能表达重复执行的动作,例如循环结构判定表不能很好地伸缩判定表不能很好地伸缩n有有n n个条件的决策表有个条件的决策表有2 2n n 个规则。个规则。n解决方法解决方法使用扩展条目判定表、代数简化表,将大表使用扩展条目判定表、代数简化表,将大表“分解分解”为小表,查找条件项的判定表式为小表,查找条件项的判定表式Software Testing课后练习课后练习n登陆功能说明书:(用户输入和密码输入)登陆功能说明书:(用户输入和密码输入)n1 1)管理员用户名为)管理员用户名为“admin”,admin”,密码为密码为“123456”123456”,正常登陆,正常登陆n2 2)用户名和密码输入为空,提示)用户名和密码输入为空,提示 “ “用户和密码不允许为空用户和密码不允许为空”在用户名和密码非空的情况下:在用户名和密码非空的情况下:n3 3)要求用户名必须输入字母,否则提示)要求用户名必须输入字母,否则提示“输入非法输入非法”n4 4)要求

温馨提示

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

评论

0/150

提交评论