软件测试基础等价类划分-决策表.ppt

上传人:小飞机 文档编号:6027993 上传时间:2023-09-16 格式:PPT 页数:93 大小:1.85MB
返回 下载 相关 举报
软件测试基础等价类划分-决策表.ppt_第1页
第1页 / 共93页
软件测试基础等价类划分-决策表.ppt_第2页
第2页 / 共93页
软件测试基础等价类划分-决策表.ppt_第3页
第3页 / 共93页
软件测试基础等价类划分-决策表.ppt_第4页
第4页 / 共93页
软件测试基础等价类划分-决策表.ppt_第5页
第5页 / 共93页
点击查看更多>>
资源描述

《软件测试基础等价类划分-决策表.ppt》由会员分享,可在线阅读,更多相关《软件测试基础等价类划分-决策表.ppt(93页珍藏版)》请在三一办公上搜索。

1、,第一章 软件测试基础知识,2,测试技术简介黑盒测试技术白盒测试技术灰盒测试技术性能测试技术易用性测试技术其它测试技术手工测试和测试自动化静态测试与动态测试,本节课程内容,测试概述内容回归,什么是测试用例?为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求,是执行的最小实体。,测试用例,执行条件,测试输入,预期结果,测试概述内容回归,测试用例设计阶段所作工作对需求说明书、测试计划和原型仔细研究将待测产品分解成可独立测试的单元为每个测试单元确定采用的测试技术编写测试用例,测试脚本,测试概述内容回归,测试用例设计的误区能发现到目前为止没有发现的

2、缺陷的用例是好的用例;测试用例应该详细记录所有的操作信息,使一个没有接触过系统的人员也能进行测试;测试用例设计是一劳永逸的事情;测试用例不应该包含实际的数据;测试用例中不需要明显的验证手段;,第一章 软件测试基础知识,6,测试技术简介黑盒测试技术白盒测试技术灰盒测试技术性能测试技术易用性测试技术其它测试技术手工测试和测试自动化静态测试与动态测试,本节课程内容,第一章 软件测试基础知识,7,黑盒测试技术介绍黑盒测试用例设计方法等价类划分法边界值分析法因果图法决策表法正交试验法场景法错误推测法综合测试策略,黑盒测试技术,黑盒测试技术介绍,黑盒测试被称为功能测试或数据驱动测试,是针对软件的功能需求进

3、行测试。在测试时,把被测程序视为一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下进行。,程序结构?,输入,输出,黑盒测试技术介绍,采用黑盒测试的目的主要是在已知软件产品所应具有的功能的基础上,进行:检查程序功能能否按需求规格说明书的规定正常使用,测试各个功能是否有遗漏,检测性能等特性要求是否满足。检测人机交互是否错误,检测数据结构或外部数据库访问是否错误,程序是否能适当地接收输入数据而产生正确的输出结果,并保持外部信息(如数据库或文件)的完整性。检测程序初始化和终止方面的错误。,黑盒测试技术介绍,黑盒的划分(一),黑盒测试技术介绍,黑盒的划分(二),第一章 软件测试基础知识,1

4、2,黑盒测试技术介绍黑盒测试用例设计方法等价类划分法边界值分析法因果图法决策表法正交试验法场景法错误推测法综合测试策略,黑盒测试技术,测试用例,穷举测试,合理分类,等价类是指某个输入域的子集合,等价类划分法:依据软件需求说明对输入的范围进行细分,然后再分出的每一个区域内选取一个有代表性的测试数据开展测试。,等价类划分法,等价类划分法,等价类划分法 等价类划分法是一种重要的、常用的黑盒测试方法,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。举例:设计这样的测试用例,来实现一个对所有实数进行开平方运算(y=sqrt(x))的程序的测试。思考方向:由于开平方运算只

5、对非负实数有效,这时需要将所有的实数(输入域x)进行划分,可以分成:正实数、0 和 负实数。假设我们选定+1.4444代表正实数,-2.345代表负实数,则为该程序设计的测试用例的输入为+1.4444、0 和-2.345。,等价类划分法,等价类划分法(续)等价类划分法是把所有可能的输入数据,即程序的输入域划分为若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。所谓等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,它们具有等价特性,即每一类的代表性数据在测试中的作用都等价于这一类中的其它数据。这样,对于表征该类的数据输入将能代表整个子

6、集合的输入。因此,可以合理的假定:测试某等价类的代表值就是等效于对于这一类其它值的测试。,等价类划分法,等价类划分具体方法如下,等价类划分法,等价类划分准则 按照区间划分 在输入条件规定了取值范围或值的个数的情况下,可以确定一个有效等价类和两个无效等价类。按照数值划分 在规定了一组输入数据(假设包括 n个 输入值),并且程序要对每一个输入值分别进行处理的情况下,可确定 n 个有效等价类(每个值确定一个有效等价类)和一个无效等价类(所有不允许的输入值的集合)。按照数值集合划分 在输入条件规定了输入值的集合或规定了“必须如何”的条件下,可以确定一个有效等价类和一个无效等价类(该集合有效值之外)。,

7、等价类划分法,等价类划分准则(续)按照限制条件或规则划分 在规定了输入数据必须遵守的规则或限制条件的情况下,可确定一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。细分等价类 在确知已划分的等价类中各元素在程序中的处理方式不同的情况下,则应再将该等价类进一步划分为更小的等价类,并建立等价类表。,等价类划分法,有效等价类和无效等价类(1)有效等价类 是指对软件规格说明而言,是有意义的、合理的输入数据所组成的集合。利用有效等价类,能够检验程序是否实现了规格说明中预先规定的功能和性能。(2)无效等价类 是指对软件规格说明而言,是无意义的、不合理的输入数据所构成的集合。利用无效等价类

8、,可以鉴别程序异常处理的情况,检查被测对象的功能和性能的实现是否有不符合规格说明要求的地方。,等价类划分法,在设计测试用例时,应同时考虑有效等价类和无效等价类测试用例的设计。根据已列出的等价类表可确定测试用例,具体过程如下:(1)首先为等价类表中的每一个等价类分别规定一个唯一的编号。(2)设计一个新的测试用例,使它能够尽量覆盖尚未覆盖的有效等价类。重复这个步骤,直到所有的有效等价类均被测试用例所覆盖。(3)设计一个新的测试用例,使它仅覆盖一个尚未覆盖的无效等价类。重复这一步骤,直到所有的无效等价类均被测试用例所覆盖。,等价类划分法,效等价类划分举例,例:程序输入x取值于一个固定的枚举类型1,3

9、,7,15,且程序 中对这4个数值分别进行了处理,则有效等价类为x=1、x=3、x=7、x=15,无效等价类为x1,3,7,15的值的集合。,例:程序输入条件为以字符a开头、长度为8的字符串,并且字符串不包含a z之外的其它字符,则有效等价类为满足了上述所有条件的字符串,无效等价类为不以a开头的字符串、长度不为8的字符串和包含了a z之外其它字符的字符串。,有效等价类:符合需求说明,合理地输入数据集合,1无效等价类1,3无效等价类100,2有效等价类1100,无效等价类:不符合需求说明,无意义地输入数据的集合,成功测试,失败测试,计算两个1100之间整数的和,等价类划分法,加法器等价类(扩展)

10、,计算两个1100之间整数的和,等价类划分法,加法器测试用例(扩展),计算两个1100之间整数的和,等价类划分法,等价类划分法,使用等价类划分法测试的实例,实例1 三角形问题分析:在多数情况下,是从输入域划分等价类的,但并非不能从被测程序的输出域反过来定义等价类,事实上,这对于三角形问题却是最简单的划分方法。在三角形问题中,有四种可能的输出:等边三角形、等腰三角形、一般三角形和非三角形。利用这些信息能够确定下列输出(值域)等价类。R1=:边为a,b,c的等边三角形 R2=:边为a,b,c的等腰三角形 R3=:边为a,b,c的一般三角形 R4=:边为a,b,c不能组成三角形,等价类划分法,使用等

11、价类划分法测试的实例,实例1 三角形问题,等价类划分法,使用等价类划分法测试的实例,实例1 三角形问题,等价类划分法,使用等价类划分法测试的实例,实例2 保险公司计算保费费率的程序 某保险公司的人寿保险的保费计算方式为:投保额保险费率 其中,保险费率依点数不同而有别,10点及10点以上保险费率为0.6%,10点以下保险费率为0.1%;而点数又是由 投保人的年龄、性别、婚姻状况和抚养人数来决定,具体规则如下:,等价类划分法,实例2 保险公司计算保费费率的程序(1)分析程序规格说明中给出和隐含的对输入条件的要求,列出等价类表(包括有效等价类和无效等价类)。年龄:一位或两位非零整数,值的有效范围为1

12、99性别:一位英文字符,只能取值M或F婚姻:字符,只能取值已婚或未婚抚养人数:空白或一位非零整数(19)点数:一位或两位非零整数,值的范围为199(2)根据(1)中的等价类表,设计能覆盖所有等价类的 测试用例,使用等价类划分法测试的实例,等价类划分法,等价类划分法,QQ帐号:6-10位数字有效的:(1)长度在6-10位之间(2)类型是0-9自然数无效的:(3)长度小于6(4)长度大于10(5)负数(6)小数(7)英文字母(8)字符(9)中文(10)空,等价类划分法,使用等价类划分法测试的实例,等价类划分法,使用等价类划分法测试的实例,用户注册页面需求:USER NAME:长度为 3-19;以字

13、母开头 姓名:非空密码:非空确认密码:值和密码值相同出生月份:年四位数字;月1-12;日1-31,合理范围,等价类划分法,使用等价类划分法测试的实例,等价类划分法,等价类划分法,等价类划分法,第一章 软件测试基础知识,38,黑盒测试技术介绍黑盒测试用例设计方法等价类划分法边界值分析法因果图法决策表法正交试验法场景法错误推测法综合测试策略,黑盒测试技术,边界值分析法,边界值分析法 边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。为什么使用边界值分析法?无数的测试实践表明,大量的故障往往发生在输入定

14、义域或输出值域的边界上,而不是在其内部。因此,针对各种边界情况设计测试用例,通常会取得很好的测试效果。怎样用边界值分析法设计测试用例?(1)首先确定边界情况。通常输入或输出等价类的边界就是应该着重测试的边界情况。(2)选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值。,边界值分析法,举例 常见的边界值对16-bit 的整数而言 32767 和-32768 是边界屏幕上光标在最左上、最右下位置报表的第一行和最后一行数组元素的第一个和最后一个循环的第 0 次、第 1 次和倒数第 2 次、最后一次,边界值分析法,边界值分析使用与等价类划分法相同的划分,只是边界

15、值分析假定错误更多地存在于划分的边界上,因此在等价类的边界上以及两侧的情况设计测试用例。例:测试计算平方根的函数 输入:实数 输出:实数 规格说明:当输入一个0或比0大的数的时候,返回其正平方根;当输入一个小于0的数时,显示错误信息“平方根非法-输入值小于0”并返回0。,边界值分析法,等价类划分:可以考虑作出如下划分:输入(i)=0输出(a)=0 和(b)Error测试用例有两个:输入4,输出2。对应于(ii)和(a)。输入-10,输出0和错误提示。对应于(i)和(b)。边界值分析:划分(ii)的边界为0和最大正实数;划分(i)的边界为最小负实数和0。由此得到以下测试用例:输入 最小负实数输入

16、 绝对值很小的负数输入 0输入 绝对值很小的正数输入 最大正实数,边界值分析法,通常情况下,软件测试所包含的边界检验有几种类型:数字、字符、位置、质量、大小、速度、方位、尺寸、空间等相应地,以上类型的边界值应该在:最大/最小、首位/末位、上/下、最快/最慢、最高/最低、最短/最长、空/满等情况下,边界值分析法,举例 利用边界值作为测试数据:,边界值分析法,内部边界值分析:在多数情况下,边界值条件是基于应用程序的功能设计而需要考虑的因素,可以从软件的规格说明或常识中得到,也是最终用户可以很容易发现问题的。然而,在测试用例设计过程中,某些边界值条件是不需要呈现给用户的,或者说用户是很难注意到的,但

17、同时确实属于检验范畴内的边界条件,称为内部边界值条件或子边界值条件,小结:在实际的测试用例设计中,需要将基本的软件设计要求和程序定义的要求结合起来,即结合基本边界值条件和内部边界值条件来设计有效的测试用例。,边界值分析法,次边界数值的边界值检验:计算机是基于二进制进行工作的,因此,软件的任何数值运算都有一定的范围限制。,边界值分析法,次边界字符的边界值检验:在计算机软件中,字符也是很重要的表示元素,其中ASCII和Unicode是常见的编码方式。下表中列出了一些常用字符对应的ASCII码值。,边界值分析法,次边界其他边界:(1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界值以及刚刚超

18、过这个范围边界的值作为测试输入数据。(2)如果输入条件规定了值的个数,则用最大个数、最小个数和比最大个数多1个、比最小个数少1个的数作为测试数据。(3)根据程序规格说明的每个输出条件,使用原则(1)。(4)根据程序规格说明的每个输出条件,使用原则(2)。(5)如果程序的规格说明给出的输入域或输出域是有序集合(如有序表、顺序文件等),则应选取集合中的第一个和 最后一个元素作为测试用例。(6)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。(7)分析程序规格说明,找出其它可能的边界条件,边界值分析法,对边界值设计测试用例,应遵循以下几条原则:如果输入条件规定了

19、值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少1、比最大个数多1的数作为测试数据。根据规格说明的每个输出条件,应用前面的原则。如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构边界上的值作为测试用例。分析规格说明,找出其他可能的边界条件。,边界值分析法,边界值分析法举例:采用边界值分析测试的基本思想是:故障往往出现在输入变量的边界值附近。因此,边界值分析法利用输入变量的最小值(m

20、in)、略大于最小值(min+)、输入值域内的任意值(nom)、略小于最大值(max-)和最大值(max)来设计测试用例。边界值分析法是基于可靠性理论中称为“单故障”的假设,即有两个或两个以上故障同时出现而导致软件失效的情况很少,也就是说,软件失效基本上是由单故障引起的。因此,在边界值分析法中获取测试用例的方法是:(1)每次保留程序中一个变量,让其余的变量取正常值,被保留的变量依次取min、min+、nom、max-和max。(2)对程序中的每个变量重复(1)。,边界值分析法,边界值分析法举例:,例1:有两个输入变量x1(ax1b)和x2(cx2d)的程序F的边界值分析测试用例如下:,边界值分

21、析法,边界值分析法实例:,例2:有二元函数f(x,y),其中x1,12,y1,31。则采用边界值分析法设计的测试用例是:,推论:对于一个含有n个变量的程序,采用边界值分析法测试程序会产生4n+1个测试用例。,边界值分析法,1件¥1.59 3件¥1.59*3=4,大宗购物折扣,边界值分析法实例:例3,边界值分析法,需求一:一家出售各种商品的商店,它为购买不同数量商品的客户报出不同的价格,也就是按购买量的不同“分段”计价。-从上表可以清楚看出,买5件需要支付5*5=25如果买11件,第一个10件需要支付10*5=50,第11件需要支付54.75如果买15件,需要支付10*5+5*4.75=73.7

22、5-,边界值分析法实例:,边界值分析法,大宗购买折扣例子的边界值,边界值分析法实例:,边界值分析法,边界值分析法测试举例:,实例1 三角形问题的边界值分析测试用例 在三角形问题描述中,除了要求边长是整数外,没有给出其它的限制条件。在此,我们将三角形每边边长的取范围值设值为1,100。说明:如果程序规格说明中没有显式地给出边界值,则可以在设计测试用例前先设定取值的下限值和上限值。实例2 NextDate函数的边界值分析测试用例 在NextDate函数中,隐含规定了变量mouth和变量day的取值范围为1mouth12和1day31,并设定变量year的取值范围为1912year2050。,边界值

23、分析法,边界值分析法,第一章 软件测试基础知识,59,黑盒测试技术介绍黑盒测试用例设计方法等价类划分法边界值分析法因果图法决策表法正交试验法场景法错误推测法综合测试策略,黑盒测试技术,因果图法,因果图法产生的背景:等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字,因此必须考虑采用一种适合于描述多种条件的组合、相应产生多个动作的形式来进行测试用例的设计,这就需要利用因果图(逻

24、辑模型)。,因果图法,因果图法是基于这样的一种思想:一些程序的功能可以用判定表(或称决策表)的形式来表示,并根据输入条件的组合情况规定相应的操作。因果图法的定义:是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。,因果图法,使用因果图法的优点:考虑到了输入情况的各种组合以及各个输入情况之间的相互制约关系。能够帮助测试人员按照一定的步骤,高效率的开发测试用例。因果图法是将自然语言规格说明转化成形式语言规格说明的一种严格的方法,可以指出规格说明存在的不完整性和二义性。,因果图法,因果图中用来表示4种因果关系的基本符号:,因果图法,因果图中的4种

25、基本关系 在因果图的基本符号中,图中的左结点ci表示输入状态(或称原因),右结点ei表示输出状态(或称结果)。ci 与 ei 取值0或1,0表示某状态不出现,1则表示某状态出现。恒等:若 c1 是1,则 e1 也为1,否则 e1 为0。非:若 c1 是1,则 e1 为0,否则e1为1。或:若 c1 或 c2 或 c3 是1,则 e1 为1,否则 e1 为0。与:若 c1 和 c2 都是1,则 e1 为1,否则 e1 为0。,因果图法,因果图中的约束 在实际问题中输入状态相互之间、输出状态相互之间可能存在某些依赖关系,称为“约束”。对于输入条件的约束有E、I、O、R四种约束,对于输出条件的约束只

26、有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。,因果图法,因果图中用来表示约束关系的约束符号:,因果图法,采用因果图法设计测试用例的步骤:分析程序规格说明的描述中,哪些是原因,哪些是结果。原因常常是输入条件或是输入条件的等价类,而结果是输出条件。分析程序规格说明的描述中语义的内容,并将其表示成连接各个原因与各个结果的“因果图”。标明约

27、束条件。由于语法或环境的限制,有些原因和结果的组合情况是不可能出现的。为表明这些特定的情况,在因果图上使用若干标准的符号标明约束条件。把因果图转换成判定表。为判定表中每一列表示的情况设计测试用例。,因果图法,实例 用因果图法测试以下程序。程序的规格说明要求:输入的第一个字符必须是#或*,第二个字符必须是一个数字,此情况下进行文件的修改;如果第一个字符不是#或*,则给出信息N,如果第二个字符不是数字,则给出信息M。解题步骤:(1)分析程序的规格说明,列出原因和结果。(2)找出原因与结果之间的因果关系、原因与原因之间的约束关系,画出因果图。(3)将因果图转换成判定表。(4)根据(3)中的判定表,设

28、计测试用例的输入数据和预期输出。,因果图法,(1)分析程序规格说明中的原因和结果:(2)画出因果图(编号为10的中间结点是导出结果的进一步原因):,因果图法,(3)将因果图转换成如下所示的判定表:,因果图法,(4)根据判定表中的每一列设计测试用例:,因果图法,实例 例如:有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。若投入1元5角硬币,按下“可乐”、“雪碧”或“红茶”按钮,相应的饮料就送出来。若投入的是两元硬币,在送出饮料的同时退还5角硬币。分析这一段说明,我们可以列出原因和结果。原因:投入1元5角硬币;投入2元硬币;按“可乐”按钮;按“雪碧”按钮;按“红茶”按钮。中间状态:已投币;已

29、按钮。结果:退还5角硬币;送出“可乐”饮料;送出“雪碧”饮料;送出“红茶”饮料。,因果图法,根据原因和结果,我们可以设计这样一个因果图:,因果图法,将因果图转换成如下所示的决策表,因果图法,回顾采用因果图法设计测试用例的步骤:分析程序规格说明的描述中,哪些是原因,哪些是结果。原因常常是输入条件或是输入条件的等价类,而结果是输出条件。分析程序规格说明的描述中语义的内容,并将其表示成连接各个原因与各个结果的“因果图”。标明约束条件。由于语法或环境的限制,有些原因和结果的组合情况是不可能出现的。为表明这些特定的情况,在因果图上使用若干标准的符号标明约束条件。把因果图转换成判定表。为判定表中每一列表示

30、的情况设计测试用例。,第一章 软件测试基础知识,76,黑盒测试技术介绍黑盒测试用例设计方法等价类划分法边界值分析法因果图法决策表法正交试验法场景法错误推测法综合测试策略,黑盒测试技术,决策表法,在所有的黑盒测试方法中,基于决策表(也称判定表)的测试是最为严格、最具有逻辑性的测试方法。决策表的概念:决策表是分析和表达多逻辑条件下执行不同操作的情况的工具。决策表的优点:能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。因此,利用决策表能够设计出完整的测试用例集合。在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执行不同的操作。决策表很

31、适合于处理这类问题。,决策表法,“阅读指南”决策表,决策表通常由以下4部分组成:条件桩列出问题的所有条件条件项针对条件桩给出的条件列出所有可能的取值动作桩列出问题规定的可能采取的操作动作项指出在条件项的各组取值情况下应采取的动作,将任何一个条件组合的特定取值及相应要执行的动作称为一条规则。在决策表中贯穿条件项和动作项的一列就是一条规则。,决策表法,构造决策表的5个步骤:(1)确定规则的个数。有n个条件的决策表有2n个规则(每个条件取真、假值)。(2)列出所有的条件桩和动作桩。(3)填入条件项。(4)填入动作项,得到初始决策表。(5)简化决策表,合并相似规则。若表中有两条以上规则具有相同的动作,

32、并且在条件项之间存在极为相似的关系,便可以合并。合并后的条件项用符号“-”表示,说明执行的动作与该条件的取值无关,称为无关条件。,决策表法,三角形问题的决策表:,决策表法,决策表测试法适用于具有以下特征的应用程序:if-then-else逻辑突出;输入变量之间存在逻辑关系;涉及输入变量子集的计算;输入与输出之间存在因果关系。适用于使用决策表设计测试用例的条件:规格说明以决策表形式给出,或较容易转换为决策表。条件的排列顺序不会也不应影响执行的操作。规则的排列顺序不会也不应影响执行的操作。当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则。如果某一规则的条件要执行多个操作,这些操作的

33、执行顺序无关紧要。,决策表法,决策表法,需求一:要求:”对功率大于50马力的机器且维修记录不全或已运行10年以上的机器,应给予优先的维修处理”。这里假定,“维修记录不全”和“优先维修处理”均已在别处有更严格的定义。请建立判定表。分析:列出所有的条件桩和动作桩,决策表法,分析:确定规则的个数:这里有3个条件,每个条件有两个取值,故应有2*2*2=8种规则。2*2*2=8,决策表法,分析:填入条件项。可从最后1行条件项开始,逐行向上填满。如第三行是:Y N Y N Y N Y N,第二行是:Y Y N N Y Y N N等等。填入动作项。这样便得到形如图的初始判定表。,决策表法,分析:化简:合并相

34、似规则后得到图。以合并相似规则为目标,即:若表中有两条或以上规则具有相同的动作,并且在条件项之间存在极为相似的关系,便可合并,决策表法,NextDate函数需求:NextDate函数输入为month(月份)、day(日期)和year(年),输出为输入后一天的日期。例如,如果输入为:1964年8月16日,则输出为1964年8月17日。要求输入变量month、day和year都是整数值,并且满足以下条件:Con1 1month12Con2 1day31Con3 1900year2050,分析,决策表法,分析:1)条件桩、动作桩输入MonthDayyear为获得下一个日期,NextDate函数需执行

35、的操作只有如下5种:day变量值加1;day变量值复位为1;month变量值加1;month变量值复位为1;year变量值加1。,决策表法,分析:2)考虑规则个数M1:month:month有30天;M2:month:month有31天,12月除外;M3:month:month是12月;M4:month:month是2月;D1:day:1day27;D2:day:day=28;D3:day:day=29;D4:day:day=30;D5:day:day=31;Y1:year:year是闰年;Y2:year:year不是闰年,N个条件,n,2,2:真、假,3,2,4*5*2=40,3)输入条件项4)输入动作项,决策表法,决策表法,可进一步简化这22个测试用例。简化后的决策表如下:,决策表法,根据简化后的决策表,可设计测试用例如下表所示。,决策表法,回顾构造决策表的5个步骤:(1)确定规则的个数。有n个条件的决策表有2n个规则(每个条件取真、假值)。(2)列出所有的条件桩和动作桩。(3)填入条件项。(4)填入动作项,得到初始决策表。(5)简化决策表,合并相似规则。若表中有两条以上规则具有相同的动作,并且在条件项之间存在极为相似的关系,便可以合并。合并后的条件项用符号“-”表示,说明执行的动作与该条件的取值无关,称为无关条件。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号