第三章 黑盒测试课件.pptx
《第三章 黑盒测试课件.pptx》由会员分享,可在线阅读,更多相关《第三章 黑盒测试课件.pptx(116页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件测试技术软件测试技术 第第3 3章黑盒测试章黑盒测试第第3 3章章 测试用例设计技术测试用例设计技术1.1. 对于黑盒测试的基本认识对于黑盒测试的基本认识2.2. 等价类划分法等价类划分法3.3. 边界值分析法边界值分析法4.4. 判定表驱动法判定表驱动法5.5. 因果图法因果图法6.6. 正交实验法正交实验法7.7. 场景法场景法8.8. 错误推测法错误推测法9.9. 黑盒测试应用策略黑盒测试应用策略10.10.黑盒测试与白盒测试的优缺点与对比黑盒测试与白盒测试的优缺点与对比2/1163.1 3.1 对于黑盒测试的基本认识对于黑盒测试的基本认识n定义:从用户的角度去验证软件功能,重点关注
2、的是用户的需求,通过程序界面和接口的外部操作实现端到端的测试。n分类:黑盒测试一般可分为功能测试和非功能测试两大类。3/116黑盒测试主要检测如下一些错误:黑盒测试主要检测如下一些错误:l软件功能不满足需求或者有遗漏。软件功能不满足需求或者有遗漏。l人机交互界面错误。人机交互界面错误。l数据库访问错误以及不能保持外部信息完数据库访问错误以及不能保持外部信息完整性错误。整性错误。l软件性能、安全性、可靠性和兼容性等非软件性能、安全性、可靠性和兼容性等非功能特性不满足需求。功能特性不满足需求。l程序初始化和终止错误。程序初始化和终止错误。4/116黑盒测试的优点:黑盒测试的优点:黑盒测试与软件具体
3、实现无关,因此黑盒黑盒测试与软件具体实现无关,因此黑盒测试用例在程序具体实现方法变化后仍可测试用例在程序具体实现方法变化后仍可使用。使用。软件具体实现与黑盒测试用例设计可以同软件具体实现与黑盒测试用例设计可以同步进行,因此能够节约软件项目总体开发步进行,因此能够节约软件项目总体开发时间。时间。5/116 3.2 3.2 等价类划分法等价类划分法3.2.1 等价类划分思想3.2.2 等价类划分的规则3.2.3 测试用例设计步骤与实例6/1163.2.1 3.2.1 等价类划分思想等价类划分思想基本思想基本思想:如何将输入数据集合划分为多个适当的数据子集合(即等价类),使得每个等价类中选取的数据可
4、以代表该类中的其它数据。优点:优点:通过等价类划分法,我们可以将不能穷举的输入数据合理划分为有限个数的等价类,然后在每个等价类中选取少量数据来代替对于这一类其它数据的测试。7/116划分的基础:在分析需求规格说明的基础上划分等价类,不需要考虑程在分析需求规格说明的基础上划分等价类,不需要考虑程序的内部结构。序的内部结构。将所有可能的输入数据划分为若干个互不相交的子集。也将所有可能的输入数据划分为若干个互不相交的子集。也就是说,所有等价类的并集即是整个输入域,各等价类数就是说,所有等价类的并集即是整个输入域,各等价类数据之间互不相交。据之间互不相交。每个等价类中的各个输入数据对于揭示程序错误都是
5、等效每个等价类中的各个输入数据对于揭示程序错误都是等效的,如果用等价类中的一个数据进行测试不能发现程序错的,如果用等价类中的一个数据进行测试不能发现程序错误,那么用该等价类中的其它数据进行测试也不可能发现误,那么用该等价类中的其它数据进行测试也不可能发现程序错误。程序错误。8/116整数相加程序的等价类划分例子:整数相加程序的等价类划分例子:对两个整型数据相加的程序,可以将其输入域划分为如表3-1所示的9个等价类,用9个测试用例代表了众多输入数据组合情况。表表3-1 3-1 整数相加程序的等价类划分整数相加程序的等价类划分等价类编号等价类编号加数加数1 1加数加数2 2测试用例测试用例1 1正
6、整数正整数正整数正整数4+64+62 2正整数正整数零零5+05+03 3正整数正整数负整数负整数6+(-7)6+(-7)4 4零零正整数正整数0+80+85 5零零零零0+00+06 6零零负整数负整数0+(-9)0+(-9)7 7负整数负整数正整数正整数(-2)+(-5)(-2)+(-5)8 8负整数负整数零零(-7)+0(-7)+09 9负整数负整数负整数负整数(-6)+(-10)(-6)+(-10)9/116“有效等价类有效等价类”和和“无效等价类无效等价类”u“有效等价类有效等价类”是指对于程序的规格说明来说是是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合,利用有合理
7、的、有意义的输入数据构成的集合,利用有效等价类可以检验程序是否实现了规格说明中所效等价类可以检验程序是否实现了规格说明中所规定的功能和性能要求。规定的功能和性能要求。u“无效等价类无效等价类”与有效等价类相反,是指对程序与有效等价类相反,是指对程序的规格说明来说是无意义、不合理的输入数据构的规格说明来说是无意义、不合理的输入数据构成的集合,利用无效等价类可以检验程序是否具成的集合,利用无效等价类可以检验程序是否具有容错性和较高的可靠性。有容错性和较高的可靠性。10/1163.2.2 3.2.2 等价类划分的规则等价类划分的规则(1 1)按输入区间划分)按输入区间划分 如果规格说明规定了输入数据
8、的取值范围或者是规定了取值数量的情况下,可以确定一个有效等价类和两个无效等价类。第一种情况,在确定了取值范围的情况下,例如统计学生成绩的程序规定学生成绩范围是0成绩100,其等价类的划分如图3-1所示。图3-1 按输入区间划分等价类11/1163.2.2 3.2.2 等价类划分的规则等价类划分的规则(2 2)按数值集合划分)按数值集合划分(3 3)按离散数值划分)按离散数值划分(4 4)按限制条件或规则划分)按限制条件或规则划分(5 5)按布尔量取值划分)按布尔量取值划分(6 6)细分等价类)细分等价类12/1163.2.2 3.2.2 测试用例设计步骤与实例测试用例设计步骤与实例步骤:(1
9、1)按照表)按照表3-23-2所示建立等价类表,列举出所有划分的有效所示建立等价类表,列举出所有划分的有效等价类和无效等价类等价类和无效等价类。表表3-2 3-2 等价类表等价类表(2 2)给每一个等价类规定一个唯一的编号。)给每一个等价类规定一个唯一的编号。(3 3)设计一个有效等价类测试用例,使其尽可能多的覆盖尚)设计一个有效等价类测试用例,使其尽可能多的覆盖尚未覆盖的有效等价类。重复这一步骤,直到所有的有效等价未覆盖的有效等价类。重复这一步骤,直到所有的有效等价类都被测试用例所覆盖。类都被测试用例所覆盖。(4 4)设计一个无效等价类测试用例,使其只覆盖一个无效等)设计一个无效等价类测试用
10、例,使其只覆盖一个无效等价类。重复这一步骤,直到所有的无效等价类都被测试用例价类。重复这一步骤,直到所有的无效等价类都被测试用例所覆盖。所覆盖。输入条件输入条件有效等价类有效等价类无效等价类无效等价类13/1163.2.2 3.2.2 测试用例设计步骤与实例测试用例设计步骤与实例实例:三角形问题可以按照表3-3所示建立等价类表,列举出所有的有效等价类和无效等价类,并且给每一个等价类规定一个唯一的编号。表表3-3 3-3 三角形问题的等价类表三角形问题的等价类表输入条件输入条件有效等价类有效等价类无效等价类无效等价类是否为一般三角形是否为一般三角形A0 (1)A0 (1)B0 (2)B0 (2)
11、C0 (3)C0 (3)A+BC (4)A+BC (4)B+CA (5)B+CA (5)A+CB (6)A+CB (6)A0 (7)A0 (7)B0 (8)B0 (8)C0 (9)C0 (9)A+BC (10)A+BC (10)B+CA (11)B+CA (11)A+CB (12)A+CB (12)14/1163.2.2 3.2.2 测试用例设计步骤与实例测试用例设计步骤与实例实例:三角形问题表表3-3 3-3 续表续表输入条件输入条件有效等价类有效等价类无效等价类无效等价类是否为等腰三角形是否为等腰三角形A=B (13)A=B (13)B=C (14)B=C (14)A=C (15)A=C
12、(15)AB and BC AB and BC andandA AC (16)C (16)是否为等边三角形是否为等边三角形A=B and B=C and A=C A=B and B=C and A=C (17(17) )AB (18)AB (18)BC (19)BC (19)AC (20)AC (20)15/1163.2.2 3.2.2 测试用例设计步骤与实例测试用例设计步骤与实例实例:三角形问题表表3-4 3-4 三角形问题的等价类测试用例三角形问题的等价类测试用例用例编号用例编号A A,B B,C C覆盖等价类编号覆盖等价类编号输出输出1 14 4,5 5,8 81616一般三角形一般三角
13、形2 26 6,6 6,8 81616,1313等腰三角形等腰三角形3 37 7,5 5,5 51616,14144 45 5,6 6,5 51616,15155 56 6,6 6,6 61616,1717等边三角形等边三角形6 60 0,4 4,5 57 7不能构成一个三角形不能构成一个三角形7 75 5,-3-3,7 78 88 83 3,4 4,0 09 99 93 3,5 5,8 8101010108 8,3 3,4 4111111115 5,9 9,4 4121212126 6,7 7,8 81616,1616非等腰三角形非等腰三角形13135 5,6 6,6 61616,1414,
14、1818非等边三角形非等边三角形14145 5,6 6,5 51616,1515,191915156 6,6 6,7 71616,1313,202016/1163.2.2 3.2.2 测试用例设计步骤与实例测试用例设计步骤与实例实例:我国的固定电话号码一般由“地区码+电话号码”组成,主要的编码规则如下:(1 1)地区码是以)地区码是以0 0开头的开头的3 3位或者位或者4 4位数字,区内通话时可位数字,区内通话时可以为空白。以为空白。(2 2)电话号码是以非)电话号码是以非0 0和非和非1 1开头的开头的7 7位或者位或者8 8位数字。位数字。一个应用程序接受符合上述规则的电话号码,需要设计等
15、价类测试用例对其进行测试。该问题的等价类划分如表3-5所示,相应的测试用例如表3-6所示。17/1163.2.2 3.2.2 测试用例设计步骤与实例测试用例设计步骤与实例表表3-5 3-5 电话号码问题的等价类表电话号码问题的等价类表输输入入条条件件有效等价类有效等价类无效等价类无效等价类地地区区码码空白空白 (1) (1)以以0 0开头的开头的3 3位地区码位地区码 (2) (2)以以0 0开头的开头的4 4位地区码位地区码 (3) (3)以非以非0 0开头的开头的3 3位数字位数字 (4) (4)以非以非0 0开头的开头的4 4位数字位数字 (5) (5)以以0 0开头小于开头小于3 3位
16、的数字位的数字 (6) (6)以以0 0开头大于开头大于4 4位的数字位的数字 (7) (7)以以0 0开头含有非数字字符开头含有非数字字符 (8) (8)电电话话号号码码以非以非0 0和非和非1 1开头的开头的7 7位号码位号码 (9)(9)以非以非0 0和非和非1 1开头的开头的8 8位号码位号码 (10)(10)以以0 0开头的开头的7 7位或位或8 8位数字位数字 (11) (11)以以1 1开头的开头的7 7位或位或8 8位数字位数字 (12) (12)以非以非0 0和非和非1 1开头小于开头小于7 7位的数字位的数字 (13)(13)以非以非0 0和非和非1 1开头大于开头大于8
17、8位的数字位的数字 (14)(14)以非以非0 0和非和非1 1开头含有非数字字符开头含有非数字字符 (15)(15)18/1163.2.2 3.2.2 测试用例设计步骤与实例测试用例设计步骤与实例表表3-6 3-6 电话号码问题的等价类测试用例电话号码问题的等价类测试用例用例编号用例编号输入数据输入数据覆盖等价类编覆盖等价类编号号输出输出地区码地区码电话号码电话号码1 1空白空白85679372856793721 1,1010有效有效2 202502573465216734652162 2,1010有效有效3 30571057167429935674299353 3,1010有效有效4 40
18、7450745834156883415683 3,9 9有效有效5 597397358729411587294114 4无效无效6 636123612742155374215535 5无效无效7 7010137458934374589346 6无效无效8 80527405274846537184653717 7无效无效9 902hc02hc76538924765389248 8无效无效101001001004758325047583251111无效无效111105160516185643918564391212无效无效14140210218546238546231313无效无效15150351
19、03516976764536976764531414无效无效16160290298721cd678721cd671515无效无效19/1163.2.2 3.2.2 测试用例设计步骤与实例测试用例设计步骤与实例等价类划分需要经过以下两个思维过程:(1)分类。将输入域根据相同特性或类似功能进行分类。(2)抽象。在各个等价类中抽象出相同特性,然后用数据实例来表征这个特性。等价类划分法的优缺点:优点:是用相对较少的测试用例就能够进行比较完整的输入数据覆盖,解决了不能穷举测试的问题。缺点:是需要花费很多时间去定义规格说明中一般不会给出的无效测试用例预期输出。另外,等价类划分法缺乏对特殊测试用例的考虑,并
20、且经常需要深入的系统知识才能划分出合适的等价类。20/116 3.3 3.3 边界值分析法边界值分析法3.3.1 边界值选取原则3.3.2 两类边界值选取方法3.3.3 边界值分析法示例3.3.4 边界值分析法的特点21/116 3.3.1 边界值选取原则边界值选取原则 边界值是使等价类的每个边界都要作为测试条件,在边边界值是使等价类的每个边界都要作为测试条件,在边界处选取正好等于、刚刚大于或刚刚小于边界的值作为测试界处选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据。此外,边界值分析法不仅需要考虑输入条件边界,还数据。此外,边界值分析法不仅需要考虑输入条件边界,还要考虑输出域边界的情况。
21、要考虑输出域边界的情况。一个程序中常见的边界情况有以下几种一个程序中常见的边界情况有以下几种:循环结构中第循环结构中第0 0次、第一次和最后一次循环。次、第一次和最后一次循环。数组的第一个和最后一个下标元素。数组的第一个和最后一个下标元素。变量类型所允许的最大和最小值。变量类型所允许的最大和最小值。一个链表的头尾结点。一个链表的头尾结点。用户名和密码等可接受字符个数的最大值和最小值。用户名和密码等可接受字符个数的最大值和最小值。报表的第一行、第一列、最后一行和最后一列。报表的第一行、第一列、最后一行和最后一列。22/116 3.3.1 边界值选取原则边界值选取原则根据边界值分析法选择测试用例根
22、据边界值分析法选择测试用例的的原则原则:如果输入条件规定了取值的范围,那么测试用例输入数据应如果输入条件规定了取值的范围,那么测试用例输入数据应选取所规定范围的边界值以及刚刚超过范围边界的值。选取所规定范围的边界值以及刚刚超过范围边界的值。如果输入条件规定了值的个数,那么测试用例选择最大个数、如果输入条件规定了值的个数,那么测试用例选择最大个数、最小个数、比最大个数多最小个数、比最大个数多1 1个和比最小个数少个和比最小个数少1 1个的数据等作个的数据等作为测试数据。为测试数据。根据规格说明的每一个输出条件,分别使用以上两个规则。根据规格说明的每一个输出条件,分别使用以上两个规则。如果输入域和
23、输出域是顺序表或顺序文件等有序集合,那么如果输入域和输出域是顺序表或顺序文件等有序集合,那么选取集合的第一个和最后一个元素作为测试用例。选取集合的第一个和最后一个元素作为测试用例。对于程序的内部数据结构,选择其边界值作为测试用例。对于程序的内部数据结构,选择其边界值作为测试用例。分析规格说明并找出其它可能的边界条件。分析规格说明并找出其它可能的边界条件。23/1163.3.2 两类边界值选取方法两类边界值选取方法测试用例的数据选取一般有如下两种方法:五点法、五点法、七点法。七点法。图图3-2 3-2 两类边界值数据选取方法两类边界值数据选取方法24/1163.3.2 两类边界值选取方法两类边界
24、值选取方法(1 1)一般边界值分析)一般边界值分析 假设一个被测程序具有两个输入变量假设一个被测程序具有两个输入变量X1X1和和X2X2,规定,规定aX1baX1b,cX2dcX2d。在采用一般边界值分析方法时,其测。在采用一般边界值分析方法时,其测试用例的数据选取按照如图试用例的数据选取按照如图3-23-2(a a)所示进行,共产生如表)所示进行,共产生如表3-73-7所示的所示的9 9个测试用例。个测试用例。表表3-7 3-7 两变量一般边界值分析测试用例两变量一般边界值分析测试用例 除了上下边界处的除了上下边界处的4 4个取值外,每个变量可以共用一个各个取值外,每个变量可以共用一个各变量
25、取值均为正常值的测试用例。那么,一般边界值分析测变量取值均为正常值的测试用例。那么,一般边界值分析测试用例的数量为试用例的数量为4N+14N+1个。个。编编号号1 12 23 34 45 56 67 78 89 9X X1 1a aa+a+normalnormalb-b-b bnormalnormalnormalnormalnormalnormalnormalnormalX X2 2normalnormalnormalnormalnormalnormalnormalnormalnormalnormalc cc+c+d-d-d d25/1163.3.2 两类边界值选取方法两类边界值选取方法(2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三章 黑盒测试课件 第三 黑盒 测试 课件
限制150内