黑盒测试及白盒测试的区别ppt课件.ppt

上传人:牧羊曲112 文档编号:2135048 上传时间:2023-01-16 格式:PPT 页数:52 大小:1MB
返回 下载 相关 举报
黑盒测试及白盒测试的区别ppt课件.ppt_第1页
第1页 / 共52页
黑盒测试及白盒测试的区别ppt课件.ppt_第2页
第2页 / 共52页
黑盒测试及白盒测试的区别ppt课件.ppt_第3页
第3页 / 共52页
黑盒测试及白盒测试的区别ppt课件.ppt_第4页
第4页 / 共52页
黑盒测试及白盒测试的区别ppt课件.ppt_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《黑盒测试及白盒测试的区别ppt课件.ppt》由会员分享,可在线阅读,更多相关《黑盒测试及白盒测试的区别ppt课件.ppt(52页珍藏版)》请在三一办公上搜索。

1、测试方法类白盒测试,白盒测试这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。,测试方法类白盒测试,白盒测试主要是想对程序模块进行如下检查:对程序模块的所有独立的执行路径至少测试一遍。对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。在循环的边界和运行的界限内执行循环体。测试内部数据结构的有效性。,3,白盒法,白盒测试测试用例一般采用逻辑覆盖法进行设计。,语句覆盖,判定覆盖,条件覆盖,判定条件覆盖

2、,条件组合覆盖,弱,强,软件测试方法,路径覆盖,4,白盒法,常用的覆盖标准语句覆盖:选择足够的测试用例,使得程序中每个语句至少都能被执行一次。判定覆盖:执行足够的测试用例,使得程序中每个判定至少都获得一次“真”值和“假”值。条件覆盖:执行足够的测试用例,使得所有判定中的每个条件至少都获得一次“真”值和“假”值。,5,白盒法,常用的覆盖标准判定/条件覆盖:执行足够的测试用例,使得判定中每个条件取到各种可能的值,并使每个判定取到各种可能的结果。条件组合覆盖:执行足够的例子,使得每个判定中条件的各种可能组合都至少出现一次。路径覆盖:路径覆盖是相当强的逻辑覆盖,它保证程序中每条可能的路径都至少执行一次

3、。,6,白盒法步骤:,选择逻辑覆盖标准。按照覆盖标准列出所有情况。选择确定测试用例。验证分析运行结果与预期结果。,7,白盒法举例,Procedure(VAR A,B,X:REAL);BEGIN IF(A1)AND(B=0)THEN X:=X/A;IF(A=2)OR(X1)THEN X:=X+1 END;,8,1、语句覆盖,使得程序中每个语句至少都能被执行一次。,满足语句覆盖的情况:执行路径:sacbed,选择用例:(2,0,4),(2,0,3),用例格式:输入(A,B,X),输出(A,B,X),9,2、判定覆盖,使得程序中每个判定至少为TRUE和FALSE各一次。,覆盖情况:应执行路径sabd

4、 sacbed 或:sacbd sabed,选择用例(其一):(2,0,4),(2,0,3)sacbed(1,1,1),(1,1,1)sabd(2,1,1),(2,1,2)sabed(3,0,3),(3,1,1)sacbd,10,3、条件覆盖,使判定中的每个条件至少都获得一次“真”值和“假”值。,应满足以下覆盖情况:判定一:A1 A1 B=0 B0判定二:A=2 A2 X1 X1,选择用例:(2,0,4),(2,0,3)(1,1,1),(1,1,1),2,A1,A2,0,B=0,4,X1,1,A1,A=2,1,B0,1,X1,s,11,4、判定/条件覆盖,同时满足判定覆盖和条件覆盖。,应满足以

5、下覆盖情况:条件:A1,A1,B=0,B0 A=2,A2,X1,X1 应执行路径sacbed sabd,选择用例:(2,0,4),(2,0,3)(sacbed)(1,1,1),(1,1,1)(sabd),5、条件组合覆盖,使得每个判定中条件的各种“真”“假”可能组合都至少出现一次,编译系统下的执行情况:部分路径未被执行。,满足以下覆盖情况:A1,B=0 A1,B0 A1,B=0 A1,B0 A=2,X1 A=2,X1 A2,X1 A2,X1,选择用例:(2,0,4),(2,0,3)(2,1,1),(2,1,2)(1,0,3),(1,0,4)(1,1,1),(1,1,1),13,6、路径覆盖法,

6、每条可能的路径都至少执行一次,14,例题:三角形问题,输入三整数,判断是否构成三角形,如构成三角形,则输出三条边的值,否则输出“不能构成三角形”。要求:2、设计路径覆盖的测试用例。,15,解法1:,覆盖路径:1 2,16,解法2:,覆盖路径:测试用例1(3,4,5)2(2,2,5)3(2,5,2)4(5,2,2),17,解法2:路径覆盖法测试用例设计,18,基本路径测试,1、画出流程图,19,基本路径测试,2、简化流程图,20,基本路径测试,3、计算环路复杂度环路复杂度(Cyclomatic complexity):代码逻辑复杂度的 度量。用V(G)表示。通过V(G)确定基本路径数。V(G)=

7、区域数量(由节点、连线包围的区域,包括图形外部区域)V(G)=连线数量-节点数量+2V(G)=简单可预测节点数量+1,V(G)=4,Region 4,基本路径测试,22,基本路径测试,3、确定基本路径集合基本路径集合:由独立路径构成的集合由基本路劲集合导出的测试用例,保证被测程序的每条可执行语句至少被执行一次。基本集合不一定唯一,23,Path1:1-2-3-6-7-9-10-1-11,示例:基本路径测试用例,Path2:1-2-3-6-8-9-10-1-11,Path3:1-2-3-4-5-10-1-11,Path4:1-11,还有其它路径集合吗?,24,基本路径测试:练习,Path1:A-

8、C-E,Path2:A-B-C-E,Path3:A-B-C-D-E,V(G)=?,还有其它路径集合吗?,3,测试方法类黑盒测试,黑盒测试这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。主要应用于快速开发环境。,测试方法类黑盒测试,黑盒测试主要是为了发现以下几类错误:是否有不正确或遗漏的功能?在接口上,输入是否能正确的接受?能否输出正确的结果?是否有数据结构错误或外部信息(例如数据文件)访问错误?性能上是否能够满足要求?是否有初始化或终止性错误?,27,等价

9、分类法,边值分析法,错误推测法,因果图法,黑盒法,不考虑程序的内部结构与特性,只根据程序功能或程序的外部特性设计测试用例。,判定表法,1、等价分类法,基本思想根据程序的I/O特性,将程序的定义域划分为有限个等价区段“等价类”,从等价类中选择出的用例,具有“代表性”。等价类分为:有效等价类 对于程序的规格说明是合理的、有意义的输入数据构成的集合。无效等价类 对于程序的规格说明,是不合理的,是没有意义的输入数据构成的集合。,等价分类法步骤,划分等价类应按照输入条件(如输入值的范围,值的个数,值的集合,输入条件必须如何)划分为有效等价类和无效等价类。例如:每个学生可选修1-3门课程可以划分一个有效等

10、价类:选修1-3门课程。可以划分两个无效等价类:未选修课,选修课超过3门。标识符的第一个字符必须是字母。可以划分为一个有效等价类:第一个字符是字母。可以划分一个无效等价类:第一个字符不是字母。选择测试用例A、为每个等价类编号;B、使一个测试用例尽可能覆盖多个有效等价类C、特别要注意的是:一个测试用例只能覆盖一个无效等价类。,等价类划分法以输入域划分等价类,NextDate 函数包含三个变量:month(月份)、day(日期)和 year(年),函数的输出为输入日期后一天的日期。例如,输入为 2007年9月 9日,则函数的输出为 2007年9月10日。要求输入变量 month、day 和 yea

11、r 均为整数值,并且满足下列条件:(1)1month12(2)1day31(3)1912year2050此函数的主要特点是输入变量之间的逻辑关系比较复杂。复杂性的来源有两个:一个是输入域的复杂性,另一个是指闰年的规则。例如变量year和变量month取不同的值,对应的变量day会有不同的取值范围,day值的范围可能是130或131,也可能是128或129。,等价类划分法以输入域划分等价类,(1)简单等价类划分测试NextDate函数有效等价类简单等价类划分测试NextDate函数可以划分以下三种有效等价类:M1month:1month12D1day:1day31Y1year:1912year2

12、050无效等价类若条件(1)(3)中任何一个条件无效,那么NextDate 函数都会产生一个输出,指明相应的变量超出取值范围,例如month 的值不在 112 范围当中。,等价类划分法以输入域划分等价类,显然还存在着大量的 year、month、day 的无效组合,NextDate 函数将这些组合统一输出为:“无效输入日期”。其无效等价类为:M2month:month12D2day:day31Y2year:year2050,等价类划分法以输入域划分等价类,一般等价类测试用例如表所示。NextDate函数的一般等价类测试用例,等价类划分法以输入域划分等价类,健壮等价类测试中包含弱健壮等价类测试和

13、强健壮等价类测试弱健壮等价类测试弱健壮等价类测试中的有效测试用例使用每个有效等价类中的一个值。弱健壮等价类测试中的无效测试用例则只包含一个无效值,其他都是有效值,即含有单缺陷假设。如表所示。,等价类划分法以输入域划分等价类,强健壮等价类测试强健壮等价类测试考虑了更多的无效值情况。强健壮等价类测试中的无效测试用例可以包含多个无效值,即含有多个缺陷假设。因为NextDate函数有三个变量,所以对应的强健壮等价类测试用例可以包含一个无效值,两个无效值或三个无效值。,(2)改进等价类划分测试NextDate函数在简单等价类划分测试NextDate函数中,没有考虑2月份的天数问题,也没有考虑闰年的问题,

14、月份只包含了30天和31天两种情况。在改进等价类划分测试NextDate函数中,要考虑2月份天数的问题。关于每个月份的天数问题,可以详细划分为以下等价类:M1month:month有30天 M2month:month有31天,除去12月M3month:month是2月M4month:month是12月D1day:1day27D2day:day28D3day:day29D4day:day30D5day:day31Y1year:year是闰年Y2year:year不是闰年,等价类划分法以输入域划分等价类,等价类划分法以输入域划分等价类,改进等价类划分测试NextDate函数表所示。,返回,38,2

15、、边值分析法,基本思想选择等价类的边缘值作为测试用例,让每个等价类的边界都得到测试,选择测试用例既考虑输入亦考虑输出。分析步骤:A、先划分等价类。B、选择测试用例,测试等价类边界。边界选择原则:A、按照输入值范围的边界。B、按照输入/输出值个数的边界。C、输出值域的边界。D、输入/输出有序集的边界,边界值分析法,边界值分析法设计测试用例在NextDate函数中,规定了变量month、day、year的相应取值范围。在上面等价类法设计测试用例中已经提过,具体如下:M1month:1month12D1day:1day31Y1year:1912year2050,边界值分析法,返回,41,决策表,在一

16、些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执行不同的操作。决策表(也称判定表),最适合描述在多逻辑条件取值的组合所构成的复杂情况下,分别执行哪些不同的动作。,42,规则,选项,“阅读指南”决策表,43,决策表的组成,决策表通常由以下4部分组成:条件桩左上部分,列出各种可能的单个条件动作桩左下部分,列出可能采取的单个动作条件项右上部分,针对各种条件给出多组条件取值的组合动作项右下部分,指出在条件项的各组取值情况下应采取的动作,将任何一个条件组合的特定取值及相应要执行的动作称为一条规则。在决策表中贯穿条件项和动作项的一列就是一条规则。,44,决策

17、表分类,有限条目决策表所有条件都是二元条件的决策表。扩展条目决策表若条件可以有多个值,则对应的决策表称扩展条目决策表。,45,决策表的生成,构造决策表的5个步骤:(1)确定规则的个数。有n个条件的决策表有2n个规则(每个条件取真、假值)。(2)列出所有的条件桩和动作桩。(3)填入条件项。(4)填入动作项,得到初始决策表。(5)简化决策表,合并相似规则。若表中有两条以上规则具有相同的动作,并且在条件项之间存在极为相似的关系,便可以合并。合并后的条件项用符号“-”表示,说明执行的动作与该条件的取值无关,称为无关条件。,决策表法,NextDate函数的决策表测试用例设计:NextDate函数中包含了

18、定义域各个变量之间的依赖问题。等价类划分法和边界值分析法只能“独立地”选取各个输入值,不能体现出多个变量的依赖关系。决策表法则是根据变量间的逻辑依赖关系设计测试输入数据,排除不可能的数据组合,很好地解决了定义域的依赖问题。NextDate函数求解给定某个日期的下一个日期的可能操作(动作桩)如下:变量day加1操作;变量day复位操作;变量month加1操作;变量month复位操作;变量year加1操作。,决策表法,根据上述动作桩发现NextDate函数的求解关键是日和月的问题,通常可以在下面等价类(条件桩)的基础上建立决策表:M1month:month有30天 M2month:month有31

19、天,12月除外M3month:month是12月M4month:month是2月D1day:1day27D2day:day28D3day:day29D4day:day30D5day:day31Y1year:year是闰年Y2year:year不是闰年,决策表法,输入变量间存在大量逻辑关系的NextDate函数决策表如后表所示。决策表共有22条规则:第15条规则解决有30天的月份;第610条规则解决有31天的月份(除12月份以外);第1115条规则解决12月份;第1622条规则解决2月份和闰年的问题。不可能规则也在决策表中列出,比如第5条规则中在有30天的月份中也考虑了31日。,决策表法,决策表法,决策表法,简化的NextDate函数决策表,决策表法,根据简化的决策表,可设计如下表所示的测试用例。NextDate函数的测试用例组,返回,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号