黑盒测试方法课件.ppt

上传人(卖家):晟晟文业 文档编号:4683162 上传时间:2022-12-31 格式:PPT 页数:68 大小:398.83KB
下载 相关 举报
黑盒测试方法课件.ppt_第1页
第1页 / 共68页
黑盒测试方法课件.ppt_第2页
第2页 / 共68页
黑盒测试方法课件.ppt_第3页
第3页 / 共68页
黑盒测试方法课件.ppt_第4页
第4页 / 共68页
黑盒测试方法课件.ppt_第5页
第5页 / 共68页
点击查看更多>>
资源描述

1、黑盒测试 2011年年7月月 .概览在本章中,我们将学习:n测试用例简述n黑盒测试方法n等价类划分n边界值分析 n因果图与决策表法n其他测试法.测试用例的概念n测试用例测试用例的定义的定义(1)为特定目标而编制的一组测试输入、执行条件和预期结果,其目的是测试程序中的路径,核实程序或软件能否满足某个特定的需求。(2)测试用例是执行的最小实体。(3)对被测程序的测试通常需要多个测试用例.测试用例的主要元素n测试名称:测试用例的编号和名称n预置条件:测试用例执行的前提条件n步骤描述、预期结果及实际结果n状态:测试用例的状态(是否执行,是否通过)n设计人员和执行人员n创建日期和执行日期.测试用例的重要

2、性(了解)测试用例在测试活动中占有核心的作用,主要体现在以下几个方面:n测试用例构成了设计和执行测试过程的基础。n测试的“深度”与测试用例的数量呈比例。n测试是否完全的依据。n测试工作量与测试用例的数量呈比例n测试设计和开发的类型及所需的资源主要都受控于测试用例.测试用例的设计准则 由于穷举测试是不可能的,因此测试人员应设计有限的、有代表性或特殊性的测试用例。总之一句话,设计尽可能少的用例去尽可能多的发现软件的缺陷。基本准则如下:n测试用例的代表性 能够代表并覆盖各种合理的和不合理的、合法的和非法的、边界的和越界的以及极限的输入数据、操作和环境设置等。稀有、极端、特殊的点需要测试人员重点关注。

3、n测试用例的非重复性 测试用例不应是与原有测试用例重复的或等价效果的,应追求测试用例数目的精简.测试用例的设计准则n测试结果的可判定性 即测试执行结果的正确性是可判定的,每一个测试用例都应有相应的期望结果。n测试结果的可再现性 即对同样的测试用例,系统的执行结果应当是相同的。好的测试用例集能花费最小的代价(人力、物力、财力、时间)做最好的测试。测试用例的设计方法主要分为黑盒法和白盒法。.黑盒测试方法n黑盒测试,把被测软件看成一个封闭的盒子,在完全不考虑软件内部逻辑和内部结构的情况下进行的测试。.黑盒测试常见的错误1、功能不正确或者遗漏2、界面错误。在接口上输入能否正确地接受。能否输出正确的结果

4、3、数据库访问错误.黑盒测试的优点 1、黑盒测试与软件如何实现无关,如果实现发生变化,黑盒测试用例仍然可用(可重用性,面向回归测试)2、用例设计可以与软件的实现同时进行,加快了软件测试与开发的速度.黑盒测试的缺点 1、只能找到缺陷,难以查找错误的具体原因。2、没有清晰的需求规格说明书,测试用例很难被设计。3、相比白盒测试,测试用例产生遗漏或冗余的可能性大大增加.黑盒测试的特点 从理论上讲,黑盒测试只有采用穷举输入测试,把所有可能的输入都作为测试情况考虑,才能查出所有的错误。实际上测试情况是无穷多的,完全测试是不可能的。那么我们如何设计黑盒测试用例满足“最尽可能少的测试用例去发现尽可能多的软件缺

5、陷”呢?.典型的黑盒测试方法 等价类划分法 边界值分析法 因果图法 其他方法(正交试验法、错误推测法、判定表法).等价类划分法 等价类划分法是一种重要的、常用的黑盒测试方法,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。举例:设计这样的测试用例,来实现一个对所有实数进行开平方运算(y=sqrt(x))的程序的测试。思考方向:由于开平方运算只对非负实数有效,这时需要将所有的实数(输入域x)进行划分,可以分成:正实数、0 和 负实数。假设我们选定+1.4444代表正实数,-2.345代表负实数,则为该程序设计的测试用例的输入为+1.4444、0 和-2.345。

6、.等价类划分法n等价类划分是将程序的输入域(较多见)或输出域(较少见)的不同区间划分为不同的数据类,以便导出测试用例n每个等价类所揭示的程序错误都是等价的n要求此方法的测试用例能各自发现一类错误,从而减少必须开发的测试用例数 n测试某等价类的代表值就是等效于对于这一类其它值的测试。n例如:程序在输入小于4的数得到结果5,那么使用2还是3或者都是一样的.等价类分类n有效等价类 n对于程序的需求说明来说是合理的,有意义的输入数据所构成的集合n利用它可以检验程序是否实现了预期的功能和性能n无效等价类 n对于程序的需求说明来说是不合理的,没有意义的输入数据所构成的集合 n利用它可以检验程序对于无效数据

7、的处理能力.等价类划分n数学含义A=x=B C=y=D问题1:例子中共有多少个等价类?有效的几个,无效的几个?问题2:写出这些等价类,这些等价类是否可以合并?问题3:最好用多少个数据来测试?测试数据是否可以减少?.确立等价类的原则 n严格的,可以按照变量来划分有效和无效等价类。即:-1-先按照X来划分有效等价类和无效等价类,然后再按照Y来划分有效等价类和无效等价类-2-最后再形成相应的测试用例。nX:有效等价类为:A=x=B;无效等价类为:xA和Bx两个无效等价类nY:有效等价类为:C=y=D;无效等价类为:yC和D=1&=50”n两个无效等价类为“50”.确立等价类的原则n如果输入条件是一个

8、布尔量,则可以确立一个有效等价类和一个无效等价类 n如果规定了输入数据的一组值,而且程序要对每一个输入值分别进行处理,这时要对每一个规定的输入值确立一个有效等价类,而对于这组值之外的所有值确立一个无效等价类.确立等价类的原则n如果规定了输入数据必须遵守的规则,则可以确立一个有效等价类(即遵守规则的数据)和若干无效等价类(从不同角度违反规则的数据),例如:n测试密码域,要求密码必须是数字或字母 n有效等价类为“密码是数字和字母的组合”(还可以细分)n无效等价类为“密码包括中文”、“密码包括其它符号”等n如果确知已划分的等价类中的各元素在程序中的处理方式不同(例如字母还要区分大小写等),则应进一步

9、划分成更小的等价类.等价类测试用例设计n分析输入、输出n划分有效等价类、无效等价类 n设计测试用例,使其尽可能多的覆盖有效等价类 n设计测试用例,使其尽可能多的覆盖无效等价类.举例1(保险费率计算)按照输入域划分等价类的例子。n某保险公司承担人寿保险,该公司保费计算方式为:保费=投保额*保险率,保险率依点数不同而有别,10点以上(含10点)费率为0.6%,10点以下费率为0.1%n点数的计算是年龄、性别、婚姻、抚养人数所得的点数的总和n输入:年龄、性别、婚姻、抚养人数n输出:保险率.输入数据说明 年龄20396点40594点99以下59以上、20以下1以上2点性别男5点女3点婚姻已婚3点未婚5

10、点抚养人数1人扣0.5点最多扣3点(四舍五入).第一步:输入和输出变量确认按照输入域划分等价类的例子。n输入:年龄、性别、婚姻、抚养人数n输出:保险率n等价类划分原则:按照输入变量来确认等价类(有效等价类和无效等价类).第二步:等价类划分输入年龄有效等价类2039(6点)(1)4059(4点)(2)6099、119(2点)(3)无效等价类空白(未知)(4)99(未知)(6)包含非数字字符(未知)(7)性别有效等价类男(5点)(8)女(3点)(9)婚姻有效等价类已婚(3点)(10)未婚(5点)(11)是否可以有更多无效等价类?.第二步:等价类划分输入抚养人数有效等价类12(1点)(12)34(2

11、点)(13)4(3点)(14)无效等价类空白(未知)(15)=10点(0.6%)(18)10点(0.1%)(19).第三步:设计测试用例按照输入域划分等价类的例子。1、设计测试用例,尽可能的覆盖尚未覆盖的有效等价类。n(1)(8)(10)(12)n(2)(9)(11)(13)n(3)(8)(10)(14)2、设计测试用俐,使得每一个新设计的测试用例只包含一个无效等价类,其他的选择有效等价类。n(4)(8)(10)(12)n(5)(9)(11)(13)n(6)(8)(10)(14)n(7)(8)(10)(14)n(1)(8)(10)(15)n(2)(9)(11)(16)n(3)(8)(10)(1

12、6)说明:在设计无效部分的测试用例的时候,有效等价类部分,可以任意选择。.第四步:选取测试用例用例编号输入输出备注年龄性别婚姻抚养人数保险率122男已婚10.6%(1)(8)(10)(12)(18)13点245女未婚40.1%(2)(9)(11)(13)(19)8点365男已婚80.1%(3)(8)(10)(14)(19)7点4空白男未婚1错误(4)5-1男未婚2错误(5)6122男未婚8错误(6)7“tt1”女已婚1错误(7)822女已婚空白错误(15)922女已婚-1错误(16)1022女未婚“ct2”错误(17).边界值分析n边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法

13、。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。n为什么使用边界值分析法?无数的测试实践表明,大量的故障往往发生在输入定义域或输出值域的边界上,而不是在其内部。因此,针对各种边界情况设计测试用例,通常会取得很好的测试效果。n怎样用边界值分析法设计测试用例?(1)首先确定边界情况。通常输入或输出等价类的边界就是应该着重测试的边界情况。(2)选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值。.举例 常见的边界值n对16-bit 的整数而言 32767 和-32768 是边界n屏幕上光标在最左上、最右下位置n报表的第一行和

14、最后一行n数组元素的第一个和最后一个n循环的第 0 次、第 1 次和倒数第 2 次、最后一次.边界值分析n数学含义A=x=B C=y=D.确立边界值的原则n如果输入条件或输出条件规定了值的范围并且有效条件包括了值的边界,可分别对边界和略超出边界取值,例如:n数据范围是1=x=50正整数n边界值取为:1、50、0、51n如果输入条件或输出条件规定了值的范围并且有效条件不包括了值的边界,可分别对边界和略处于边界内取值,例如:n数据范围是1x50正整数n边界值取为:1、50、2、49.确立边界值的原则n如果输入或输出域是个有序的集合(如顺序文件、表格等),应注意选取有序集的第一个和最后一个元素以及集

15、合外但靠近集合的元素作为边界,例如:n输入文件名介于file0101file0120之间n边界值取为file0100,file0101,file0120,file0121.边界值分析n边界值分析使用与等价类划分法相同的划分,只是边界值分析假定错误更多地存在于划分的边界上,因此在等价类的边界上以及两侧的情况设计测试用例。n例例:测试计算平方根的函数 输入:实数 输出:实数 规格说明:当输入一个0或比0大的数的时候,返回其正平方根;当输入一个小于0的数时,显示错误信息“平方根非法-输入值小于0”并返回0;库函数Print-Line可以用来输出错误信息。.边界值分析n等价类划分:n可以考虑作出如下划

16、分:n输入(i)=0n输出(a)=0 和(b)Errorn测试用例有两个:n输入4,输出2。对应于(ii)和(a)。n输入-10,输出0和错误提示。对应于(i)和(b)。n边界值分析:n划分(ii)的边界为0和最大正实数;划分(i)的边界为最小负实数和0。由此得到以下测试用例:n输入 最小负实数n输入 绝对值很小的负数n输入 0n输入 绝对值很小的正数n输入 最大正实数.举例(找零钱最佳组合)n假设商店商品价格X皆不大于100元(整数),若顾客买一件商品,付款Y在100元内,求找给顾客的最少货币张数?n货币面值:n50元R50n20元R20n10元R10n5元R5n2元R2n1元R1.分析输入

17、nX 100(无效)n0 X =100(有效)nX 100(无效)nX=Y=100(有效)nY X(无效).分析输出n0=R50=1n0=R20=2n0=R10=1n0=R5=1n0=R2=2n0=R1 100nX 100nY=50 找R50n20=S 50 找R20n10=S 20 找R10n5=S 10 找R5n2=S 5 找R2n1=S 100 错误nX=0 错误n0 X 100 错误n0 X=100,Y X 错误.分析后有效情形nS=50nS=49nS=20nS=19nS=10nS=9nS=5nS=4nS=2nS=1nS=0.设计测试用例用例编号S输入输出备注张数商品价格X付款Y50元

18、R5020元R2010元R105元R52元R21元R11101错误20错误3100101错误410099错误550501001000001649511000201205720801000100001819811000011204910901000010001.设计测试用例用例编号S输入输出备注张数商品价格X付款Y50元R5020元R2010元R105元R52元R21元R11099110000012031159510000010011249610000002021329810000001011419910000000111501001000000000.边界值分析主题思想n采用边界值分析测试的基

19、本思想是:故障往往出现在输入变量的边界值附近。因此,边界值分析法利用输入变量的最小值(min)、略大于最小值(min+)、输入值域内的任意值(nom)、略小于最大值(max-)和最大值(max)来设计测试用例。n因此,在边界值分析法中获取测试用例的方法是:(1)每次保留程序中一个变量,让其余的变量取正常值,被保留的变量依次取min、min+、nom、max-和max。(2)对程序中的每个变量重复(1)。.等价类划分与边界值分析的结合n回到等价类划分的例子n结合边界值分析和等价类划分,可以达到更好的测试目的.因果图法介绍n因果图法产生的背景:等价类划分法和边界值分析方法都是着重考虑输入条件,但没

20、有考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。n因果图法能够帮助测试人员按照一定的步骤,高效率的开发测试用例,以检测程序输入条件的各种组合情况,它是将自然语言转化为形式语言规格说明的一种严格方法,可以指出规格说明存在的不完整性和二义性。.因果图法介绍n因果图法是基于这样的一种思想:一些程序的功能可以用判定表(或称决策表)的形式来表示,并根据输入条件的组合情况规定相应的操作。即:因果图法不过是决策表法的前期阶段。我们也可以直接应用决策表。n因果图法的定义:是一种利用图解法分析输入的各种组合情况

21、,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。n采用因果图法设计测试用例的步骤:(1)根据程序规格说明书描述,分析并确定因(输入条件)和果(输出结果或程序状态的改变),画出因果图。(2)将得到的因果图转换为判定表。(3)为判定表中每一列所表示的情况设计一个测试用例.判定表介绍n在一些数据处理问题中,某些操作依赖多个逻辑条件的取值。处理这类问题的一个非常有力的分析和表达工具是判定表n一些软件的功能需求可用判定表表达得非常清楚,在检验程序的功能时判定表也就成为一个非常有力的工具.判定表介绍n决策表通常由以下4部分组成:n条件桩列出问题的所有条件n条件项针对条件桩给出的条件列出所

22、有可能的取值n动作桩列出问题规定的可能采取的操作n动作项指出在条件项的各组取值情况下应采取的动作 条件桩条件桩动作桩动作桩 条件项条件项 动作项动作项规规则则将任何一个条件组合的特定取值及相应要执行的动作称为一条规则。在决策表中贯穿条件项和动作项的一列就是一条规则。.判定表图示1:表示为是或者取该值;0:表示为否或者不取该值;:表示该值取什么都可以。.判定表举例 规则取值12345678问题觉得疲倦YYYYNNNN感兴趣吗YYNNYYNN糊涂吗?YNYNYNYN建议重读继续跳下一章休息条件桩动作桩条件项动作项.因果图法步骤 n分析软件规格说明描述中的因果关系(输入与输出的因果关系)n找出原因与

23、结果、原因与原因之间的对应关系,画出因果图n在因果图上标记约束或限制条件n把因果图转化为判定表n将判定表中的每一列拿出来设计测试用例 .因果图介绍n因果图中使用4种因果关系符号来表达因果关系:恒等 非或与.因果图介绍n因果图中的4种基本关系 在因果图的基本符号中,图中的左结点ci表示输入状态(或称原因),右结点ei表示输出状态(或称结果)。ci 与 ei 取值0或1,0表示某状态不出现,1则表示某状态出现。n恒等:若 c1 是1,则 e1 也为1,否则 e1 为0。n非:若 c1 是1,则 e1 为0,否则e1为1。n或:若 c1 或 c2 或 c3 是1,则 e1 为1,否则 e1 为0。n

24、与:若 c1 和 c2 都是1,则 e1 为1,否则 e1 为0。.因果图介绍n因果图中的约束 在实际问题中输入状态相互之间、输出状态相互之间可能存在某些依赖关系,称为“约束”。对于输入条件之间的约束有E(Exclusive or)、I(In)、O(Only)、R(Request)四种约束,对于输出条件的约束只有M(Mandate)约束。(1)原因与原因之间的约束nE约束(异):输入a和b中最多有一个可能为1,即a和b不能同时 为1。nI 约束(或):输入a、b、c中至少有一个必须为1,即 a、b、c不能同时为0。nO约束(唯一):输入a和b必须有一个且仅有一个为1。nR约束(要求):输入a是

25、1时,输入b必须是1,即a为1时,b不能为0。(2)结果与结果之间的约束nM约束(强制):若结果a为1,则结果b强制为0。.因果图介绍n因果图中用来表示约束关系的约束符号:异异E或或I唯一唯一OR要求要求M强制强制.因果图法主题思想(具体)n因果图法最终生成的是决策表。利用因果图生成测试用例的基本步骤如下:(1)分析软件规格说明中哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。(即:找出原因和结果)(2)分析软件规格说明中的语义,找出原因与结果之间、原因与原因之间对应的关系,根据这些关系画出因果图。(即:标定因果关系)(3)由于语法或环境

26、的限制,有些原因与原因之间、原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号表明约束或限制条件。(4)把因果图转换为决策表。(5)根据决策表中的每一列设计测试用例。.因果图法案例 n第一列字符必须是#或*,第二列字符必须是一个数字,在此情况下进行文件的修改。但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。n解题步骤(1)分析程序的规格说明,列出原因和结果。(2)找出原因与结果之间的因果关系、原因与原因之间的约束关系,画出因果图。(3)将因果图转换成决策表。(4)根据(3)中的决策表,设计测试用例的输入数据和预期输出。.因果分析n原因:nc

27、1第一列字符是#nc2第一列字符是*nc3第二列字符是一数字n10 第一列字符是#或是*n结果:ne1给出信息Lne2修改文件ne3给出信息M.因果分析(1)分析程序规格说明中的原因和结果:(2)画出因果图(编号为10的中间结点是导出结果的进一步原因):原因结果 c1:第一列字符是#e1:给出信息L c2:第一列字符是*e2:修改文件 c3:第二列字符是一个数字 e3:给出信息Mc1c2c3e110e2e3E不可能同时存在.由因果图建立的判定表(3)将因果图转换成如下所示的决策表:12345678条件:条件:C1C2C310111110101110010111010100100000动作:动作

28、:e1e2e3不可能不可能测试用例测试用例#3#A*6*BA1GT规则规则选项选项.从决策表中得到测试用例(4)根据决策表中的每一列设计测试用例:测试用例编号输入数据预期输出1#3修改文件2#A给出信息M3*6修改文件4*B给出信息M5A1给出信息N6GT给出信息N和信息M.因果图法总结n优点优点1、因果图法能够帮助我们按照一定步骤,高效的选择测试用例,设计多个输入条件组合用例2、因果图分析还能为我们指出,软件规格说明描述中存在的问题 3、可以依据因果图检验需求的逻辑和程序未来应包含的函数或方法。n缺点缺点1、输入条件与输出结果的因果关系,有时难以从软件需求规格说明书得到。2、即时得到了这些因果关系,也会因为因果关系复杂导致因果图非常庞大,测试用例数目极其庞大。.错误推测法 n错误推测法是基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性地设计测试用例.错误推测法基本思想n列举出程序中所有可能有的错误和容易发生错误的特殊情况来设计测试用例n例如:n以前测试时曾出现过错误的地方,包括单元测试、集成测试、系统测试、前几次回归测试n输入数据的问题,如是否可为空,是否可以有特殊字符,是否可以小于0、等于0等等n一些问题的范围或边界.Q&A.

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

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(黑盒测试方法课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|