![软件测试第四章--因果图_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-1/4/ae509451-de2d-4e81-b838-a1dc95bfb618/ae509451-de2d-4e81-b838-a1dc95bfb6181.gif)
![软件测试第四章--因果图_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-1/4/ae509451-de2d-4e81-b838-a1dc95bfb618/ae509451-de2d-4e81-b838-a1dc95bfb6182.gif)
![软件测试第四章--因果图_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-1/4/ae509451-de2d-4e81-b838-a1dc95bfb618/ae509451-de2d-4e81-b838-a1dc95bfb6183.gif)
![软件测试第四章--因果图_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-1/4/ae509451-de2d-4e81-b838-a1dc95bfb618/ae509451-de2d-4e81-b838-a1dc95bfb6184.gif)
![软件测试第四章--因果图_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-1/4/ae509451-de2d-4e81-b838-a1dc95bfb618/ae509451-de2d-4e81-b838-a1dc95bfb6185.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、因果图法因果图法因果图法简介因果图法简介因果图因果图因果图法测试举例因果图法测试举例因果图法的简介因果图法的简介l 因果图法产生的背景因果图法产生的背景: 等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。 如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字,因此必须考虑采用一种适合于描述多种条件的组合、相应产生多个动作的形式来进行测试用例的设计,这就需要利用因果图(逻辑模型)。 因果图法的简介因果图法的简介(续)(续)l
2、因果图法是基于这样的一种思想因果图法是基于这样的一种思想:一些程序的功能可以用判定表(或称决策表)的形式来表示,并根据输入条件的组合情况规定相应的操作。l 因果图法的定义:因果图法的定义:是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。l 采用因果图法设计测试用例的步骤:采用因果图法设计测试用例的步骤:(1)根据程序规格说明书描述,分析并确定因(输入条件)和果(输出结果或程序状态的改变),画出因果图。(2)将得到的因果图转换为判定表。(3)为判定表中每一列所表示的情况设计一个测试用例。因果图法的简介因果图法的简介(续)(续)l 使用因果图
3、法的优点使用因果图法的优点:(1)考虑到了输入情况的各种组合以及各个输入情况之间的相互制约关系。(2)能够帮助测试人员按照一定的步骤,高效率的开发测试用例。(3)因果图法是将自然语言规格说明转化成形式语言规格说明的一种严格的方法,可以指出规格说明存在的不完整性不完整性和二义性和二义性。因果图因果图l 因果图中用来表示4种因果关系的基本符号:恒等 非或与因果图因果图(续)(续)l 因果图中的4种基本关系 在因果图的基本符号中,图中的左结点ci表示输入状态(或称原因),右结点ei表示输出状态(或称结果)。ci 与 ei 取值0或1,0表示某状态不出现,1则表示某状态出现。 恒等:若 c1 是1,则
4、 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。因果图因果图(续)(续)因果图中的约束因果图中的约束l 在实际问题中输入状态相互之间、输出状态相互之间可能存在某些依赖关系,称为“约束”。l 对于输入条件的约束有E、I、O、R四种约束,对于输出条件的约束只有M约束。因果图因果图(续)(续)异El 因果图中用来表示约束关系的约束符号:E约束(异):a和b中最多有一个可能为1,即a和b不能同时 为1。因果图因果图(续)(
5、续)或Il 因果图中用来表示约束关系的约束符号:I 约束(或):a、b、c中至少有一个必须为1,即 a、b、c不能同时为0。因果图因果图(续)(续)唯一Ol 因果图中用来表示约束关系的约束符号:O约束(唯一):a和b必须有一个且仅有一个为1。因果图因果图(续)(续)R要求l 因果图中用来表示约束关系的约束符号:R约束(要求):a是1时,b必须是1,即a为1时,b不能为0。因果图因果图(续)(续)M强制l 因果图中用来表示约束关系的约束符号:M约束(强制):若结果a为1,则结果b强制为0。因果图因果图(续)(续)异E或I唯一OR要求M强制l 因果图中用来表示约束关系的约束符号:因果图因果图(续)
6、(续)l 因果图法最终生成的是决策表。利用因果图生成测试用例的基本步骤如下:(1)分析软件规格说明中哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。(2)分析软件规格说明中的语义,找出原因与结果之间、原因与原因之间对应的关系, 根据这些关系画出因果图。(3)由于语法或环境的限制,有些原因与原因之间、原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号表明约束或限制条件。(4)把因果图转换为决策表。(5)根据决策表中的每一列设计测试用例。3.6.3 因果图法测试举例因果图法测试举例n实例实例 用因果图法测试以下程序。
7、用因果图法测试以下程序。 程序的规格说明要求:输入的第一个字符必须是程序的规格说明要求:输入的第一个字符必须是#或或*,第二个字符必须是一个数字,此情况下进行文件的修改;如第二个字符必须是一个数字,此情况下进行文件的修改;如果第一个字符不是果第一个字符不是#或或*,则给出信息,则给出信息N,如果第二个字符不,如果第二个字符不是数字,则给出信息是数字,则给出信息M。解题步骤:解题步骤:(1)分析程序的规格说明,列出原因和结果。)分析程序的规格说明,列出原因和结果。(2)找出原因与结果之间的因果关系、原因与原因之间的约)找出原因与结果之间的因果关系、原因与原因之间的约束关系,画出因果图。束关系,画
8、出因果图。(3)将因果图转换成决策表。)将因果图转换成决策表。(4)根据()根据(3)中的决策表,设计测试用例的输入数据和预期)中的决策表,设计测试用例的输入数据和预期输出。输出。因果图法测试举例因果图法测试举例(续)(续)c1c2c3e110e2e3E因果图法测试举例因果图法测试举例(续)(续)12345678条件:条件:C1C2C310111110101110010111010100100000动作:动作:e1e2e3不可能不可能测试用例测试用例#3#A*6*BA1GT规则选项因果图法测试举例因果图法测试举例(续)(续)练习练习l 例如,有一个处理单价为例如,有一个处理单价为5角钱的饮料的
9、自动售货机软件测试角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:用例的设计。其规格说明如下:n 若投入若投入5角钱或角钱或1元钱的硬币,押下元钱的硬币,押下橙汁橙汁或或啤酒啤酒的的按钮,则相应的饮料就送出来。按钮,则相应的饮料就送出来。n 若售货机没有零钱找,则一个显示若售货机没有零钱找,则一个显示零钱找完零钱找完的红灯亮的红灯亮,这时在投入,这时在投入1元硬币并押下按钮后,饮料不送出来而且元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;元硬币也退出来;n 若有零钱找,则显示若有零钱找,则显示零钱找完零钱找完的红灯灭,在送出饮料的红灯灭,在送出饮料的同时退还的同时退还5角硬币
10、。角硬币。”l (1)分析这一段说明,列出原因和结果分析这一段说明,列出原因和结果:n 1. 售货机有零钱找售货机有零钱找n 2. 投入投入1元硬币元硬币 n 3. 投入投入5角硬币角硬币n 4. 押下橙汁按钮押下橙汁按钮n 5. 押下啤酒按钮押下啤酒按钮l (2)建立中间结点,表示处理中间状态建立中间结点,表示处理中间状态n 11. 投入投入1元硬币且押下饮料按钮元硬币且押下饮料按钮n 12. 押下押下橙汁橙汁或或啤酒啤酒的按钮的按钮n 13. 应当找应当找5角零钱并且售货机有零钱找角零钱并且售货机有零钱找n 14. 钱已付清钱已付清l (3)结果:结果: n 21. 售货机售货机零钱找完零
11、钱找完灯亮灯亮 n 22. 退还退还1元硬币元硬币 n 23. 退还退还5角硬币角硬币n 24. 送出橙汁饮料送出橙汁饮料n 25. 送出啤酒饮料送出啤酒饮料l (4) 画出因果图。所有原因结点列在左边,所有结果结点列在画出因果图。所有原因结点列在左边,所有结果结点列在右边。右边。l (5) 由于由于 2 与与 3 ,4 与与 5 不能同时发生,分别加上约束条件不能同时发生,分别加上约束条件E。l (6)转换成因果图判定表。转换成因果图判定表。24练习练习某软件的一个模块的需求规格说明书中描述:(1)年薪制员工:严重过失,扣年终风险金的4%;过失,扣年终风险金的2%。(2)非年薪制员工:严重过
12、失,扣当月薪资的8%;过失,扣当月薪资的4%。请绘制出因果图和判定表,并给出相应的测试用例l 原因:l C1. 年薪制员工l C2. 严重过失l 中间状态:l 11. 非年薪制员工l 12. 过失l 结果:l E1. 扣年终风险金的4%l E2. 扣年终风险金的2%l E3. 扣当月薪资的8%l E4. 扣当月薪资的4%因果图因果图C1C21112E1E2E3E4将因果图转化为判定表:将因果图转化为判定表:测试用例测试用例测试用例1: 输入数据: 年薪制员工,严重过失 预期输出: 扣年终风险金的4%l测试用例2: 输入数据: 年薪制员工,过失 预期输出: 扣年终风险金的2%l测试用例3: 输入
13、数据: 非年薪制员工,严重过失 预期输出: 扣当月薪资的8%l测试用例4: 输入数据: 非年薪制员工,过失 预期输出: 扣当月薪资的4%想一想,直接用决策表,如何做?想一想,直接用决策表,如何做?1234条件桩是否年薪制员工?是否严重过失?动作桩扣年终风险金的4%扣年终风险金的2%扣当月薪资的8%扣当月薪资的4%习题习题2l中国象棋中走马的测试用例(下面未注明的均中国象棋中走马的测试用例(下面未注明的均指的是对马的说明)指的是对马的说明)一、一、 分析中国象棋中走马的实际情况分析中国象棋中走马的实际情况1. 如果落点在棋盘外,则不移动棋子;2. 如果落点与起点不构成日字型,则不移动棋子;3.
14、如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子;4. 落点处有己方棋子,则不移动棋子;5. 如果不属于1-4条, 落点处无棋子,则移动棋子;6. 如果不属于1-4条, 落点处为对方棋子(非老将),则移动棋子并除去对方棋子;7. 如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。 二、二、 根据分析明确原因和结果根据分析明确原因和结果 l 原因:1. 落点在棋盘上;2. 落点与起点构成日字;3. 落点方向的邻近交叉点无棋子;4. 落点处为自己方棋子;5. 落点处无棋子;6. 落点处为对方棋子(非老将);7. 落点处为对方老将。 l 结果:E1、不移动棋子;E
15、2、移动棋子;E3、移动棋子,并除去对方棋子;E4、移动棋子,并提示战胜对方,结束游戏。 添加中间节点添加中间节点11,目的是作为导出结果的进一步原因目的是作为导出结果的进一步原因,简化因果简化因果图导出的判定表图导出的判定表1345E1762E2E3E411VVVVVE 决策表分解决策表分解 规则规则选项选项12345678910111213141516 1 2 3 41111111011011100101110101001100001110110010101000011001000010000 11 E101100101010101010101010101010101 规则规则 选项选项1
16、2345678910111213141516 11 5 6 71111111011011100101110101001100001110110010101000011001000010000 E2 E3 E4100010001决策表分解决策表分解 规则规则选项选项1234567812311111010110001101000100011E11001010101010101 规则规则 选项选项12345678 11 4 5 6 70100000100000100000111000101001001010001 E1 E2 E3 E410000100001000014.5 其他黑盒测试方法其他黑盒
17、测试方法故障猜测法故障猜测法错误推测法错误推测法 人们靠经验和直觉猜测程序中可能存人们靠经验和直觉猜测程序中可能存在的各种软件故障,从而有针对性地编在的各种软件故障,从而有针对性地编写检查这些故障的测试用例写检查这些故障的测试用例错误推测法错误推测法l人们也可以靠经验和直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的例子。这就是错误推测法。l错误推测法的基本想法是:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据它们选择测试用例。错误推测法错误推测法l 案例:n电话簿复制过程中来电,是否会破坏数据库的完整性?n如果两位学生的名字相同,电话簿能否正确查询。n忽然断电了
18、,输入了一半的数据是否能找回?n正常的压缩文件手动破坏后是否能修复?n配置文件手动修改一下是否能被软件正确解析?n如果我离开计算机忘了锁定当前软件,别人是否也能用?错误推测法错误推测法n单元测试中发现的模块错误;n产品的以前版本曾经发现的错误;n输入数据为0或字符为空;n当软件要求输入时(比如在文本框中),不是没有输入正确的信息,而是根本没有输入任何内容,单单按了Enter键;n这种情况在产品说明书中常常忽视,程序员也可能经常遗忘,但是在实际使用中却时有发生。程序员总会习惯性的认为用户要么输入信息,不管是看起来合法的或非法的信息,要不就会选择Cancel键放弃输入.4.5 黑盒测试效率黑盒测试
19、效率 上面研究了几种典型的黑盒测试方法,这些测试方法的共同特点是它们都把程序看作是一个打不开的黑盒,只知道输入到输出的映射关系,根据规范说明设计测试用例。 在等价类分析测试中,通过等价类划分来减少测试用例的绝对数量。 边界值分析方法则通过分析输入变量的边界值域设计测试用例。 在基于决策表的测试中,通过分析被测程序的逻辑依赖关系,构造决策表,进而设计测试用例。以边界值分析、等价类划分和决策表测试方法,来讨论它们的测试工作量,即生成测试用例的数量及开发这些测试用例所需的工作量。 边界值分析等价类划分决策表高低测试用例数每种测试方法的测试用例边界值分析等价类划分决策表高低测试用例数图4-12 每种测
20、试方法的测试用例数量边界值分析不考虑数据或逻辑依赖关系,机械地根据各边界生成测试用例。等价类划分则关注数据依赖关系和函数本身,考虑如何划分等价类,随后也是机械地生成测试用例。 决策表技术最精细,既要考虑数据,又要考虑逻辑依赖关系。 一、测试工作量一、测试工作量4.5 黑盒测试效率黑盒测试效率每种方法开发测试用例所需的工作量趋势。每种方法开发测试用例所需的工作量趋势。开发决策表测试用例生成所需的工作量最大。但生成的测试用例少,机器执行时间短。 边界值分析等价类划分决策表高低设计测试用例工作量每种方法设计测试用例的工作量趋势边界值分析等价类划分决策表高低设计测试用例工作量图4-13 每种方法设计测
21、试用例的工作量趋势边界值分析测试方法使用简单,但会生成大量测试用例,机器执行时间长。测试方法研究的目的就是在开发测试用例工作量和测试执行工作量之间做一个令人满意的折衷。 4.5 黑盒测试效率黑盒测试效率二、测试效率二、测试效率 如果仔细研究三个例子的测试用例集合,可以如果仔细研究三个例子的测试用例集合,可以发现黑盒测试的基本局限:遗漏了某些未测试的发现黑盒测试的基本局限:遗漏了某些未测试的功能和冗余测试。功能和冗余测试。 分析前面的测试用例,结果都支持两点结论:分析前面的测试用例,结果都支持两点结论:功能性测试有漏洞,使用更精细的手段能够缩小功能性测试有漏洞,使用更精细的手段能够缩小这些漏洞。
22、这些漏洞。 一般来说,更精细的方法有助于识别漏洞,但一般来说,更精细的方法有助于识别漏洞,但是却不能保证什么。是却不能保证什么。4.5 黑盒测试效率黑盒测试效率三、测试有效性三、测试有效性 解释测试有效性是很困难的。因为不可能知道解释测试有效性是很困难的。因为不可能知道程序中的所有缺陷,因此也就不可能知道给定方程序中的所有缺陷,因此也就不可能知道给定方法所产生的测试用例是否能够发现这些缺陷。法所产生的测试用例是否能够发现这些缺陷。 所能够做的,就是根据不同类型的缺陷,选所能够做的,就是根据不同类型的缺陷,选择最有可能发现这种缺陷的测试方法择最有可能发现这种缺陷的测试方法( (包括白盒包括白盒测
23、试测试) )。根据最可能出现的缺陷种类,分析得到。根据最可能出现的缺陷种类,分析得到可提高测试有效性的实用方法。通过跟踪所开发可提高测试有效性的实用方法。通过跟踪所开发软件中的缺陷的种类和密度,也可以改进这种方软件中的缺陷的种类和密度,也可以改进这种方法。法。 4.5 黑盒测试效率黑盒测试效率三、测试有效性三、测试有效性 利用程序的已知属性,选择处理这种属性的方法。利用程序的已知属性,选择处理这种属性的方法。 在选择黑盒测试方法时一些很有用的在选择黑盒测试方法时一些很有用的属性属性有:有:l 变量是否表示物理量或逻辑量变量是否表示物理量或逻辑量?l 在变量之间是否存在依赖关系在变量之间是否存在
24、依赖关系?l 是假设单缺陷,还是假设多缺陷是假设单缺陷,还是假设多缺陷?l 是否有大量例外处理是否有大量例外处理?4.5 黑盒测试效率黑盒测试效率三、测试有效性三、测试有效性下面列出一些黑盒测试方法选择的初步的下面列出一些黑盒测试方法选择的初步的“专家系统专家系统”: 如果变量引用的是物理量,可采用边界值分析测试和等价如果变量引用的是物理量,可采用边界值分析测试和等价类测试。类测试。 如果变量是独立的,可采用边界值分析测试和等价类测试。如果变量是独立的,可采用边界值分析测试和等价类测试。 如果变量不是独立的,可采用决策表测试。如果变量不是独立的,可采用决策表测试。 如果可保证是单缺陷假设,可采用边界值分析和健壮性测试。如果可保证是单缺陷假设,可采用边界值分析和健壮性测试。 如果程序包含大量例外处理,可采用健壮性测试和决策表测试。如果程序包含大量例外处理,可采用健壮性测试和决
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度化妆行业人才招聘与派遣合同范本
- 2025年度健康医疗大数据平台建设合同-@-1
- 2025年度国有建筑租赁合同范本(含装修设计)
- 2025年度智能巡检机器人监控系统租赁合同
- 2025年度房地产开发合同履约担保函模板
- 2025年度经济信息安全管理与保密中介服务合同范本
- 2025年度河砂运输与环境保护责任追究合同
- 2025年度酒店餐饮服务与管理一体化合同书
- 2025年度国际酒店外籍员工聘用合同样本
- 2025年度股权委托代持信息披露与合规服务合同
- 2024年临床医师定期考核试题中医知识题库及答案(共330题) (二)
- 2025-2030年中国反渗透膜行业市场发展趋势展望与投资策略分析报告
- 湖北省十堰市城区2024-2025学年九年级上学期期末质量检测道德与法治试题 (含答案)
- 2025年山东省济宁高新区管委会“优才”招聘20人历年高频重点提升(共500题)附带答案详解
- 2025年中国社会科学评价研究院第一批专业技术人员招聘2人历年高频重点提升(共500题)附带答案详解
- (2024年高考真题)2024年普通高等学校招生全国统一考试数学试卷-新课标Ⅰ卷(含部分解析)
- 《住院患者身体约束的护理》团体标准解读课件
- 奥太焊机维修教材MZ系列
- 化工装置实用操作技术指南讲解
- 春季高考英语《大纲短语》(218个核心词汇相关短语)
- 护理文书书写规范ppt课件
评论
0/150
提交评论