书签 分享 收藏 举报 版权申诉 / 99
上传文档赚钱

类型黑盒测试课件.pptx

  • 上传人(卖家):晟晟文业
  • 文档编号:4902634
  • 上传时间:2023-01-23
  • 格式:PPTX
  • 页数:99
  • 大小:1.67MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《黑盒测试课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    黑盒 测试 课件
    资源描述:

    1、 第二部分 黑盒测试 测试分类黑盒测试和白盒测试静态测试(检查和审阅)和动态测试(运行和使用软件)静态黑盒测试 对产品说明书进行高级审查 对产品说明书低级测试技术黑盒测试w黑盒测试着眼于程序外部结构,不考虑内黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功部逻辑结构,主要针对软件界面和软件功能进行测试。能进行测试。w注重于测试软件的功能需求,主要试图发现下列几类错误:是否有不正确或遗漏了的功能在接口上,能否正确地接受输入数据,能否产生正确地输出信息访问外部信息是否有错性能上是否满足要求界面是否错误,是否不美观初始化或终止错误“黑盒”的两种基本方法w黑盒测试有两种基本方法

    2、,即通过测试和失败测试。w在进行通过测试时,实际上是确认软件能做什么,而不会去考验其能力如何。软件测试员只运用最简单,最直观的测试案例。在设计和执行测试案例时,总是先要进行通过测试。在进行破坏性试验之前,看一看软件基本功能是否能够实现。这一点很重要,否则在正常使用软件时就会奇怪地发现,为什么会有那么多的软件缺陷出现?w在确信了软件正确运行之后,就可以采取各种手段通过搞“垮”软件来找出缺陷。纯粹为了破坏软件而设计和执行的测试案例,被称为失败测试或迫使出错测试。黑盒测试的优、缺点黑盒测试的优点有:1)比较简单,不需要了解程序内部的代码及实现;2)与软件的内部实现无关;3)从用户角度出发,能很容易的

    3、知道用户会用到哪些功能,会遇到哪些问题;4)基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;5)在做软件自动化测试时较为方便。黑盒测试的缺点有:1)不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%;2)自动化测试的复用性较低。功能性测试概述w任何程序都可以看作是将从输入定义域取值映射到输出值域的函数w将系统看成黒盒,又称为黒盒测试w黒盒的实现是不需要了解的,只需要知道输入和预期输出w软件功能性测试就是通过大量的测试用例来检验软件的运行效果。功能性测试模型输入输出黒盒内部实现不可见测试用例测试用例定义w测试用例的定义:(1)测试用例是为特定的目的而设计的一组测试输入、执行

    4、条件和预期的结果。(2)测试用例是执行的最小实体。w测试用例的特征:(1)最有可能抓住错误的;(2)不是重复的、多余的;(3)一组相似测试用例中最有效的;(4)既不是太简单,也不是太复杂。测试用例定义w测试用例的代表性 能够代表并覆盖各种合理的和不合理的、合法的和非法的、边界的和越界的以及极限的输入数据、操作和环境设置等。w测试结果的可判定性 即测试执行结果的正确性是可判定的,每一个测试用例都应有相应的期望结果。w测试结果的可再现性 即对同样的测试用例,系统的执行结果应当是相同的。功能性测试的优点w功能性测试与软件如何实现无关,如果实现发生变化,功能性测试用例仍然可用(可重用性,面向回归测试)

    5、w测试用例开发可以与软件开发同时进行,可节省软件开发时间,通过软件的用例(use case)就可以设计出大部分功能性测试用例功能性测试的缺点w测试用例数量较大w测试用例可能产生很多冗余w功能性测试的覆盖范围不可能达到100%功能性测试的方法 黑盒测试主要是通过将“功能分解”,然后再按照以下方法来设计测试用例。w等价类划分w边界值分析w因果图法w决策表法w其他测试方法黑盒测试方法等价类划分w等价类是指某个输入域的子集合 w在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,子集合中包含的元素要么全部被正确处理,要么全部都没有被正确处理。因此,可以把全部的输入数据划分成若干的等价类,在每一个

    6、等价类中取一个数据来进行测试。这样就能以较少的具有代表性的数据进行测试,而取得较好的测试效果。等价类划分w等价类划分是将程序的输入域(较多见)或输出域(较少见)的不同区间划分为不同的数据类,以便导出测试用例w每个等价类所揭示的程序错误都是等价的w要求此方法的测试用例能各自发现一类错误,从而减少必须开发的测试用例数 w测试某等价类的代表值就是等效于对于这一类其它值的测试。w例如:程序在输入小于4的数得到结果5,那么使用2还是3或者都是一样的等价类划分w等价类划分法是一种重要的、常用的黑盒测试方法,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。w举例:设计这样的

    7、测试用例,来实现一个对所有实数进行开平方运算(y=sqrt(x))的程序的测试。w思考方向:由于开平方运算只对非负实数有效,这时需要将所有的实数(输入域x)进行划分,可以分成:正实数、0 和 负实数。假设我们选定+1.4444代表正实数,-2.345代表负实数,则为该程序设计的测试用例的输入为+1.4444、0 和-2.345。等价类分类w有效等价类 对于程序的需求说明来说是合理的,有意义的输入数据所构成的集合利用它可以检验程序是否实现了预期的功能和性能(确认过程)w无效等价类 对于程序的需求说明来说是不合理的,没有意义的输入数据所构成的集合 利用它可以检验程序对于无效数据的处理能力(验证过程

    8、)等价类划分w数学含义A=x=B C=y=D问题1:例子中共有多少个等价类?有效的几个,无效的几个?问题2:写出这些等价类,这些等价类是否可以合并?问题3:最好用多少个数据来测试?测试数据是否可以减少?确立等价类的原则 w严格的,可以按照变量来划分有效和无效等价类。即:-1-先按照X来划分有效等价类和无效等价类,然后再按照Y来划分有效等价类和无效等价类-2-最后再形成相应的测试用例。wX:有效等价类为:A=x=B;无效等价类为:xA和Bx两个无效等价类wY:有效等价类为:C=y=D;无效等价类为:yC和D=1&=50”两个无效等价类为“50”一个学生每学期只能选修13门课 有效等价类:选修13

    9、门 无效等价类:不选 或 选修超过3门确立等价类的原则w如果输入条件是一个布尔量,则可以确立一个有效等价类和一个无效等价类 w如果规定了输入数据的一组值,而且程序要对每一个输入值分别进行处理,这时要对每一个规定的输入值确立一个有效等价类,而对于这组值之外的所有值确立一个无效等价类 确立等价类的原则w如果规定了输入数据必须遵守的规则,则可以确立一个有效等价类(即遵守规则的数据)和若干无效等价类(从不同角度违反规则的数据),例如:测试密码域,要求密码必须是数字或字母 有效等价类为“密码是数字和字母的组合”(还可以细分)无效等价类为“密码包括中文”、“密码包括其它符号”等w如果确知已划分的等价类中的

    10、各元素在程序中的处理方式不同(例如字母还要区分大小写等),则应进一步划分成更小的等价类 等价类测试用例设计w在设计测试用例时,应同时考虑有效等价类和无效等价类测试用例的设计。w根据已列出的等价类表可确定测试用例,具体过程如下:(1)首先为等价类表中的每一个等价类分别规定一个唯一的编号。(2)设计一个新的测试用例,使它能够尽量覆盖尚未覆盖的有效等价类。重复这个步骤,直到所有的有效等价类均被测试用例所覆盖。(3)设计一个新的测试用例,使它仅覆盖一个尚未覆盖的无效等价类。重复这一步骤,直到所有的无效等价类均被测试用例所覆盖。w?3的顺序是否可以和2颠倒?w?123好还是132好?为什么?等价类测试用

    11、例设计w针对是否对无效数据进行测试,可以将等价类测试分为 标准等价类测试和健壮等价类测试。w标准等价类测试不考虑无效数据值,测试用例使用 每个等价类中的一个值。w健壮等价类测试主要的出发点是考虑了无效等价类。对有效输入,测试用例从每个有效等价类中取一个值;对无效输入,一个测试用例有一个“无效值”,其他值均取“有效值”。健壮等价类测试存在两个问题:(1)需要花费精力定义无效测试用例的期望输出 (2)对强类型的语言没有必要考虑无效的输入,程序可以自己检测。举例1(保险费率计算)按照输入域划分等价类的例子。w某保险公司承担人寿保险,该公司保费计算方式为:保费=投保额*保险率,保险率依点数不同而有别,

    12、10点以上(含10点)费率为0.6%,10点以下费率为0.1%w点数的计算是年龄、性别、婚姻、抚养人数所得的点数的总和w输入:年龄、性别、婚姻、抚养人数w输出:保险率输入数据说明 年龄20396点40594点99以下59以上、20以下1以上2点性别男5点女3点婚姻已婚3点未婚5点抚养人数1人扣0.5点最多扣3点(四舍五入)第一步:输入和输出变量确认按照输入域划分等价类的例子。w输入:年龄、性别、婚姻、抚养人数w输出:保险率w等价类划分原则:按照输入变量来确认等价类(有效等价类和无效等价类)第二步:等价类划分输入年龄有效等价类2039(6点)(1)4059(4点)(2)6099、119(2点)(

    13、3)无效等价类空白(未知)(4)99(未知)(6)包含非数字字符(未知)(7)性别有效等价类男(5点)(8)女(3点)(9)婚姻有效等价类已婚(3点)(10)未婚(5点)(11)是否可以有更多无效等价类?第二步:等价类划分输入抚养人数有效等价类12(1点)(12)34(2点)(13)4(3点)(14)无效等价类空白(未知)(15)=10点(0.6%)(18)10点(0.1%)(19)第三步:设计测试用例按照输入域划分等价类的例子。1、设计测试用例,尽可能的覆盖尚未覆盖的有效等价类。w(1)(8)(10)(12)w(2)(9)(11)(13)w(3)(8)(10)(14)2、设计测试用俐,使得每

    14、一个新设计的测试用例只包含一个无效等价类,其他的选择有效等价类。w(4)(8)(10)(12)w(5)(9)(11)(13)w(6)(8)(10)(14)w(7)(8)(10)(14)w(1)(8)(10)(15)w(2)(9)(11)(16)w(3)(8)(10)(16)说明:在设计无效部分的测试用例的时候,有效等价类部分,可以任意选择。第四步:选取测试用例用例编号输入输出备注年龄性别婚姻抚养人数保险率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空

    15、白男未婚1错误(4)5-1男未婚2错误(5)6122男未婚8错误(6)7“tt1”女已婚1错误(7)822女已婚空白错误(15)922女已婚-1错误(16)1022女未婚“ct2”错误(17)举例2(三角形问题)按照输出域划分等价类的例子。w1、输入3个整数变量a、b、cw2、a、b和c均在1100之间w3、a、b和c任意2个加起来大于第三个w4、测试是否为等边三角形、等腰三角形、一般三角形和非三角形。第一步:输入和输出变量确认按照输入域划分等价类的例子。w输入:三个变量(a、b、c);a、b和c都在1到100之间。w输出:是否为三角形或各类三角形?分析:输入域较为复杂,很难明晰界定。输出域则

    16、较为清晰。w等价类划分原则:按照输出变量来确认等价类(有效等价类和无效等价类)第二步:等价类划分输出域有效等价类等边三角形(1)等腰三角形(2)一般三角形(3)非三角形(4)a无效等价类100(6)b无效等价类100(8)c无效等价类100(10)增加的测试用例思考1、什么情况下按照输入域来设计测试用例?什么情况下按照输出域来设计测试用例?2、等价类划分在我们编程过程中对哪些模块比较有效?为什么?A、录入模块;B、查询模块;C、报表模块;D、算法模块;E、逻辑处理模块。课堂实际应用:有一个员工管理系统,现对其录入模块进行测试。其中,人员信息包括:1、编号:必须有,系统自动编号;2、姓名:必须有

    17、,要求为不超过5个汉字;3、身份证:必须有,长度为15或18位置,末尾为数字或X,注意大小写;4、邮箱:要么为空白,输入必须包含和.5、年龄:18-80之间的数字6、住址:可以空白注意:如果录入正确,则提示录入成功,录入错误,则提示数据不对。要求:1、确认输入域和输出域;2、划出有效等价类和无效等价类;3、给出测试用例的个数。4、请大家上来介绍自己的划分。边界值分析w边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。w为什么使用边界值分析法?无数的测试实践表明,大量的故障往往发生在输入定义域或输出

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

    19、条件规定了值的范围并且有效条件包括了值的边界,可分别对边界和略超出边界取值,例如:数据范围是1=x=50正整数边界值取为:1、50、0、51w如果输入条件或输出条件规定了值的范围并且有效条件不包括了值的边界,可分别对边界和略处于边界内取值,例如:数据范围是1x50正整数边界值取为:1、50、2、49确立边界值的原则w如果输入或输出域是个有序的集合(如顺序文件、表格等),应注意选取有序集的第一个和最后一个元素以及集合外但靠近集合的元素作为边界,例如:输入文件名介于之间边界值取为,与等价划分的区别 1)边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。2)边

    20、界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况。边界值分析w边界值分析使用与等价类划分法相同的划分,只是边界值分析假定错误更多地存在于划分的边界上,因此在等价类的边界上以及两侧的情况设计测试用例。w例例:测试计算平方根的函数 输入:实数 输出:实数 规格说明:当输入一个0或比0大的数的时候,返回其正平方根;当输入一个小于0的数时,显示错误信息“平方根非法-输入值小于0”并返回0;库函数Print-Line可以用来输出错误信息。边界值分析w等价类划分:可以考虑作出如下划分:w 输入(i)=0w 输出(a)=0 和(b)Error测试用例有两个:w 输入4,输出2。对应于(ii)和(a)

    21、。w 输入-10,输出0和错误提示。对应于(i)和(b)。w边界值分析:划分(ii)的边界为0和最大正实数;划分(i)的边界为最小负实数和0。由此得到以下测试用例:w 输入 最小负实数w 输入 绝对值很小的负数w 输入 0w 输入 绝对值很小的正数w 输入 最大正实数举例(找零钱最佳组合)w假设商店商品价格X皆不大于100元(整数),若顾客买一件商品,付款Y在100元内,求找给顾客的最少货币张数?w货币面值:50元R5020元R2010元R105元R52元R21元R1分析输入wX 100w0 X =100wX 100wX=Y=100wY X 分析输出w0=R50=1w0=R20=2w0=R10

    22、=1w0=R5=1w0=R2=2w0=R1 100X 100Y=50 找R5020=S 50 找R2010=S 20 找R105=S 10 找R52=S 5 找R21=S 100 错误wX=0 错误w0 X 100 错误w0 X=100,Y 100;0X=100;X100;0Y=100;Y=0w思考3:这个等价类划分是否测试充分?漏掉了什么情况?w思考4:如果按照输出结果划分等价类,效果如何?w思考5:应用输入结果的等价类划分测试与边界值分析相比,哪一个更简便,哪一个有效?如何协调?边界值分析主题思想w采用边界值分析测试的基本思想是:故障往往出现在输入变量的边界值附近。因此,边界值分析法利用输

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

    24、x1x2a bcd边界值分析法测试用例w例例2:有二元函数f(x,y),其中x1,12,y1,31。则采用边界值分析法设计的测试用例是:,w推论:对于一个含有推论:对于一个含有n个变量的程序,采用边界值分析法测试程序会个变量的程序,采用边界值分析法测试程序会产生产生4n+1个测试用例。个测试用例。w练习:练习:有函数f(x,y,x),其中x1900,2100,y1,12,z1,31的。请写出该函数采用边界值分析法设计的测试用例。,健壮性测试用例w健壮性测试是作为边界值分析的一个简单的扩充,它除了对变量的5个边界值分析取值外,还需要增加一个略大于最大值(max+)以及略小于最小值(min-)的取

    25、值,检查超过极限值时系统的情况。因此,对于有n个变量的函数采用健壮性测试需要6n+1个测试用例。w前面例1中的程序F的健壮性测试如下图所示:x1x2a bcd等价类划分与边界值分析的结合w回到等价类划分的例子w结合边界值分析和等价类划分,可以达到更好的测试目的举例(三角形问题)w输入3个数:1=a、b、c=100w测试是否为等边三角形、等腰三角形、一般三角形或非三角形w思考:如何按照等价类划分和边界值分析相结合设计测试用例?举例(三角形问题)w1、按照输出结果来划分等价类,分为等边三角形、等腰三角形、一般三角形、非三角形w2、边界值分析:w a取值:1、2、50、99、100w b取值:1、2

    26、、50、99、100w c取值:1、2、50、99、100wa、b、c分别增加健壮性测试0和101等测试取值。w测试用例共有多少个?等价类划分与边界值分析的结合w思考:有效等价类和边界值分析主要是基于什么原则来设计测试用例的?w它们都没有考虑到变量的相关性。因果图法介绍w因果图法产生的背景:等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。w因果图法能够帮助测试人员按照一定的步骤,高效率的开发测试用例,以检测程序输入条件的各种组合情况,它是将

    27、自然语言转化为形式语言规格说明的一种严格方法,可以指出规格说明存在的不完整性和二义性。因果图法介绍w因果图法是基于这样的一种思想:一些程序的功能可以用判定表(或称决策表)的形式来表示,并根据输入条件的组合情况规定相应的操作。即:因果图法不过是决策表法的前期阶段。我们也可以直接应用决策表。w因果图法的定义:是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。w采用因果图法设计测试用例的步骤:(1)根据程序规格说明书描述,分析并确定因(输入条件)和果(输出结果或程序状态的改变),画出因果图。(2)将得到的因果图转换为判定表。(3)为判定表中每一列

    28、所表示的情况设计一个测试用例。判定表介绍w在一些数据处理问题中,某些操作依赖多个逻辑条件的取值。处理这类问题的一个非常有力的分析和表达工具是判定表w一些软件的功能需求可用判定表表达得非常清楚,在检验程序的功能时判定表也就成为一个非常有力的工具判定表介绍w决策表通常由以下4部分组成:w条件桩列出问题的所有条件w条件项针对条件桩给出的条件列出所有可能的取值w动作桩列出问题规定的可能采取的操作w动作项指出在条件项的各组取值情况下应采取的动作 条件桩条件桩动作桩动作桩 条件项条件项 动作项动作项规规则则将任何一个条件组合的特定取值及相应要执行的动作称为一条规则。在决策表中贯穿条件项和动作项的一列就是一

    29、条规则。判定表图示1:表示为是或者取该值;0:表示为否或者不取该值;:表示该值取什么都可以。判定表举例 规则取值12345678问题觉得疲倦YYYYNNNN感兴趣吗YYNNYYNN糊涂吗?YNYNYNYN建议重读继续跳下一章休息条件桩动作桩条件项动作项因果图法步骤 w分析软件规格说明描述中的因果关系(输入与输出的因果关系)w找出原因与结果、原因与原因之间的对应关系,画出因果图w在因果图上标记约束或限制条件w把因果图转化为判定表w将判定表中的每一列拿出来设计测试用例 因果图介绍w因果图中使用4种因果关系符号来表达因果关系:恒等 非或与因果图介绍w因果图中的4种基本关系 在因果图的基本符号中,图中

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

    31、quest)四种约束,对于输出条件的约束只有M(Mandate)约束。wE约束(异):输入a和b中最多有一个可能为1,即a和b不能同时 为1。wI 约束(或):输入a、b、c中至少有一个必须为1,即 a、b、c不能同时为0。wO约束(唯一):输入a和b必须有一个且仅有一个为1。wR约束(要求):输入a是1时,输入b必须是1,即a为1时,b不能为0。wM约束(强制):若结果a为1,则结果b强制为0,而a为0时,b的值不确定。因果图介绍w因果图中用来表示约束关系的约束符号:异异E或或I唯一唯一OR要求要求M强制强制因果图法主题思想w因果图法最终生成的是决策表。利用因果图生成测试用例的基本步骤如下:

    32、(1)分析软件规格说明中哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。(即:找出原因和结果)(2)分析软件规格说明中的语义,找出原因与结果之间、原因与原因之间对应的关系,根据这些关系画出因果图。(即:标定因果关系)(3)由于语法或环境的限制,有些原因与原因之间、原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号表明约束或限制条件。(4)把因果图转换为决策表。(5)根据决策表中的每一列设计测试用例。因果图法案例 w第一列字符必须是#或*,第二列字符必须是一个数字,在此情况下进行文件的修改。但如果第一列字符不正确,

    33、则给出信息L;如果第二列字符不是数字,则给出信息M。w解题步骤(1)分析程序的规格说明,列出原因和结果。(2)找出原因与结果之间的因果关系、原因与原因之间的约束关系,画出因果图。(3)将因果图转换成决策表。(4)根据(3)中的决策表,设计测试用例的输入数据和预期输出。因果分析w原因:c1第一列字符是#c2第一列字符是*c3第二列字符是一数字10 第一列字符是#或是*w结果:e1给出信息Le2修改文件e3给出信息M因果分析(1)分析程序规格说明中的原因和结果:(2)画出因果图(编号为10的中间结点是导出结果的进一步原因):原因结果 c1:第一个字符是#e1:给出信息L c2:第一个字符是*e2:

    34、修改文件 c3:第二个字符是一个数字 e3:给出信息Mc1c2c3e110e2e3E不可能同时存在由因果图建立的判定表(3)将因果图转换成如下所示的决策表:12345678条件:条件:C1C2C310111110101110010111010100100000动作:动作:e1e2e3不可能不可能测试用例测试用例#3#A*6*BA1GT规则规则选项选项从决策表中得到测试用例(4)根据决策表中的每一列设计测试用例:测试用例编号输入数据预期输出1#3修改文件2#A给出信息M3*6修改文件4*B给出信息M5A1给出信息N6GT给出信息N和信息M思考1、什么情况下按照因果图和决策表法来设计测试用例?是否

    35、可以不用因果图,不画因果图直接来设计测试用例,这一般是在什么情况下?2、因果图与决策表法在我们编程过程中对哪些模块比较有效?为什么?A、录入模块;B、查询模块;C、报表模块;D、算法模块;E、逻辑处理模块。课堂练习(中国象棋走马下法)1、以中国象棋中马的走法为例子,具体说明:1、如果落点在棋盘外,则不移动棋子;2、如果落点与起点不构成日字型,则不移动棋子;3、如果落点处有自己方棋子,则不移动棋子;4、如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子;5、如果不属于1-4条,且落点处无棋子,则移动棋子;6、如果不属于1-4条,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子;7、如

    36、果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。请绘制出因果图和判定表,并给出相应的测试用例。课堂练习(中国象棋走马下法)第一步:分析原因和结果原因:1、落点在棋盘外;2、不构成日字;3、落点有自方棋子;4、绊马腿;5、落点无棋子;6、落点为对方棋子;7、落点为对方老将。结果:21、不移动;22、移动;23、移动己方棋子消除对方棋子;24、移动并战胜对方。课堂练习(中国象棋跳马下法)第二步:画出因果图可以判定程序中应该包括12个函数或方法课堂练习(中国象棋走马下法)第三步:转换成判定表 课堂练习(自动售货机)2、有一个处理单价为5角钱的饮料的自动售货机,其规格说明如

    37、下:(1)若投入5角钱或1元钱的硬币,押下橙汁或啤酒的按钮,则相应的饮料就送出来。(2)若售货机没有零钱找,则一个显示零钱找完的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;(3)若有零钱找,则显示零钱找完的红灯灭,在送出饮料的同时退还5角硬币。请绘制出因果图和判定表,并给出相应的测试用例。课堂练习(自动售货机)第一步:分析原因和结果原因:1、售货机有零钱找2、投入1元硬币3、投入5角硬币4、押下橙汁按钮5、押下啤酒按钮结果:21、售货机零钱找完灯亮22、退还1元硬币23、退还5角硬币 24、送出橙汁饮料25、送出啤酒饮料课堂练习(自动售货机)第二步:画出因果图课堂

    38、练习(自动售货机)第二步:画出因果图所有原因结点列在左边,所有结果结点列在右边。建立中间结点,表示处理的中间状态。中间结点:11、投入1元硬币且押下饮料按钮12、押下橙汁或啤酒的按钮13、应当找5角零钱并且售货机有零钱找14、钱已付清课堂练习(自动售货机)第三步:转换成判定表因果图法总结w优点优点1、因果图法能够帮助我们按照一定步骤,高效的选择测试用例,设计多个输入条件组合用例2、因果图分析还能为我们指出,软件规格说明描述中存在的问题 3、可以依据因果图检验需求的逻辑和程序未来应包含的函数或方法。w缺点缺点1、输入条件与输出结果的因果关系,有时难以从软件需求规格说明书得到。2、即时得到了这些因

    39、果关系,也会因为因果关系复杂导致因果图非常庞大,测试用例数目极其庞大(需要使用正交表法简化需要使用正交表法简化)。习题1、某软件的一个模块的需求规格说明书中描述:(1)年薪制员工:严重过失,扣年终风险金的4%;过失,扣年终风险金的2%。(2)非年薪制员工:严重过失,扣当月薪资的8%;过失,扣当月薪资的4%。请绘制出因果图和判定表,并给出相应的测试用例。随机测试w使用随机数生成器选取测试用例值w避免测试偏见(只选取边界值)w存在问题:测试用例是否充分错误推测法 w错误推测法是基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性地设计测试用例错误推测法基本思想w列举出程序中所有可能有的错误

    40、和容易发生错误的特殊情况来设计测试用例w例如:以前测试时曾出现过错误的地方,包括单元测试、集成测试、系统测试、前几次回归测试输入数据的问题,如是否可为空,是否可以有特殊字符,是否可以小于0、等于0等等一些问题的范围或边界测试方法的选择w通常在确定测试策略时,有以下5条参考原则:(1)在任何情况下都必须采用边界值分析法。这种方法设计出的测试用例发现程序错误的能力最强。(2)必要时采用等价类划分法补充测试用例。(3)采用错误推断法再追加测试用例。(4)对照程序逻辑,检查已设计出的测试用例的逻辑覆盖 程度。如果没有达到要求的覆盖标准,则应当再补充更多的测试用例。(5)如果程序的功能说明中含有输入条件

    41、的组合情况,则应一开始就选用因果图法。习题1、某城市电话号码由三部分组成,分别是:地区码 空白或三位数字;前 缀 非0或1开头的三位数字;后 缀 4位数字。假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。要求:(1)请选择适当的黑盒测试方法,写出选择该方法的原因,并使用该方法的步骤,给出测试用例表。(2)如果所生成的测试用例不够全面,请考虑用别的测试 方法生成一些补充的测试用例。多于多于3位数字位数字少于少于3位数字位数字有非数字字符有非数字字符 空白空白3位数字位数字地区码地区码编号编号无效等价类无效等价类编号编号有效等价类有效等价类输入条件输入条件前缀前缀200

    42、999有非数字字符有非数字字符起始位为起始位为0起始位为起始位为1少于少于3位数字位数字多于多于3位数字位数字后缀后缀4位数字位数字有非数字字符有非数字字符少于少于4位数字位数字多于多于4位数字位数字341256789101112131415使用等价类划分法测试用例测试用例编号编号输入数据输入数据预期输出预期输出地区码地区码前缀前缀后缀后缀1空白空白1234567接受(有效)接受(有效)21238059876接受(有效)接受(有效)320A1234567拒绝(无效)拒绝(无效)4332345678拒绝(无效)拒绝(无效)512342344567拒绝(无效)拒绝(无效)61232B31234拒绝

    43、(无效)拒绝(无效)71230131234拒绝(无效)拒绝(无效)81231231234拒绝(无效)拒绝(无效)9123231234拒绝(无效)拒绝(无效)1012323451234拒绝(无效)拒绝(无效)111232341B34拒绝(无效)拒绝(无效)1212323434拒绝(无效)拒绝(无效)1312323423345拒绝(无效)拒绝(无效)覆盖等价类覆盖等价类1,3,42,3,456789101112131415p 经常不断地学习,你就什么都知道。你知道得越多,你就越有力量p Study Constantly,And You Will Know Everything.The More You Know,The More Powerful You Will Be写在最后Thank You在别人的演说中思考,在自己的故事里成长Thinking In Other PeopleS Speeches,Growing Up In Your Own Story讲师:XXXXXX XX年XX月XX日

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:黑盒测试课件.pptx
    链接地址:https://www.163wenku.com/p-4902634.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


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

    163文库