Slide 1测试用例设计与实践_第1页
Slide 1测试用例设计与实践_第2页
Slide 1测试用例设计与实践_第3页
Slide 1测试用例设计与实践_第4页
Slide 1测试用例设计与实践_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

1、Slide 1测试用例设计与实践(2)机电信息学院 冯向荣2019.8.16Slide 3一、决策表法 产生的背景:等价类划分法和边界值分析方法都是着重考虑程序的单项输入条件,但没有考虑输入条件之间的联系或组合的情况。这样,虽然各种输入条件可能出错的情况都已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字,因此必须考虑采用一种适合于描述多种条件的组合、相应产生多个动作的形式来进行测试用例的设计,这就需要利用决策表或因果图。义乌工商职业技术学院Slide 4决策表法(续) 决策表(也称判定表)是分析和表达多逻辑条件下

2、,执行不同操作的一种描述形式。决策表实例 决策表的优点:能够将复杂的逻辑关系与多种条件组合情况表达得具体、明确,可以把各种可能的情况全部列举出来,简明并避免遗漏。因此,利用决策表能够设计出完整的测试用例集合。 通常,在一些数据处理问题中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合会分别执行不同的操作。决策表很适合于处理这类问题,特别是运用测试驱动开发模式时常采用决策表法设计测试用例。义乌工商职业技术学院Slide 5“阅读指南”决策表规则12345678选项觉得疲倦? Y感兴趣吗? YYYYNYNNN问题YNNYNNYNNYNN糊涂吗?重读YY继续建议跳下一章休息义乌工

3、商职业技术学院Slide 6决策表的构成 决策表通常由以下四个部分构成: 条件桩列出问题的所有条件 条件项针对条件桩给出的条件列出所有可能的取值 动作桩列出问题规定的可能采取的操作 动作项指出在条件项的各组取值情况下应采取的动作将任何一个条件组合的特定取值及相应要执行的动作称为一条规则。在决策表中贯穿条件项和动作项的一列就是一条规则。条件桩 条件项动作桩 动作项规则义乌工商职业技术学院Slide 7决策表的建立 建立决策表的5个步骤:(1) 确定规则的个数。 有n个条件的决策表有2n个规则(每个条件分别取真或假)(2) 列出所有的条件桩和动作桩。(3) 填入条件项。(4) 填入动作项,得到初始

4、决策表。(5) 简化决策表,合并相似规则。 若表中有两条以上规则具有相同的动作,并且在条件项之间存在极为相似的关系,便可以合并。 合并后的条件项用符号“-”表示,说明执行的动作与该条件的取值无关,称为无关条件。三角形问题的决策表义乌工商职业技术学院Slide 8三角形问题的决策表规则 规则 规则 规则 规则 规则 规则 规则 规则规则选项条件:1-8910111213 14 15 16c1: a,b,c构成三角形?c2: a=b?c3: a=c?c4: b=c?NYYYYYYYY-YYYYYNYNYYNNNYYNYNNNYNNN动作:a1: 非三角形a2: 一般三角形a3: 等腰三角形a4:

5、等边三角形a5: 不可能义乌工商职业技术学院Slide 9决策表测试应用案例 NextDate函数的决策表测试用例设计 问题分析:NextDate函数的三个变量之间在输入定义域中存在一定的逻辑依赖关系,由于等价类划分和边界值分析测试都假设了变量是独立的,如果采用上述两种方法设计测试用例,那么这些依赖关系在机械的选取输入值时可能会丢失。而采用决策表法则可以通过使用“不可能动作”的概念表示条件的不可能组合,来强调这种依赖关系。实例分析 说明:当决策表规模(指规则数目,n个条件的决策表有2n个规则)较大时,可以通过扩展条目决策表(条件使用等价类)、代数简化表、将大表“分解”为小表等方法。义乌工商职业

6、技术学院Slide 10决策表测试应用案例(续)NextDate函数:NextDate函数说明另一种复杂的关系,即输入变量之间逻辑关系的复杂性。NextDate函数包含三个变量month、day和year,函数的输出为输入日期后一天的日期。 要求输入变量month、day和year均为整数值,并且满足下列条件:条件1 1 month 12条件2 1 day 31条件3 1912 year 2050 结论:在NextDate函数中有两种复杂性的输入来源,一是输入域的复杂性,二是确定闰年的规则并要增加“额外天”。义乌工商职业技术学院Slide 11决策表测试应用案例(续) 为了获得下一个日期,Ne

7、xtDate函数执行如下操作: 如果输入日期不是当月最后一天,则把day变量的值加1; 如果输入日期是111月份中某月的最后一天,则把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。义乌工商职业技术学院Slide 1

8、2决策表测试应用案例(续) 根据所执行的操作,可列出NextDate函数的动作桩:a1: 不可能;a2: day加1;a3: day复位;a4: month加1;a5: month复位;a6: year加1 考虑到决策表的规模,条件使用month、day、year变量的等价类,在以下等价类集合上建立决策表: 对于month变量的取值M1: mouth: mouth有30天;M2: mouth:mouth有31天,12月除外;M3: mouth:mouth是12月; M4: mouth:mouth是2月; 对于day变量的取值D1:day:1day27;D2: day:day=28;D3: da

9、y:day=29; D4: day:day=30; D5: day:day=31; 对于year变量的取值Y1:year:year是闰年;Y2: year:year不是闰年义乌工商职业技术学院Slide 13决策表测试应用案例(续) 决策表测试法适用于具有以下特征的应用程序:if-then-else逻辑突出;输入变量之间存在逻辑关系;涉及输入变量子集的计算;输入与输出之间存在因果关系。 适用于使用决策表设计测试用例的条件: 规格说明以决策表形式给出,或较容易转换为决策表。 条件的排列顺序不会也不应影响执行的操作。 规则的排列顺序不会也不应影响执行的操作。 当某一规则的条件已经满足,并确定要执行

10、的操作后,不必检验别的规则。 如果某一规则的条件要执行多个操作,这些操作的执行顺序无关紧要。义乌工商职业技术学院Slide 14决策表测试应用案例(续) 用决策表测试法测试以下程序:该程序有三个输入变量month、day、year(month、day和year均为整数值,并且满足:1month12和1day31),分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上隔一天的日期。例如,输入为2015年11月29日,则该程序的输出为2015年12月1日。(1)分析各种输入情况,列出为输入变量month、day、year划分的有效等价类。(2)分析程序规格说明,结合以上等价类划分的

11、情况给出问题规定的可能采取的操作(即列出所有的动作桩)。(3)根据(1)和(2),画出简化后的决策表。义乌工商职业技术学院Slide 15决策表测试应用案例(续) month变量的有效等价类:M1: month=4,6,9,11 M2: month=1,3,5,7,8,10M3: month=12 M4: month=2 day变量的有效等价类:D1: 1day26 D2: day=27 D3: day=28D4: day=29 D5: day=30 D6: day=31 year变量的有效等价类:Y1: year是闰年Y2: year不是闰年 考虑各种有效的输入情况,程序中可能采取的操作有以

12、下六种:a1: day+2a4: month+1a2: day=2a5: month=1a3: day=1a6: year+1义乌工商职业技术学院Slide 16决策表测试应用案例(续)义乌工商职业技术学院Slide 17决策表测试应用案例(续)义乌工商职业技术学院Slide 18决策表测试应用案例(续)义乌工商职业技术学院Slide 19二、因果图法 因果图法是一种以因果逻辑关系的图示模型来描述可能的输入条件的组合关系,以及可能产生的相应动作(输出结果)的情形的方法。这个方法的实质是:从程序规格说明(需求)的描述中找出因(输入条件)与果(输出结果或程序状态改变)的关系,适用于检查程序输入条件

13、的各种组合情况。 采用因果图法设计测试用例的步骤:(1)根据程序规格说明书描述,分析并确定因(输入条件)和果(输出结果或程序状态的改变),画出因果图。(2)将得到的因果图转换为判定表。(3)为判定表中每一列所表示的情况设计一个测试用例。义乌工商职业技术学院Slide 20因果图法(续) 因果图法的特点:设计测试用例时考虑输入条件之间的相关性。组件或系统中原因和结果之间的逻辑关系可以在因果图中表示出来。 使用因果图法的优点:(1)考虑到了输入情况的各种组合以及各个输入情况之间的相互制约关系。(2)能够帮助测试人员按照一定的步骤,高效率的开发测试用例。(3)因果图法是将自然语言规格说明转化成形式语

14、言规格说明的一种严格的方法,可以指出规格说明存在的不完整性和二义性。义乌工商职业技术学院Slide 21因果图法(续) 因果图中用来表示4种因果关系的基本符号:c1c1c2e1c1e1非恒等c1c2c3e1e1与或义乌工商职业技术学院Slide 22因果图法(续) 因果图中的4种基本关系在因果图的基本符号中,图中的左结点ci表示输入状态(或称原因、条件),右结点ei表示输出状态(或称结果、动作)。c 与 e 取值0或1,0表示某个状态不出现,1则表ii示某个状态出现。 恒等:若 c 是 1,则 e 也为 1,否则 e 为 0。111 非:若 c 是 1,则 e 为 0,否则e 为 1。111

15、或:若 c 或 c 或 c 是 1,则 e 为 1,否则 e 为 0。12311 与:若 c 和 c 都是 1,则 e 为 1,否则 e 为 0。1211义乌工商职业技术学院Slide 23因果图法(续) 示例:ATM机的因果图分析 为从ATM机中取款,需要满足下面的条件: 银行卡有效 正确输入了PIN PIN最多可以输3次 ATM机中有钱,并且账号中有钱 ATM机可能的反应如下: 拒绝ATM卡 要求再一次输入PIN 吞卡 要求重新输入金额 输出要求数目的现金义乌工商职业技术学院Slide 24因果图法(续) 示例:ATM机的因果图组 相 因合 应 果。 的 图结 可果 以, 清需 楚要 地什

16、 描么 述样 为的 了条 得件 到义乌工商职业技术学院Slide 25因果图法(续) 因果图中的约束在实际问题中输入状态相互之间、输出状态相互之间可能存在某些依赖关系,称为“约束”。对于输入条件的约束有E、I、O、R四种约束,对于输出条件的约束只有M约束。 E约束(异):a和b中最多有一个可能为1,即a和b不能同时为1。 I 约束(或):a、b、c中至少有一个必须为1,即 a、b、c不能同时为0。 O约束(唯一):a和b必须有一个且仅有一个为1。 R约束(要求):a是1时,b必须是1,即a为1时,b不能为0。 M约束(强制):假如结果a为1,则结果b强制为0。义乌工商职业技术学院Slide 2

17、6因果图法(续) 因果图中用来表示约束关系的约束符号:aabaObEIb唯一异c或ababRM强制要求义乌工商职业技术学院Slide 27因果图法(续) 因果图法最终生成的是决策表(也称为判定表)。利用因果图生成测试用例的基本步骤如下:(1)分析软件规格说明中哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。(2)分析软件规格说明中的语义,找出原因与结果之间、原因与原因之间对应的关系, 根据这些关系画出因果图。(3)由于语法或环境的限制,有些原因与原因之间、原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号表明约束

18、或限制条件。(4)把因果图转换为决策表。(5)根据决策表中的每一列设计测试用例。义乌工商职业技术学院Slide 28因果图测试应用案例 实例 用因果图法测试以下程序。程序的规格说明要求:输入的第一个字符必须是#或*,第二个字符必须是一个数字,此情况下进行文件的修改;如果第一个字符不是#或*,则给出信息N,如果第二个字符不是数字,则给出信息M。 解题步骤:(1)分析程序的规格说明,列出原因和结果。(2)找出原因与结果之间的因果关系、原因与原因之间的约束关系,画出因果图。(3)将因果图转换成决策表。(4)根据(3)中的决策表,设计测试用例的输入数据和预期输出。义乌工商职业技术学院Slide 29因

19、果图测试应用案例(续)(1)分析程序规格说明中的原因和结果:原因结果c1:第一个字符是#c2:第一个字符是*e1:给出信息Ne2:修改文件c3:第二个字符是一个数字 e3:给出信息M(2)画出因果图(编号为10的中间结点是导出结果的进一步原因):e1e2e3c1c2c310E义乌工商职业技术学院Slide 30因果图测试应用案例(续)(3)将因果图转换成如下所示的决策表:规则12345678选项条件:C1111110101110010111010100100000C2C310动作:e1e2e3不可能测试用例#3 #A *6 *B A1 GT义乌工商职业技术学院Slide 31因果图测试应用案例(续)(4)根据决策表中的每一列设计测试用例:测试用例编号输入数据#3预期输出修改文件123456#A给出信息M*6修改文件*B给出信息MA1给出信息NGT给出信息N和信息M义乌工商职业技术学院Slide 32黑盒测试方法的选择 通常,在确定测试方法时,应遵循以下原则: 根据程序的重要性和一旦发生故障将造成的损失来确定测试等级和测试重点。 认真选择

温馨提示

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

评论

0/150

提交评论