《黑盒测试》PPT课件.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《《黑盒测试》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《黑盒测试》PPT课件.ppt(83页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、IT Education&Training黑盒测试软件外包教研室2/11/2023IT Education&Training引言本章将开始讲黑盒测试的基本概念与基本方法,介绍等价类划分、边界值分析、因果图法,并通过实例来介绍测试技术的应用。2/11/2023IT Education&Training3.1 黑盒测试概述黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用。2/11/2023IT Education&Training软件输入黑盒测试不深入代码细节输出3.1 黑盒测试概述在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内
2、部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性,如图所示。2/11/2023IT Education&Training1黑盒测试主要用于发现以下情况是否有不正确或遗漏了的功能在接口上,能否正确地接受输入数据,能否产生正确地输出信息访问外部信息是否有错性能上是否满足要求界面是否错误,是否不美观初始化或终止错误2/11/2023IT Education&Training2“黑盒”的两种基本方法黑盒测试有两种基本方法,即通过测试和失败测试。在进行通过
3、测试时,实际上是确认软件能做什么,而不会去考验其能力如何。软件测试员只运用最简单,最直观的测试案例。在设计和执行测试案例时,总是先要进行通过测试。在进行破坏性试验之前,看一看软件基本功能是否能够实现。这一点很重要,否则在正常使用软件时就会奇怪地发现,为什么会有那么多的软件缺陷出现?在确信了软件正确运行之后,就可以采取各种手段通过搞“垮”软件来找出缺陷。纯粹为了破坏软件而设计和执行的测试案例,被称为失败测试或迫使出错测试。2/11/2023IT Education&Training3黑盒测试的优、缺点黑盒测试的优点有:1)比较简单,不需要了解程序内部的代码及实现;2)与软件的内部实现无关;3)从
4、用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;4)基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;5)在做软件自动化测试时较为方便。黑盒测试的缺点有:1)不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%;2)自动化测试的复用性较低。2/11/2023IT Education&Training4黑盒测试的测试用例设计方法等价类划分方法边界值分析方法错误推测方法因果图方法判定表驱动分析方法功能图分析方法2/11/2023IT Education&Training3.2等价类划方法为了保证软件质量,我们需要做尽量多的测试,但不可能用所有可能的输入数据来测试程
5、序,即穷尽测试是不可能的。我们可以选择一些有代表性的数据来测试程序,但怎样选择呢?等价类划分是解决这一问题的一个方法。2/11/2023IT Education&Training5.2.1等价类划方法的理论知识等价类划分是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。该方法是一种重要的,常用的黑盒测试用例设计方法。2/11/2023IT Education&Training1.等价类等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。并合理地假定:测试某等价类的代表值就等于对这一类其它值的
6、测试。因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据,取得较好的测试结果。等价类划分可有两种不同的情况:有效等价类和无效等价类。有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。无效等价类:与有效等价类的定义恰巧相反。设计测试用例时,要同时考虑这两种等价类。因为,软件不仅要能接收合理的数据,也要能经受意外的考验。这样的测试才能确保软件具有更高的可靠性。2/11/2023IT Education&Training2.划分等价类的规则1
7、.1.如果输入条件规定了取值范围,可定义一个有效等价类和两个无效等价类。例:输入值是学生成绩,范围是0100有效等价类:0成绩100无效等价类:成绩1002/11/2023IT Education&Training2.划分等价类的规则(续)(2)如果规定了输入数据的个数,则类似地可以划分出一个有效等价类和两个无效等价类。例:一个学生每学期只能选修13门课 有效等价类:选修13门 无效等价类:不选 或 选修超过3门2/11/2023IT Education&Training2.划分等价类的规则(续)(3)如规定了输入数据的一组值,且程序对不同输入值做不同处理,则每个允许的输入值是一个有效等价类,
8、并有一个无效等价类(所有不允许的输入值的集合)。例:输入条件说明学历可为:专科、本科、硕士、博士四种之一有效等价类:专科、本科、硕士、博士无效等价类:其它任何学历2/11/2023IT Education&Training2.划分等价类的规则(续)(4)如果规定了输入数据必须遵循的规则,可确定一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。例:校内电话号码拨外线为9开头有效等价类:9外线号码无效等价类:非9开头外线号码 9非外线号码,2/11/2023IT Education&Training3.等价类划分法测试用例设计(1)对每个输入或外部条件进行等价类划分,形成等价类表
9、,为每一等价类规定一个唯一的编号;(2)设计一测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类,重复这一步骤,直到所有有效等价类均被测试用例所覆盖;(3)设计一新测试用例,使其只覆盖一个无效等价类,重复这一步骤直到所有无效等价类均被覆盖;2/11/2023IT Education&Training4.常见等价类划分测试形式针对是否对无效数据进行测试,可以将等价类测试分为 标准等价类测试和健壮等价类测试。标准等价类测试不考虑无效数据值,测试用例使用 每个等价类中的一个值。健壮等价类测试主要的出发点是考虑了无效等价类。对有效输入,测试用例从每个有效等价类中取一个值;对无效输入,一个测试用例有一个无
10、效值,其他值均取 有效值。健壮等价类测试存在两个问题:(1)需要花费精力定义无效测试用例的期望输出 (2)对强类型的语言没有必要考虑无效的输入 2/11/2023IT Education&Training强类型定义语言一种总是强制类型定义的语言,要求变量的使用要严格符合定义,所有变量都必须先定义后使用。java、python、C+等都是强制类型定义的。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。例如你有一个整数,如果不显式地进行转换,你不能将其视为一个字符串。与其相对应的是弱类型语言:数据类型可以被忽略的语言。它与强类型定义语言相反,一个变量可
11、以赋不同数据类型的值。2/11/2023IT Education&Training例1:报表日期设某公司要打印20012005年的报表,其中报表日期为6位数字组成,其中,前4位为年份,后两位为月份。2/11/2023IT Education&Training第一步:划分等价类输入及外部条件有效等价类无效等价类报表日期的报表日期的类型及长度类型及长度6 6位数字字符位数字字符有非数字字符有非数字字符 少于少于6 6个数字字符个数字字符 多于多于6 6个数字字符个数字字符 年份范围年份范围在在2001200120052005之间之间小于小于2001 2001 大于大于2005 2005 月份范围月
12、份范围在在1 11212之间之间小于小于1 1 大于大于12 12 2/11/2023IT Education&Training第二步:为有效等价类设计测试用例对表中编号为的3个有效等价类用一个测试用例覆盖:测试数据期望结果覆盖范围200105200105输入有效输入有效等价类等价类2/11/2023IT Education&Training第三步:为每一个无效等价类至少设计一个测试用例测试数据测试数据期望结果期望结果覆盖范围覆盖范围001001MAYMAY输入无效输入无效等价类等价类2001520015输入无效输入无效等价类等价类20010012001001输入无效输入无效等价类等价类200
13、020000 0输入无效输入无效等价类等价类200820080 0输入无效输入无效等价类等价类200120010000输入无效输入无效等价类等价类200120011313输入无效输入无效等价类等价类本例的本例的1010个等价类至个等价类至少需要少需要8 8个测试用例个测试用例不能出现相同的测试用例不能出现相同的测试用例2/11/2023IT Education&Training对招干考试系统“输入学生成绩”子模块设计测试用例 招干考试分三个专业,准考证号第一位为专业代号,如:1-行政专业,2-法律专业,3-财经专业.行政专业准考证号码为:110001111215法律专业准考证号码为:21000
14、1212006财经专业准考证号码为:310001314015例:例2:准考证号码2/11/2023IT Education&Training例:准考证号码的等价类划分 有效等价类:(1)110001 111215(2)210001 212006(3)310001 314015 无效等价类:(4)-110000(5)111216 210000(6)212007 310000(7)314016 +2/11/2023IT Education&Training例3 电话号码城市的电话号码由两部分组成。这两部分的名称和内容分别是:地区码:以0开头的三位或者四位数字(包括0);电话号码:以非0、非1开头的
15、七位或者八位数字。假定被调试的程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的号码,就可用等价分类法来设计它的调试用例。2/11/2023IT Education&Training划分等价类并编号输入数据有效等价类无效等价类地区码(1)以0开头的3位数串(2)以0开头的4位数串(1)以0开头的含有非数字字符的串(2)以0开头的小于3位的数串(3)以0开头的大于4位的数串(4)以非0开头的数串电话号码(1)以非0、非1开头的7位数串(2)以非0、非1开头的8位数串(1)以0开头的数串(2)以1开头的数串(3)以非0、非1开头的含有非法字符7或者8位数串(4)以非0、非1开头的小于7位数
16、串(5)以非0、非1开头的大于8位数串2/11/2023IT Education&Training为有效等价类设计测试用例 测试数据期望结果覆盖范围010 23145678显示有效输入(1)、(8)023 2234567显示有效输入(1)、(7)0851 3456789显示有效输入(2)、(7)0851 23145678显示有效输入(2)、(8)2/11/2023IT Education&Training为每一个无效等价类至少设计一个测试用例 测试数据期望结果覆盖范围0a34 23456789显示无效输入(3)05 23456789显示无效输入(4)01234 23456789显示无效输入(5
17、)2341 23456789显示无效输入(6)028 01234567显示无效输入(9)028 12345678显示无效输入(10)028 qw123456显示无效输入(11)028 623456显示无效输入(12)028 886234569显示无效输入(13)2/11/2023IT Education&Training例4:回顾NextDate问题。NextDate 函数包含三个变量 month、day和year,函数的输出为输入日期后一天的日期。例如,输入为1989年5月16日,则函数的输出为1989年5月17日。要求输入变量 month、day和year均为整数值,并且满足下列条件,也就
18、是有效等价类:1 month12 1day31 1812year20122/11/2023IT Education&Training例4:回顾NextDate问题续若条件(1)(3)中任何一个条件失效,则 NextDate 函数都会产生一个输出,指明相应的变量超出取值范围,比如“month 的值不在 1-12 范围当中”。显然还存在着大量的 year、month、day 的无效组合,我们可以给出下列无效等价类:month12day31year2012测试用例的设计这里就略过,请同学们根据划分好的等价类自行设计。2/11/2023IT Education&Training例例5 5 三角形问题三
19、角形问题分析:分析:在多数情况下,是从输入域划分等价类的,但并非不能从被测程序的输出域反过来定义等价类,事实上,这对于三角形问题却是最简单的划分方法。在三角形问题中,有四种可能的输出:等边三角形、等腰三角形、一般三角形和非三角形。利用这些信息能够确定下列输出(值域)等价类。R1=:边为a,b,c的等边三角形 R2=:边为a,b,c的等腰三角形 R3=:边为a,b,c的一般三角形 R4=:边为a,b,c不能组成三角形 标准等价类测试用例标准等价类测试用例健壮等价类测试用例健壮等价类测试用例2/11/2023IT Education&Training3.3边界值分析法 长期的测试工作经验告诉我们,
20、大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。2/11/2023IT Education&Training3.3.1边界值分析方法的理论知识 定义:边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。与等价划分的区别 1)边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。2)边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况。2/11/2023IT Education&T
21、raining常见的边界值1)对16-bit 的整数而言 32767 和-32768 是边界 2)屏幕上光标在最左上、最右下位置 3)报表的第一行和最后一行 4)数组元素的第一个和最后一个 5)循环的第 0 次、第 1 次和倒数第 2 次、最后一次2/11/2023IT Education&Training边界值分析方法选择测试用例原则 1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。例如,如果程序的规格说明中规定:重量在10公斤至50公斤范围内的邮件,其邮费计算公式为。作为测试用例,我们应取10及50,还应取10.01,49.99
22、,9.99及50.01等。2/11/2023IT Education&Training边界值分析方法选择测试用例原则 2)如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据。比如,一个输入文件应包括1255个记录,则测试用例可取1和255,还应取0及256等。2/11/2023IT Education&Training边界值分析方法选择测试用例原则3)将规则1)和2)应用于输出条件,即设计测试用例使输出值达到边界值及其左右的值。例如,某程序的规格说明要求计算出每月保险金扣除额为0至1165.25元,其测试用例可取0.00及1165.24、还可取一
23、0.01及116526等。再如一程序属于情报检索系统,要求每次最少显示1条、最多显示4条情报摘要,这时我们应考虑的测试用例包括1和4,还应包括0和5等。2/11/2023IT Education&Training边界值分析方法选择测试用例原则4)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。5)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。6)分析规格说明,找出其它可能的边界条件。2/11/2023IT Education&Trainingint a10;for(i=1;i=10;i+)ai=0;很
24、明显,这段代码的目的是创建包含10个元素的数组,并为数组中的每一个元素赋初值0。看看有什么问题?例1:分析以下代码段2/11/2023IT Education&Training3.4因果图方法前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系,相互组合等。考虑输入条件之间的相互组合,可能会产生一些新的情况。但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多。因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例。这就需要利用因果图(逻辑模型)。因果图方法最终生成的就是判
25、定表,它适合于检查程序输入条件的各种组合情况。2/11/2023IT Education&Training3.4.1因果图介绍 因果图中使用了简单的逻辑符号,以直线联接左右结点。左结点表示输入状态(或称原因),右结点表示输出状态(或称结果)。ci表示原因,通常置于图的左部;ei表示结果,通常在图的右部。ci和ei均可取值0或1,0表示某状态不出现,1表示某状态出现。2/11/2023IT Education&Training因果图概念关系4种符号分别表示了规格说明中向4种因果关系。如上图所示。恒等:若ci是1,则ei也是1;否则ei为0。非:若ci是1,则ei是0;否则ei是1。或:若c1或c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 黑盒测试 黑盒 测试 PPT 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内