软件测试第四章-因果图课件_第1页
软件测试第四章-因果图课件_第2页
软件测试第四章-因果图课件_第3页
软件测试第四章-因果图课件_第4页
软件测试第四章-因果图课件_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

黑盒测试之因果图法因果图法因果图法简介因果图因果图法测试举例因果图法的简介因果图法产生的背景:等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字,因此必须考虑采用一种适合于描述多种条件的组合、相应产生多个动作的形式来进行测试用例的设计,这就需要利用因果图(逻辑模型)。

因果图法的简介(续)使用因果图法的优点:(1)考虑到了输入情况的各种组合以及各个输入情况之间的相互制约关系。(2)能够帮助测试人员按照一定的步骤,高效率的开发测试用例。(3)因果图法是将自然语言规格说明转化成形式语言规格说明的一种严格的方法,可以指出规格说明存在的不完整性和二义性。因果图因果图中用来表示4种因果关系的基本符号:c1e1恒等c1e1非~c1e1或c2c3∨c1e1与c2∧因果图(续)因果图中的4种基本关系在因果图的基本符号中,图中的左结点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四种约束,对于输出条件的约束只有M约束。因果图(续)ab或Ic因果图中用来表示约束关系的约束符号:I约束(或):a、b、c中至少有一个必须为1,即a、b、c不能同时为0。因果图(续)Rab要求因果图中用来表示约束关系的约束符号:R约束(要求):a是1时,b必须是1,即a为1时,b不能为0。因果图(续)ab异Eab或Icab唯一ORab要求Mab强制因果图中用来表示约束关系的约束符号:因果图(续)因果图法最终生成的是决策表。利用因果图生成测试用例的基本步骤如下:(1)分析软件规格说明中哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。(2)分析软件规格说明中的语义,找出原因与结果之间、原因与原因之间对应的关系,根据这些关系画出因果图。(3)由于语法或环境的限制,有些原因与原因之间、原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号表明约束或限制条件。(4)把因果图转换为决策表。(5)根据决策表中的每一列设计测试用例。3.6.3因果图法测试举例实例

用因果图法测试以下程序。程序的规格说明要求:输入的第一个字符必须是#或*,第二个字符必须是一个数字,此情况下进行文件的修改;如果第一个字符不是#或*,则给出信息N,如果第二个字符不是数字,则给出信息M。解题步骤:(1)分析程序的规格说明,列出原因和结果。(2)找出原因与结果之间的因果关系、原因与原因之间的约束关系,画出因果图。(3)将因果图转换成决策表。(4)根据(3)中的决策表,设计测试用例的输入数据和预期输出。因果图法测试举例(续)(1)分析程序规格说明中的原因和结果:(2)画出因果图(编号为10的中间结点是导出结果的进一步原因):原因结果c1:第一个字符是#e1:给出信息Nc2:第一个字符是*e2:修改文件c3:第二个字符是一个数字e3:给出信息Mc1c2c3e110e2e3~∨E~∧因果图法测试举例(续)(3)将因果图转换成如下所示的决策表:12345678条件:C1C2C310111110101110010111010100100000动作:e1e2e3不可能√√√√√√√√√测试用例#3#A*6*BA1GT规则选项练习例如,有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。”(1)分析这一段说明,列出原因和结果:1.售货机有零钱找2.投入1元硬币3.投入5角硬币4.押下橙汁按钮5.押下啤酒按钮(2)建立中间结点,表示处理中间状态11.投入1元硬币且押下饮料按钮12.押下〖橙汁〗或〖啤酒〗的按钮13.应当找5角零钱并且售货机有零钱找14.钱已付清24原因:C1.年薪制员工

C2.严重过失中间状态:11.非年薪制员工

12.过失结果:E1.扣年终风险金的4%E2.扣年终风险金的2%E3.扣当月薪资的8%E4.扣当月薪资的4%因果图C1C21112E1E2E3E4将因果图转化为判定表:想一想,直接用决策表,如何做?1234条件桩是否年薪制员工?是否严重过失?动作桩扣年终风险金的4%扣年终风险金的2%扣当月薪资的8%扣当月薪资的4%习题2中国象棋中走马的测试用例(下面未注明的均指的是对马的说明)一、分析中国象棋中走马的实际情况如果落点在棋盘外,则不移动棋子;如果落点与起点不构成日字型,则不移动棋子;如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子;落点处有己方棋子,则不移动棋子;如果不属于1-4条,落点处无棋子,则移动棋子;如果不属于1-4条,落点处为对方棋子(非老将),则移动棋子并除去对方棋子;如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。二、根据分析明确原因和结果原因:落点在棋盘上;落点与起点构成日字;落点方向的邻近交叉点无棋子;落点处为自己方棋子;落点处无棋子;落点处为对方棋子(非老将);落点处为对方老将。

结果:E1、不移动棋子;E2、移动棋子;E3、移动棋子,并除去对方棋子;E4、移动棋子,并提示战胜对方,结束游戏。添加中间节点11,目的是作为导出结果的进一步原因,简化因果图导出的判定表1345E1762E2E3E411~~~VVVVVE~决策表分解规则选项123456789101112131415161234111111101101110010111010100110000111011001010100001100100001000011E101100101010101010101010101010101规则选项12345678910111213141516

115671111111011011100101110101001100001110110010101000011001000010000

E2E3E4100010001决策表分解

规则选项1234567812311111010110001101000100011E11001010101010101规则选项12345678

1145670100000100000100000111000101001001010001

E1E2E3E410000100001000014.5其他黑盒测试方法故障猜测法——错误推测法

人们靠经验和直觉猜测程序中可能存在的各种软件故障,从而有针对性地编写检查这些故障的测试用例错误推测法人们也可以靠经验和直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的例子。这就是错误推测法。错误推测法的基本想法是:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据它们选择测试用例。错误推测法案例:电话簿复制过程中来电,是否会破坏数据库的完整性?如果两位学生的名字相同,电话簿能否正确查询。忽然断电了,输入了一半的数据是否能找回?正常的压缩文件手动破坏后是否能修复?配置文件手动修改一下是否能被软件正确解析?如果我离开计算机忘了锁定当前软件,别人是否也能用?错误推测法单元测试中发现的模块错误;产品的以前版本曾经发现的错误;输入数据为0或字符为空;当软件要求输入时(比如在文本框中),不是没有输入正确的信息,而是根本没有输入任何内容,单单按了Enter键;这种情况在产品说明书中常常忽视,程序员也可能经常遗忘,但是在实际使用中却时有发生。程序员总会习惯性的认为用户要么输入信息,不管是看起来合法的或非法的信息,要不就会选择Cancel键放弃输入.4.5黑盒测试效率

上面研究了几种典型的黑盒测试方法,这些测试方法的共同特点是它们都把程序看作是一个打不开的黑盒,只知道输入到输出的映射关系,根据规范说明设计测试用例。在等价类分析测试中,通过等价类划分来减少测试用例的绝对数量。边界值分析方法则通过分析输入变量的边界值域设计测试用例。在基于决策表的测试中,通过分析被测程序的逻辑依赖关系,构造决策表,进而设计测试用例。以边界值分析、等价类划分和决策表测试方法,来讨论它们的测试工作量,即生成测试用例的数量及开发这些测试用例所需的工作量。

边界值分析等价类划分决策表高低测试用例数每种测试方法的测试用例边界值分析等价类划分决策表高低测试用例数图4-12每种测试方法的测试用例数量边界值分析不考虑数据或逻辑依赖关系,机械地根据各边界生成测试用例。等价类划分则关注数据依赖关系和函数本身,考虑如何划分等价类,随后也是机械地生成测试用例。

决策表技术最精细,既要考虑数据,又要考虑逻辑依赖关系。

一、测试工作量4.5黑盒测试效率每种方法开发测试用例所需的工作量趋势。开发决策表测试用例生成所需的工作量最大。但生成的测试用例少,机器执行时间短。

边界值分析等价类划分决策表高低设计测试用例工作量每种方法设计测试用例的工作量趋势边界值分析等价类划分决策表高低设计测试用例工作量图4-13每种方法设计测试用例的工作量趋势边界值分析测试方法使用简单,但会生成大量测试用例,机器执行时间长。测试方法研究的目的就是在开发测试用例工作量和测试执行工作量之间做一个令人满意的折衷。

4.5黑盒测试效率二、测试效率如果仔细研究三个例子的测试用例集合,可以发现黑盒测试的基本局限:遗漏了某些未测试的功能和冗余测试。

分析前面的测试用例,结果都支持两点结论:功能性测试有漏洞,使用更精细的手段能够缩小这些漏洞。

一般来说,更精细的方法有助于识别漏洞,但是却不能保证什么。4.5黑盒测试效率三、测试有效性

解释测试有效性是很困难的。因为不可能知道程序中的所有缺陷,因此也就不可能知道给定方法所产生的测试用例是否能够发现这些缺陷。

所能够做的,就是根据不同类型的缺陷,选择最有可能发现这种缺陷的测试方法(包括白盒测试)。根据最可能出现的缺陷种类,分析得到可提高测试有效性的实用方法。通过跟踪所开发软件中的缺陷的种类和密度,也可以改进这种方法。

4.5黑盒测试效率三、测试有效性

利用程序的已知属性,选择处理这种属性的方法。

在选择黑盒测试方法时一些很有用的属性有:变量是否表示物理量或逻辑量?在变量之间是否存在依赖关系?是假设单缺陷,还是假设多缺陷?

温馨提示

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

评论

0/150

提交评论