第二章 黑盒测试(2)_第1页
第二章 黑盒测试(2)_第2页
第二章 黑盒测试(2)_第3页
第二章 黑盒测试(2)_第4页
第二章 黑盒测试(2)_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

1、1第2章 黑盒测试目目录录l因果图因果图的概念因果图操作流程实例 总结l决策表决策表的概念决策表操作流程实例总结3l问题的提出: 等价类划分法和边界值分析方法都是着重考虑输入条件,如果程序输入之间没有什么联系,采用等价类划分和边界值分析是一种比较有效的方法。但如果输入之间有关系,例如,约束关系、组合关系,这种关系用等价类划分和边界值分析是很难描述的,测试效果难以保障,因此必须考虑使用一种适合于描述对于多种条件的组合,产生多个相应动作的测试方法。问题的解决: 输入条件的笛卡尔积? 组合数目将是天文数字。 因此必须考虑采用一种适合于描述多种条件的组合、相应产生多个动作的形式来进行测试用例的设计因果

2、图。5l因果图法是基于这样的一种思想:一些程序的功能可以用判定表(或称决策表)的形式来表示,并根据输入条件的组合情况规定相应的操作。l因果图法的定义:是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。什么是因果图?什么是因果图?6因果图法的原理因果图法的原理1因果图 Ci表示原因,表示原因,Ei表示表示结果。结果。 各各结点表示状态,可取结点表示状态,可取“0”或或“1”。“0”表示某状态不会出现,“1”表示某状态出现。恒等:若原因出现,则结果出恒等:若原因出现,则结果出现;若原因不出现,则结果也不现;若原因不出现,则结果也不出现。出现。非

3、非():若原因出现,则结果不:若原因出现,则结果不出现;若原因不出现,则结果出出现;若原因不出现,则结果出现。现。或或():若几个原因中有:若几个原因中有1个出个出现,则结果出现;若几个原因都现,则结果出现;若几个原因都不出现,则结果不出现。不出现,则结果不出现。与与():若几个原因都出现,结:若几个原因都出现,结果才出现;若其中有果才出现;若其中有1个原因不出个原因不出现,则结果不出现。现,则结果不出现。7实际问题中,输入状态之间还可能存在某些依赖关系,称之为约束。输入约束输入约束 输出约束输出约束 E 异或(互斥):表示a、b两个原因不会同时成立,两个中最多有一个可能成立。I 或(包含):

4、表示a、b、c这三个原因中至少有一个必须成立。O 唯一:表示a、b当中必须有一个,且仅有一个成立。R 要求:表示当a出现时,b也必须出现。a出现时b不可能不出现。M 强制(屏蔽):表示当a是1时,b必须是0。而当a为0时,b的值不定。因果图法设计测试用例的步骤(操作流程因果图法设计测试用例的步骤(操作流程1):):1.将规格说明分解为可执行的片段。2.确定过个说明中的因果关系。 所谓“因”是指一个明确的输入条件或者输入条件的等价类。 所谓“果”是指一个输出条件或者系统转换(系统状态的延续影响)3.分析规格说明的语义内容,并将其转换为连接因果关系的因果图。4.跟踪状态变化,转换成判定表。5.判定

5、表转换成测试用例9因果图法设计测试用例的步骤(操作流程因果图法设计测试用例的步骤(操作流程2):):1.确定软件规格中的原因和结果。分析规格说明中哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。2.确定原因和结果之间的逻辑关系。分析软件规格说明中的语义,找出原因与结果之间、原因与原因之间对应的关系,根据这些关系画出因果图。3.确定因果图中的各个约束。由于语法或环境的限制,有些原因与原因之间、原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号表明约束或限制条件。4.把因果图转换为决策表。5.根据决策表设计测试用例。

6、10例1. 某软件规格说明书规定:输入的第一个字符必须是#或*,第二个字符必须是一个数字,此情况下进行文件的修改;如果第一个字符不是#或*,则给出信息N,如果第二个字符不是数字,则给出信息M。(1)找出原因和结果)找出原因和结果原因:c1:第一个字符是#;c2:第一个字符是*; c3:第二个字符是一个数字结果:e1:给出信息N;e2:修改文件 e3:给出信息M例题11(2)画出因果图)画出因果图c1c2c310e3e2e1E12(3)将因果图转换成决策表)将因果图转换成决策表 1 2 3 4 5 6 7 8 条件: C1 1 1 1 1 0 0 0 0 C2 1 1 0 0 1 1 0 0 C

7、3 1 0 1 0 1 0 1 0 10 1 1 1 1 0 0 动作: e1 e2 e3 不可能 C1和和C2不能同时为不能同时为113(4)根据决策表设计测试用例)根据决策表设计测试用例 测试用例编号 输入数据 预期输出 1 #3 修改文件 2 #A 给出信息M 3 *6 修改文件 4 *B 给出信息M 5 A1 给出信息N 6 GT 给出信息N和M决策表中的3814 例2. 有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。若投入1元5角硬币,按下“可乐”、“雪碧”或“红茶”按钮,相应的饮料就送出来。若投入的是两元硬币,在送出饮料的同时退还5角硬币。(1)找出原因和结果:)找出原因和

8、结果: 原因原因:C1 投入1元5角硬币;C2 投入2元硬币;C3 按“可乐”按钮 ;C4 按“雪碧”按钮;C5 按“红茶”按钮。 中间状态中间状态:11 已投币;12 已按钮。 结果结果:e1 退还5角硬币;e2 送出“可乐”饮料;e3 送出“雪碧”饮料;e4 送出“红茶”饮料。 15EEC1C2C5C3C4e4e3e2e11211(2)画出因果图)画出因果图16(3)将因果图转换成决策表)将因果图转换成决策表017(4 4)根据决策表设计测试用例)根据决策表设计测试用例测试用例编号测试用例说明输入数据预期结果T1投入硬币,按按钮1元5角, “可乐”按钮送出“可乐”饮料T2投入硬币,按按钮1

9、元5角, “雪碧”按钮送出“雪碧”饮料T3投入硬币,按按钮1元5角, “红茶”按钮送出“红茶”饮料T4投入硬币1元5角给出提示信息T5投入硬币,按按钮2元,“可乐”按钮退还5角,送出“可乐”饮料T6投入硬币,按按钮2元,“雪碧”按钮退还5角,送出“雪碧”饮料T7投入硬币,按按钮2元,“红茶”按钮退还5角,送出“红茶”饮料T8投入硬币2元给出提示信息T9按按钮“可乐”按钮给出提示信息T10按按钮“雪碧”按钮给出提示信息T11按按钮“红茶”按钮给出提示信息18因果图法的优点因果图法的优点:(1)考虑到了输入情况的各种组合以及各个输入情况之间的相互制约关系。(2)能够帮助测试人员按照一定的步骤,高效

10、率的开发测试用例。(3)因果图法是将自然语言规格说明转化成形式语言规格说明的一种严格的方法,可以指出规格说明存在的不完整性和二义性。目目录录l决策表决策表的概念决策表操作流程实例总结20l在所有的黑盒测试方法中,基于决策表的测试是最严格,最具有逻辑性的测试方法。 l在一个程序中,如果输入输出比较多,输入之间如果输入输出比较多,输入之间和输出之间相互制约的条件比较多,在这种情况和输出之间相互制约的条件比较多,在这种情况下适宜用决策表下适宜用决策表,可以很清楚的表达它们之间的各种复杂关系。21 决策表是把作为条件的所有输入的各种组合值以决策表是把作为条件的所有输入的各种组合值以及对应输出值都罗列出

11、来而形成的表格。及对应输出值都罗列出来而形成的表格。 概念概念:决策表是分析和表达多逻辑条件下执行:决策表是分析和表达多逻辑条件下执行不同操作的情况的工具。不同操作的情况的工具。 优点优点:它能够将复杂的问题按照各种可能的情:它能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。因此,利用况全部列举出来,简明并避免遗漏。因此,利用决策表能够设计出完整的测试用例集合。决策表能够设计出完整的测试用例集合。 1决策表决策表22选项选项 规则规则12345678问问题题觉得疲倦?觉得疲倦?YYYYNNNN感兴趣吗?感兴趣吗?YYNNYYNN糊涂吗?糊涂吗?YNYNYNYN建建议议重读重读继

12、续继续跳下一章跳下一章休息休息“阅读指南阅读指南”决策表决策表23 决策表法相关概念决策表法相关概念 决策表通常由决策表通常由条件桩条件桩、条件项条件项、动作桩动作桩和和动作动作项项4部分组成。部分组成。 条件桩 条件项 动作桩 动作项规则条件桩条件桩列出问题的所有列出问题的所有条件条件条件项条件项针对条件桩给出的条针对条件桩给出的条件列出所有可能的取值件列出所有可能的取值动作桩动作桩列出问题规定的可能采取的操作列出问题规定的可能采取的操作动作项动作项指出在条件项的各组取值情况下应指出在条件项的各组取值情况下应采取的动作采取的动作241.列出所有的条件桩和动作桩。列出所有的条件桩和动作桩。2.

13、确定规则的个数。确定规则的个数。3.填入条件项。填入条件项。4.填入动作项,得到初始决策表。填入动作项,得到初始决策表。5.简化简化决策表,合并相似规则。决策表,合并相似规则。2决策表的构造及化简的操作流程决策表的构造及化简的操作流程25 若表中有两条以上规则具有相同的动作,并且在若表中有两条以上规则具有相同的动作,并且在条件项之间存在极为相似的关系,便可以合并。条件项之间存在极为相似的关系,便可以合并。 合并后的条件项用符号合并后的条件项用符号“-”表示,说明执行的动表示,说明执行的动作与该条件的取值无关,称为无关条件。作与该条件的取值无关,称为无关条件。决策表的化简决策表的化简261:三角

14、形问题的决策表:三角形问题的决策表规则规则选项选项规则规则1-8规则规则9规则规则10规则规则11规则规则12规则规则13规则规则14 规则规则15规则规则16条件:条件:c1: a,b,c构成构成 三角形?三角形?c2: a=b?c3: a=c?c4: b=c? N- YYYY YYYN YYNY YYNN YNYY YNYN YNNY YNNN动作:动作:a1: 非三角形非三角形a2: 一般三角形一般三角形a3: 等腰三角形等腰三角形a4: 等边三角形等边三角形a5: 不可能不可能 例题27 NextDate函数输入为函数输入为month(月份月份)、day(日期日期)和和year(年年)

15、,输出为输入后一天的日期。例如,如,输出为输入后一天的日期。例如,如果输入为:果输入为:1964年年8月月16日,则输出为日,则输出为1964年年8月月17日。要求输入变量日。要求输入变量month、day和和year都是都是整数值,并且满足以下条件:整数值,并且满足以下条件: Con1 1month12 Con2 1day31 条件桩条件桩 Con3 1900year20502: NextDate问题的决策表问题的决策表28 采用决策表法则可以通过使用采用决策表法则可以通过使用“不可能动作不可能动作”的概念表示条件的不可能组合,来强调这种依赖的概念表示条件的不可能组合,来强调这种依赖关系。关

16、系。 为了获得下一个日期,为了获得下一个日期,NextDate函数需要执函数需要执行的操作只有如下行的操作只有如下5种:种: day变量值加变量值加1; day变量值复位为变量值复位为1; month变量值加变量值加1; 动作桩动作桩 month变量值复位为变量值复位为1; year变量值加变量值加1。29 如果将注意力集中到NextDate函数的日和月问题上,并仔细研究动作桩。可以在以下的等价类集合上建立决策表。M1: month: month有30天;M2: month:month有31天,12月除外; M3: month:month是12月; M4: month:month是2月;D1:

17、day:1day27;D2: day:day=28;D3: day:day=29;D4: day:day=30; D5: day:day=31;Y1:year:year是闰年;Y2: year:year不是闰年30 NextDate函数的决策表函数的决策表 规则选项1234567891011条件C1:month在C2:day在C3:year在M1M1M1M1M1M2M2M2M2M2M3D1D2D3D4D5D1D2D3D4D5D1动作A1:不可能A2:day加1A3:day复位A4:month加1A5:month复位A6:year加131 规则选项1213141516171819 202122条

18、件 C1:month在M3M3M3M3M4M4M4M4M4M4M4C2:day在D2D3D4D5D1D2D2D3D3D4D5C3:year在Y1Y2Y1Y2动作A1:不可能A2:day加1A3:day复位A4:month加1A5:month复位A6:year加132可进一步简化这22个测试用例。简化后的决策表如下所示。13456910 11141516171819 20 2122条件C1:month在M1M1M1M2M2M3M3M4M4M4M4M4M4C2:day在D1D3D4D5D1D4D5D1D4D5D1D2D2D3D3D4,D5C3:year在-Y1Y2Y1Y2-动作A1:不可能A2:d

19、ay加1A3:day复位month加1month复位A6:year加133设计测试用例设计测试用例测试用例monthdayyear预期输出Test1-3Test4Test5Test6-9Test10Test11-14Test15Test16Test17Test18Test19Test20Test21-22666111212222222163031163116311628282929302001200120012001200120012001200120042001200420012001不可能不可能不可能34决策表适用范围决策表适用范围if-then-else逻辑突出。输入变量之间存在逻辑关系

20、。涉及输入变量子集的计算。输入与输出之间存在因果关系。圈复杂度较高。规格说明以决策表形式给出,或较容易转换为决策表。条件的排列顺序不会也不应影响执行的操作。规则的排列顺序不会也不应影响执行的操作。当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则。如果某一规则的条件要执行多个操作,这些操作的执行顺序无关紧要。35练习题练习题1、某城市电话号码由三部分组成,分别是:、某城市电话号码由三部分组成,分别是: 地区码地区码 空白或三位数字;空白或三位数字; 前前 缀缀 非非0或或1开头的三位数字;开头的三位数字; 后后 缀缀 4位数字。位数字。 假定被测程序能接受一切符合上述规定的电话号

21、码,假定被测程序能接受一切符合上述规定的电话号码, 拒绝所有不符合规定拒绝所有不符合规定的电话号码。要求:的电话号码。要求: (1)请选择适当的黑盒测试方法,写出选择该方法的原因,并使用该方法的步骤,)请选择适当的黑盒测试方法,写出选择该方法的原因,并使用该方法的步骤,给出测试用例表。给出测试用例表。(2)如果所生成的测试用例不够全面,请考虑用别的测试)如果所生成的测试用例不够全面,请考虑用别的测试 方法生成一些补充的方法生成一些补充的测试用例。测试用例。36l2、以中国象棋中马的走法为例子,具体说明:(因果图法)la、如果落点在棋盘外,则不移动棋子;b、如果落点与起点不构成日字型,则不移动棋

22、子;c、如果落点处有自己方棋子,则不移动棋子;d、如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子;le、如果不属于1-4条,且落点处无棋子,则移动棋子;f、如果不属于1-4条,且落点处为对方棋子 (非老将) ,则移动棋子并除去对方棋子;lg、如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。37l原因:l1、落点在棋盘外;2、不构成日字;l3、落点有自方棋子;4、绊马腿;l5、落点无棋子;6、落点为对方棋子;7、落点为对方老将。结果:21、不移动;22、移动;23、移动己方棋子消除对方棋子;24、移动并战胜对方。 黑盒测试小结黑盒测试小结39黑盒测试方法的

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

24、曲线:每种方法设计测试用例的工作量趋势 测试方法研究的目的就是在开发测试用例工作量和测试执行工作量之间做一个令人满意的折中。422测试有效性 解释测试有效性是很困难的。因为我们不知道程序中的所有故障,因此我们也不可能知道给定方法所产生的测试用例是否能够发现这些。 所能够做的,只是根据不同类型的故障,选择最有可能发现这种缺陷的测试方法(包括白盒测试)。根据最可能出现的故障种类,分析得到可提高测试有效性的实用方法。通过跟踪所开发软件中的故障的种类和密度,也可以改进这种方法。43 利用程序的已知属性,选择处理这种属性的方法,在选择黑盒测试方法时一些经常用到的属性有:l 变量表示物理量还是逻辑量?l

25、在变量之间是否存在依赖关系?l 是否有大量的例外处理?44 下面给出一些黑盒测试方法选取的初步的“专家系统”:l 如果变量引用的是物理量,可采用边界值分析测试和等价类测试。l如果变量引用的是逻辑量,可采用等价类测试用例和决策表测试。 l如果变量是独立的,可采用边界值分析测试和等价类测试。l如果变量不是独立的,可采用决策表测试。l如果可保证是单缺陷假设,可采用边界值分析和健壮性测试。l 如果可保证是多缺陷假设,可采用边界值分析测试和决策表测试l 如果程序包含大量例外处理,可采用健壮性测试和决策表测试。 45黑盒测试工具介绍黑盒测试工具介绍l黑盒测试工具是指测试软件功能和性能的工具,主要用于集成测

26、试、系统测试和验收测试。l本节主要介绍几款常用的功能测试工具,性能测试工具则在第6章中介绍。462.7 黑盒测试工具介绍黑盒测试工具介绍l2.7.1 黑盒测试工具概要 黑盒测试是在已知软件产品应具有的功能的条件下,在完全不考虑被测程序内部结构和内部特性的情况下,通过测试来检测每个功能是否都按照需求规格说明的规定正常使用。 黑盒测试工具又分为:功能测试工具和性能测试工具。 功能测试工具:功能测试工具主要用于检测被测程序能否达到预期的功能要求并能正常运行。 性能测试工具:性能测试工具主要用于确定软件和系统性能。47 2.7.1 黑盒测试工具概要黑盒测试工具概要 功能测试工具一般采用脚本录制(Rec

27、ord)/回放(Playback)原理,模拟用户的操作,然后将被测系统的输出记录下来,并同预先给定的标准结果进行比较。在回归测试中使用功能测试工具,可以大大减轻测试人员的工作量,提高测试效果。 功能测试工具不太适合于版本变动较大的软件。 下面主要介绍一些主流黑盒功能测试工具,如Mercury Interactive公司的WinRunner,IBM Rational公司的TeamTest和Robot,Compuware公司的QACenter等。48l“录制-回放”技术:就是先由手工完成一遍需要测试的流程,同时由计算机记录下这个流程期间客户端和服务器端之间的通信信息,这些信息通常是一些协议和数据,

28、并形成特定的脚本程序 (Script) ,然后在系统的统一管理下同时生成多个虚拟用户,并运行该脚本,监控硬件和软件平台的性能,提供分析报告或相关资料。这样,通过几台机器就可以模拟出成百上千的用户对应用系统进行负载能力的测试。l代码分析是一种白盒测试的自动化方法,捕获和回放则是一种黑盒测试的自动化方法。捕获是将用户每一步操作都记录下来在把所有的记录转换为一种脚本语言所描述的过程,以模拟用户的操作。l回放时,将脚本语言所描述的过程转换为屏幕上的操作,然后将被测系统的输出记录下来同预先给定的标准结果比较。l捕获和回放可以大大减轻黑盒测试的工作量,在迭代开发的过程中,能够很好地进行回归测试l脚本技术:

29、脚本是一组测试工具执行的指令集合,也是计算机程序的一种形式。脚本可以通过录制测试的操作产生,然后再做修改,这样可以减少脚本编程的工作量。当然,也可以直接用脚本语言编写脚本492.7 黑盒测试工具介绍黑盒测试工具介绍l2.7.2黑盒功能测试工具WinRunner 1. WinRunner的测试模式的测试模式 (1)上下文敏感模式(Context Sensitive model) (2)模拟模式(Analog mode) 2GUI对象识别和对象识别和GUI map文件文件 3WinRunner测试过程测试过程 可分为创建GUI map,创建测试,调试测试,执行测试,分析结果和测试维护六个阶段。50

30、 2.7.2黑盒功能测试工具黑盒功能测试工具WinRunner 4WinRunner的使用的使用 WinRunner的主窗口如下所示,主要包括标题栏、菜单栏、标准工具栏、用户栏、状态栏和测试窗口。 512.7.2黑盒功能测试工具黑盒功能测试工具WinRunnerWinRunner的测试窗口界面如下5WinRunner对样本软件对样本软件Flight1A的测试的测试522.7 黑盒测试工具介绍黑盒测试工具介绍l2.7.3黑盒功能测试工具QTPlQTP属于新一代自动化测试解决方案,能够支持所有常用环境的功能测试。l QTP的主界面与WinRunner的主界面不同,界面中主要部分包括:文件工具栏、测试工具栏 、测试面、数据表格 、活动屏幕。53 QTP的主界面2.7.3黑盒功能测试工具黑盒功能测试工具QTP542.7.3黑盒功能测试工具黑盒功能测试工具QTP QTP的测试流程1设计测试用例2创建测试脚本3编辑测试脚本4运行测试5分析测试 QTP适合测试版本比较稳定的软件产品,在一些界面变化不大的回归测试中非常有效,但对于界面变化频率较大的软件,则体现不出QTP的优势。552.7 黑盒测试工具介绍黑盒测试工具介绍l2.7.4 其他常用功能测试工具 1IBM R

温馨提示

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

评论

0/150

提交评论