收藏 分享(赏)

软件测试项目课件04黑盒测试.pptx

上传人:bubibi 文档编号:18831159 上传时间:2023-11-02 格式:PPTX 页数:70 大小:366.45KB
下载 相关 举报
软件测试项目课件04黑盒测试.pptx_第1页
第1页 / 共70页
软件测试项目课件04黑盒测试.pptx_第2页
第2页 / 共70页
软件测试项目课件04黑盒测试.pptx_第3页
第3页 / 共70页
软件测试项目课件04黑盒测试.pptx_第4页
第4页 / 共70页
软件测试项目课件04黑盒测试.pptx_第5页
第5页 / 共70页
亲,该文档总共70页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、软件测试软件测试技术案例教程技术案例教程第四章第四章 黑盒测试黑盒测试2 2 2 2主要内容1.黑盒测试概念2.等价类测试3.边界值分析法4.决策表5.因果图6.正交试验法7.错误推测法8.项目案例3 34.1 黑盒测试概念黑盒测试概念 黑盒测试(Black-box Testing)软件输入输入输出输出v又叫功能测试,数据驱动测试或基于规格说明的测试。4 44.1 黑盒测试概念黑盒测试概念 黑盒测试的目标黑盒测试的目标黒盒测试试图发现以下类型的错误:功能错误或遗漏;接口错误;接口所使用的数据结构错误;行为或性能错误;初始化和终止错误5 54.1 黑盒测试概念黑盒测试概念 黑盒测试过程黑盒测试过

2、程需求需求说明说明产生产生被测程序被测程序测试结果测试结果输出输出比较比较6 64.1 黑盒测试概念黑盒测试概念 黑盒测试方法黑盒测试方法黑盒测试的测试方法边界值分析等价类划分基于决策表的测试因果图正交试验错误推测7 74.2 等价类测试等价类测试问题引入问题引入为保证软件产品的质量,我们需要进行完备的测试;但这是不现实的,因为:输入量太大输出结果太多软件实现途径太多等价类划分法是一种典型的黑盒测试方法,它完全不考虑程序的内部结构,只根据程序规格说明书对输入范围进行划分,把所有可能的输入数据,即程序输入域划分为若干个互不相交的子集,称为等价类,然后从每个等价类中选取少数具有代表性的数据作为测试

3、用例,进行测试。8 84.2 等价类测试等价类测试等价类定义等价类定义等价类是输入域的某个子集合,而所有的等价类的并集是整个输入域。在子集合中,各个输入数据对于揭露程序中的错误是等效的。等价类的特点等价类的特点完备性:整个输入域提供一种形式的完备性无冗余性:若互不相交则可保证一种形式的无冗余性有效等价类:对于程序的规格说明来说,是合理的、有意义的输入数据所构成的集合无效等价类:对于程序的规格说明来说,是不合理的、没有意义的输入数据所构成的集合9 94.2 等价类测试等价类测试确定等价类的原则确定等价类的原则(1)如果输入条件规定了取值范围或值的个数就可确定一个有效等价类和两个无效等价类例如:输

4、入学生成绩,范围是0到100;10104.2 等价类测试等价类测试确定等价类的原则确定等价类的原则(2)输入条件规定了输入值的集合或是规定了“必须如何”的条件,则可确定一个有效等价类和一个无效等价类例如:“标识符以字母开头”11114.2 等价类测试等价类测试确定等价类的原则确定等价类的原则(3)如果输入条件是一个布尔量布尔量,则可以确立一个有效等价类和一个无效等价类。12124.2 等价类测试等价类测试确定等价类的原则确定等价类的原则(4)如果规定了输入数据的一组值一组值,且程序要对每一个输入值分别进行处理,要对每一个规定的输入值确立一个有效等价类,而对于这组值之外的所有值确立一个无效等价类

5、。例:输入条件说明学历可为:专科、本科、硕士、博士四种之一。13134.2 等价类测试等价类测试确定等价类的原则确定等价类的原则(5)如果规定了输入数据必须遵循的规则,可确定一个有效等价类和若干个无效等价类(从不同角度违反规则)。例如:用户名必须是字母14144.2 等价类测试等价类测试确定等价类的原则确定等价类的原则(6 6)如已划分的等价类各元素在程序中的处理方式不同,则应将此等价类进一步划分成更小的等价类。例如:输入三条边,判断三角形的形状15154.2 等价类测试等价类测试等价类测试用例设计等价类测试用例设计(1)为每一个等价类规定一个唯一的编号。(2)设计一个新的测试用例,使其尽可能

6、多地覆盖尚未被覆盖地有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止。(3)设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。16164.2 等价类测试等价类测试举例:三角形问题三角形问题是软件测试中最经典的一个例子。输入三个整数a、b和c分别作为三角形的3条边,通过程序判断由这3条边构成的三角形类型是:等边三角形、等腰三角形、一般三角形或非三角形(不能构成一个三角形)。17174.2 等价类测试等价类测试分析问题中给出和隐含的对输入条件的要求:条件1:整数 条件2:三个数 条件3:非零数 条件4:正数 条件5:两边之和大于第三边

7、 条件6:等腰 条件7:等边 18184.2 等价类测试等价类测试如果 a、b、c 满足条件(1)(4),则输出下列四种情况之一:如果不满足条件(5),则程序输出为“非三角形”。如果三条边相等即满足条件(7),则程序输出为“等边三角形”。如果只有两条边相等、即满足条件(6),则程序输出为“等腰三角形”。如果三条边都不相等,则程序输出为“一般三角形”。19194.2 等价类测试等价类测试输入输入条件条件有效等有效等价类价类编编号号无效等价类无效等价类编号编号三三个个正正整整数数正整数正整数1 1一边为非一边为非正整数正整数a a为非正整数为非正整数1010b b为非正整数为非正整数1111c c

8、为非正整数为非正整数1212两边为非两边为非正整数正整数a a,b b为非正整数为非正整数1313a a,c c为非正整数为非正整数1414b b,c c为非正整数为非正整数1515三边均为非正整数三边均为非正整数1616三个数三个数2 2只输入一只输入一个数个数只给只给a a1717只给只给b b1818只给只给c c1919只输入两只输入两个数个数只给只给a a,b b2020只给只给a a,c c2121只给只给b b,c c2222未输入数未输入数2323三三角角形形的的等等价价类类20204.2 等价类测试等价类测试输入条件输入条件有效等价类有效等价类编号编号无效等价类无效等价类编号

9、编号构成一般三构成一般三角形角形a+b c,且且abc3a+b b,且且abc4a+c a,且且abc5b+c a28b+c=a29构成等腰三构成等腰三角形角形a=b,a c,且两边之和大,且两边之和大于第三边于第三边6a=c,a b,且两边之和大,且两边之和大于第三边于第三边7b=c,a b,且两边之和大,且两边之和大于第三边于第三边8构成等边三构成等边三角形角形a=b=c9三三角角形形的的等等价价类类21214.3 边界值分析法边界值分析法1.1.边界值分析边界值分析边界值分析(Boundary Value AnalysisBoundary Value Analysis)边界值分析关注输入

10、空间输入空间的边界,并从中标识测试用例。基本原理错误更可能出现在输入变量的极值附近。22224.3 边界值分析法边界值分析法常见的边界值常见的边界值举例对16-bit 的整数而言 32767 和-32768 是边界屏幕上光标在最左上、最右下位置报表的第一行和最后一行数组元素的第一个和最后一个C+语言中,int A10:A0A9循环的第 0 次、第 1 次和倒数第 2 次、最后一次23234.3 边界值分析法边界值分析法边界值分析的基本思想边界值分析的基本思想在最小值、略高于最小值、正常值、略低于最大值和最大值处取输入变量值表示方法min、min+、nom、max-、和max例如:涉及两个变量的

11、函数x1,x2X1的取值x1min,x1min+,x1nom,x1max-,x1maxX2的取值x2min,x2min+,x2nom,x2max-,x2max24244.3 边界值分析法边界值分析法边界值分析的取值边界值分析的取值25254.3 边界值分析法边界值分析法边界值分析测试用例边界值分析测试用例边界值分析获得测试用例的方法:使所有变量取正常值,只使一个变量取极值;对于一个n变量函数,边界值分析会产生4n+1个测试用例。26264.3 边界值分析法边界值分析法X X1 1取值:x x1 1minmin,x,x1 1min+min+,x,x1 1nomnom,x,x1 1max-max-

12、,x,x1max1maxX X2 2取值:x x2min2min,x,x2min+2min+,x,x2nom2nom,x,x2max-2max-,x,x2max2max两个变量函数的边界值分析测试用例 x,x2min+,x ,x2max-,x ,x2max,x1min,x ,x1max-,x ,两个变量函数边界值分析测试用例两个变量函数边界值分析测试用例27274.3 边界值分析法边界值分析法X2两个变量函数边界值分析测试用例两个变量函数边界值分析测试用例28284.3 边界值分析法边界值分析法举例:三角形问题举例:三角形问题三角形问题描述三条边a,b,c取整数值,且各边的取值范围是:1,20

13、0边界值分析设计测试用例每条边的取值:1,2,100,199,200测试用例数目:4n+1三角形问题(n=3):用例数为1329294.3 边界值分析法边界值分析法练习:练习:NextDateNextDate函数函数输入条件1月份121日期31假定1912 年2050请用边界值分析设计测试用例30304.3 边界值分析法边界值分析法2.2.健壮性测试健壮性测试健壮性是指在异常情况下,软件还能正常运行的能力。健壮性有两层含义:容错能力恢复能力31314.3 边界值分析法边界值分析法健壮性测试的基本思想健壮性测试的基本思想健壮性测试是边界值分析的一种简单扩展,除了使用五个边界值分析取值,还要采用:

14、一个略超过最大值(max+)的取值一个略小于最小值(min-)的取值32324.3 边界值分析法边界值分析法X2两个变量函数的健壮性测试用例两个变量函数的健壮性测试用例33334.3 边界值分析法边界值分析法3.3.最坏情况测试最坏情况测试最坏情况测试的基本思想边界值测试分析采用了可靠性理论的单缺陷假设最坏情况测试拒绝这种假设,关心当多个变量取极值时会出现什么情况?34344.3 边界值分析法边界值分析法最坏情况测试用例设计方法最坏情况测试用例设计方法对每一个变量首先进行包含最小值、略高于最小值、正常值、略低于最大值、最大值五个元素集合的测试,然后对这些集合进行笛卡尔积计算,以生成测试用例。一

15、个变量个数为n的函数的最坏情况测试会产生5 5n n个测试用例。35354.3 边界值分析法边界值分析法两变量函数的最坏情况测试用例两变量函数的最坏情况测试用例X236364.3 边界值分析法边界值分析法边界值分析法的测试运用边界值分析法的测试运用 1.三角形问题的边界值分析测试用例设计 测试用例abc预期输出Test 1Test2Test3Test4Test560606050506060605050126099100等腰三角形等腰三角形等边三角形等腰三角形非三角形Test6Test7Test8Test960605050129910060605050等腰三角形等腰三角形等腰三角形非三角形Tes

16、t10Test11Test12Test1312991006060505060605050等腰三角形等腰三角形等腰三角形非三角形37374.3 边界值分析法边界值分析法2加法器边界值测试用例设计 加法器程序计算两个1100之间整数的和。对于加法器程序,根据输入要求可将输入空间划分为三个等价类,即1个有效等价类(1100之间),两个无效等价类(100)。但这种等价类划分不是很完善,我们只考虑了输入数据的取值范围,而没有考虑输入数据的类型,我们认为输入应为整数,但用户输入什么都有可能。38384.3 边界值分析法边界值分析法边界值分析法的测试运用边界值分析法的测试运用 为此,我们可综合考虑输入数据的

17、取值范围和类型划分等价类,其结果如下表所示。加法器等价类编号输入条件所属类别编号输入条件所属类别11100之间整数有效等价类5非数值(字母)无效等价类2100整数无效等价类7非数值(空格)无效等价类4小数无效等价类8非数值(空白)无效等价类39394.3 边界值分析法边界值分析法 加法器边界测试用例测试用例输入数据预期输出加数1加数2和Test115051Test 225052Test 39950149Test 410050150Test 550151Test 650252Test 75099149Test 850100150Test 9050提示“请输入1100间的整数”Test 10500

18、提示“请输入1100间的整数”Test1110150提示“请输入1100间的整数”Test1250101提示“请输入1100间的整数”Test130.250提示“请输入1100间的整数”40404.3 边界值分析法边界值分析法 加法器边界测试用例测试用例输入数据预期输出加数1加数2和Test14500.2提示“请输入1100间的整数”Test15A50提示“请输入1100间的整数”Test1650A提示“请输入1100间的整数”Test1750提示“请输入1100间的整数”Test1850提示“请输入1100间的整数”Test19空格50提示“请输入1100间的整数”Test2050空格提示“

19、请输入1100间的整数”Test2150提示“请输入1100间的整数”Test2250提示“请输入1100间的整数”41414.4决策表决策表1.1.决策表的原理决策表的原理决策表决策表(Decision TableDecision Table)是分析和表达多逻辑条件下执行不同操作的工具。在程序设计发展的初期,决策表被当作编写程序的辅助工具。42424.4决策表2.2.决策表的组成决策表的组成条件桩(Condition Stub)列出问题的所有条件动作桩(Action Stub)列出可能采取的操作条件项(Condition Entity)列出条件桩的取值动作项(Action Entity)列出

20、条件项各种取值下应该采取的动作43434.4决策表决策表的组成决策表的组成44444.4决策表规则规则任何一个条件组合的特定取值及其相应要执行的操作称为规则;在决策表中贯穿条件项和动作项的一列就是一条规则;决策表中列出多少组条件取值,也就有多少条规则,即条件项和动作项有多少列。45454.4决策表决策表决策表建立步骤决策表建立步骤确定规则的个数;假如有n个条件,每个条件有两个取值(0,1),则有2n n 种规则;列出所有的条件桩和动作桩;填入条件项;填入动作项,得到初始决策表;简化,合并相似规则(相同动作)。46464.4 4.4 决策表决策表规则合并规则合并规则合并就是决策表的简化。有两条或

21、多条规则具有相同的动作,并且其条件项之间存在着极为相似的关系,就可以将规则合并。47474.4.1决策表决策表(1 1)两条规则合并成一条)两条规则合并成一条条件项“”表示与取值无关。48484.4决策表决策表条件项“”在逻辑上包含其它的条件。(2 2)两条规则的进一步合并)两条规则的进一步合并49494.4 4.4 决策表决策表例:维修机器问题例:维修机器问题问题描述:“对于功率大于50马力的机器,并且维修记录不全或已运行10年以上的机器,应给予优先的维修处理”请建立决策表。50504.4 4.4 决策表决策表例:维修机器问题(续)例:维修机器问题(续)(1)列出所有的条件桩和动作桩条件桩C

22、1:功率大于50马力吗?C2:维修记录不全吗?C3:运行超过10年吗?动作桩A1:进行优先处理A2:作其他处理51514.4 4.4 决策表决策表例:维修机器问题(续)例:维修机器问题(续)(2)确定规则个数输入条件个数:3 3;每个条件的取值:“是”或“否”;规则个数:2*2*2=82*2*2=8;u 功率大于50马力吗u 维修记录不全吗u 运行超过10年吗52524.4 4.4 决策表决策表例:维修机器问题(续)例:维修机器问题(续)12345678条条件件功率大于50马力吗?YYYYNNNN维修记录不全吗?YYNNYYNN运行超过10年吗?YNYNYNYN动动作作进行优先处理作其他处理(

23、3)填入条件项;v利用集合的笛卡尔积计算条件项的取值53534.4 4.4 决策表决策表例:维修机器问题(续)例:维修机器问题(续)12345678条条件件功率大于50马力吗?YYYYNNNN维修记录不全吗?YYNNYYNN运行超过10年吗?YNYNYNYN动动作作进行优先处理 作其他处理 (4)填入动作项;v1,2合并,5,7合并,6,8合并54544.4 4.4 决策表决策表例:维修机器问题(续例:维修机器问题(续)(5)化简;(1)(2)(3)(4)(5)条条件件功率大于50马力吗?YYYNN维修记录不全吗?YNN运行超过10年吗?YNYN动动作作进行优先处理 作其他处理 55554.5

24、 4.5 因果图因果图1.1.因果图分析法因果图分析法前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系,相互组合等。考虑输入条件之间的相互组合,可能会产生一些新的情况。但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多。因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例。这就需要利用因果图(逻辑模型)。因果图分析法最终生成的是判定表,适合于检查程序输入条件的各种组合情况。56564.5 4.5 因果图因果图2.2.因果图的基本符号因果图的基本符号 恒等恒等c1e1

25、e1=1c1=1e1=0c1=0非非c1e1e1=0c1=1e1=1c1=057574.5 4.5 因果图因果图 或或c1e1c2c3e1=1c1=1 或 c2=1 或 c3=1否则e1=0与与e1c2e1=1c1=1且c2=1否则e1=0c158584.5 4.5 因果图因果图输入条件的约束输入条件的约束59594.5 4.5 因果图因果图输入条件的约束(续)输入条件的约束(续)60604.5 4.5 因果图因果图3.3.利用因果图设计测试用例利用因果图设计测试用例(1 1)分析程序规格说明的描述中,哪些是原因,哪些是结果原因常常是输入条件或是输入条件的等价类;结果是输出条件;(2 2)分析

26、软件规格说明的语义,并将其表示成连接各个原因与各个结果的“因果图”(3 3)在因果图上使用若干个特殊的符号标明约束条件(4 4)把因果图转换成判定表(5 5)把判定表中每一列表示的情况写成测试用例61614.5 4.5 因果图因果图举例:软件规格说明书举例:软件规格说明书第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改但如果第一列字符不正确,则给出信息L如果第二列字符不是数字,则给出信息M62624.5 4.5 因果图因果图原因和结果原因和结果原因 1-第一列字符是A;2-第一列字符是B;3-第二列字符是一数字结果 21-修改文件;22-给出信息L;23-给出信息M;

27、63634.5 4.5 因果图因果图具有约束的因果图具有约束的因果图11是中间节点;考虑到原因1和原因2不可能同时为1,因此在因果图上施加E约束13211232122E64644.5 4.5 因果图因果图根据因果图建立判定表根据因果图建立判定表图图12345678原因(条件)11111000021100110031010101011111100动作(结果)22000011211010002301010165654.5 4.5 因果图因果图把判定表的每一列拿出来作为依据,设计测试用例把判定表的每一列拿出来作为依据,设计测试用例12345678原因(条件)111110000211001100310

28、10101011111100动作(结果)220000112110100023010101测试用例A6AaB9BPC5HYA0AB1B*H4E%66664.6 4.6 正交实验设计方法正交实验设计方法利用因果图来设计测试用例时,作为输入条件的原因与输出结果之间的因果关系,有时很难从软件需求规格说明中得到。往往因果关系非常庞大,以至于据此因果图而得到的测试用例数目多的惊人,给软件测试带来沉重的负担,为了有效地,合理地减少测试的工时与费用,可利用正交实验设计方法进行测试用例的设计。正交实验设计方法:依据Galois理论,从大量的(实验)数据(测试例)中挑选适量的,有代表性的点(例),从而合理地安排实

29、验(测试)的一种科学实验设计方法.类似的方法有:聚类分析方法,因子方法方法等.6767利用正交实验设计测试用例的步骤利用正交实验设计测试用例的步骤(1)提取功能说明,构造因子-状态表把影响实验指标的条件称为因子.而影响实验因子的条件叫因子的状态.利用正交实验设计方法来设计测试用例时,首先要根据被测试软件的规格说明书找出影响其功能实现的操作对象和外部因素,把他们当作因子,而把各个因子的取值当作状态.对软件需求规格说明中的功能要求进行划分,把整体的概要性的功能要求进行层层分解与展开,分解成具体的有相对独立性的基本的功能要求.这样就可以把被测试软件中所有的因子都确定下来,并为确定个因子的权值提供参考

30、的依据.确定因子与状态是设计测试用例的关键.因此要求尽可能全面的正确的确定取值,以确保测试用例的设计作到完整与有效。(2)加权筛选,生成因素分析表对因子与状态的选择可按其重要程度分别加权.可根据各个因子及状态的作用大小,出现频率的大小以及测试的需要,确定权值的大小。(3)利用正交表构造测试数据集正交表的推导依据Galois理论(这里不再详细介绍,需要时可参考数理统计的教材)。68684.7 4.7 错误推测错误推测法法错误推测法是指人们可以依赖经验和直觉来推测程序之中可能存在的各种错误从而有针对性的设计测试用例的方法。错误推测方法的基本思想是列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据它们选择测试用例。例如:(1)在单元测试时曾列出的许多在模块中常见的错误、以前产品测试中曾经发现的错误等,这些就是经验的总结。(2)输入数据和输出数据为0的情况、输入表格为空格或输入表格只有一行等。这些都是容易发生错误的情况,可选择这些情况下的例子作为测试用例。项目案例项目案例69696969参见教材参见教材谢 谢

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 旅游攻略 > 广东广西

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报