白盒测试、黑盒测试

上传人:j****9 文档编号:57573962 上传时间:2018-10-23 格式:PPT 页数:67 大小:4.30MB
返回 下载 相关 举报
白盒测试、黑盒测试_第1页
第1页 / 共67页
白盒测试、黑盒测试_第2页
第2页 / 共67页
白盒测试、黑盒测试_第3页
第3页 / 共67页
白盒测试、黑盒测试_第4页
第4页 / 共67页
白盒测试、黑盒测试_第5页
第5页 / 共67页
点击查看更多>>
资源描述

《白盒测试、黑盒测试》由会员分享,可在线阅读,更多相关《白盒测试、黑盒测试(67页珍藏版)》请在金锄头文库上搜索。

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

2、覆盖:执行足够的例子,使得每个判定中条件的各种可能组合都至少出现一次。 路径覆盖:路径覆盖是相当强的逻辑覆盖,它保证程序中每条可能的路径都至少执行一次。,白盒法常用的覆盖标准,软件测试方法,4,白盒法步骤:,1)选择逻辑覆盖标准。 2)按照覆盖标准列出所有情况。 3)选择确定测试用例。 4)验证分析运行结果与预期结果。,5,白盒法举例,Procedure (VAR A,B,X:REAL);BEGINIF(A1) AND (B=0) THEN X:=X/A ;IF (A=2) OR (X1) THEN X:=X+1END;,6,1、语句覆盖,使得程序中每个语句至少都能被执行一次。,A1 AND

3、B=0,X:=X/A,A=2 OR X1,X:=X+1,a,b,c,d,e,满足语句覆盖的情况:执行路径:sacbed,选择用例: (2,0,4),(2,0,3),用例格式: 输入(A,B,X),输出(A,B,X),Y,N,Y,N,开始,结束,s,7,2、判定覆盖,使得程序中每个判定至少为TRUE和FALSE各一次。,覆盖情况:应执行路径 sabd 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,A1 AND

4、 B=0,X:=X/A,A=2 OR X1,X:=X+1,a,b,c,d,e,Y,N,Y,N,开始,结束,s,8,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,A1 AND B=0,X:=X/A,A=2 OR X1,X:=X+1,a,b,c,d,e,Y,N,Y,N,开始,结束,s,9,4、判定/条件覆盖,同时满足判定覆盖

5、和 条件覆盖。,应满足以下覆盖情况:条件: A1, A1, B=0, B0A=2, A2, X1, X1应执行路径 sacbed sabd,选择用例:(2,0,4),(2,0,3)(sacbed )(1,1,1),(1,1,1) (sabd),A1 AND B=0,X:=X/A,A=2 OR X1,X:=X+1,a,b,c,d,e,Y,N,Y,N,开始,结束,s,10,5、条件组合覆盖,使得每个判定中条件的各种“真”“假”可能组合都至少出现一次,A1,X:=X/A,A=2,X:=X+1,a,b,c,d,e,B=0,X1,Y,N,Y,N,Y,N,Y,N,编译系统下的执行情况: 部分路径未被执行。

6、,满足以下覆盖情况: 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),c,结束, , , , ,11,6、路径覆盖法,A1 AND B=0,X:=X/A,A=2 OR X1,X:=X+1,a,b,c,d,e,Y,N,Y,N,开始,结束,s,每条可能的路径都至少执行一次,12,例题:三角形问题,输入三整数,判断是否构成三角形,如构成三角形,则输出三条边的值,否则输出“不能构成三角形”

7、。要求:1、用程序流程图表示该问题的算法; 2、设计路径覆盖的测试用例。,13,解法1:,覆盖路径:12,14,解法2:,覆盖路径: 测试用例 1 (3,4,5) 2 (2,2,5) 3 (2,5,2) 4 (5,2,2),15,解法2:路径覆盖法测试用例设计,16,思考,解法1与解法2有何不同?哪一种设计得更合理?,17,基本路径测试,1,画出流程图,18,基本路径测试,1,2,3,4,5,10,11,2,简化流程图,19,V(G) = 区域数量(由节点、连线包围的区域,包括图形外部区域)V(G) = 连线数量 - 节点数量 + 2V(G) = 简单可预测节点数量 + 1,环路复杂度(Cyc

8、lomatic complexity):代码逻辑复杂度的 度量。用V(G) 表示。通过V(G) 确定基本路径数。,基本路径测试,3,计算环路复杂度,20,V(G)=4,Region 4,基本路径测试,21,基本路径集合: 由独立路径构成的集合由基本路劲集合导出的测试用例,保证被测程序的每条可执行语句至少被执行一次。 基本集合不一定唯一,基本路径测试,3,确定基本路径集合,22,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,还有其它路径集

9、合吗?,23,基本路径测试:练习,A,E,C,D,B,Path1: A-C-E,Path2: A-B-C-E,Path3: A-B-C-D-E,V(G)= ?,还有其它路径集合吗?,3,另外两组路径集合?,24,等 价 分 类 法,边 值 分 析 法,错 误 推 测 法,因 果 图 法,不考虑程序的内部结构与特性,只根据程序功能或程序的外部特性设计测试用例。,黑盒法,判 定 表 法,25,1、等价分类法,基本思想:根据程序的I/O特性,将程序的定义域划分为有限个等价区段 “等价类”,从等价类中选择出的用例,具有“代表性”。,等价类分为: 有效等价类 对于程序的规格说明是合理的、有意义的输入数据

10、构成的集合。 无效等价类 对于程序的规格说明,是不合理的,是没有意义的输入数据构成的集合。,26,等价分类法步骤,显然,关键是 如何划分等价类,应按照输入条件(如输入值的范围,值的个数,值的集合,输入条件必须如何)划分为有效等价类和无效等价类。 例如:每个学生可选修1-3门课程可以划分一个有效等价类:选修1-3门课程。可以划分两个无效等价类:未选修课,选修课超过3门。 又如:标识符的第一个字符必须是字母。可以划分为一个有效等价类:第一个字符是字母。可以划分一个无效等价类:第一个字符不是字母。,A、为每个等价类编号; B、使一个测试用例尽可能覆盖多个有效等价类 C、特别要注意的是:一个测试用例只

11、能覆盖一个无效等价类。,划分等价类,选择测试用例,27,2、边值分析法,基本思想: 选择等价类的边缘值作为测试用例,让每个等价类的边界都得到测试,选择测试用例既考虑输入亦考虑输出。,分析步骤: A、先划分等价类。B、选择测试用例,测试等价类边界。,边界选择原则: A、按照输入值范围的边界。B、按照输入/输出值个数的边界。C、输出值域的边界。D、输入/输出有序集的边界。,28,A、按照输入值范围的边界。例如:输入值的范围是-1.0至1.0,则可选择用例 1.0、1.0、-1.001、1.001。B、按照输入/输出值个数的边界。例如:输入文件可有1-255个记录,则 设计用例:文件的记录数为 0个

12、、1个、255个、256个。C、输出值域的边界。例如:检索文献摘要,最多4篇。设计用例:可检索0篇、1篇、4篇,和5篇(错误)。D、输入/输出有序集(如顺序文件、线性表)的边界。应选择第一个元素和最后一个元素。,边值分析法举例,29,等价类划分法举例,等价分类法步骤,程序功能说明书指出,某程序的输入条件为:每个学生可以选修1至3门课程,试用黑盒法设计测试用例。 (1)按等价分类法设计测试用例(要求列出设计过程) (2)按边缘值分析法设计测试用例。,30,黑盒测试举例,等价分类法步骤,答:等价类法 (1)列出等价类表,设输入选修课数目为X:,(2)设计测试用例: 测试用例1: 输入X=2,覆盖等

13、价类(1) 测试用例2: 输入X=5,覆盖等价类(2) 测试用例3: 输入X=0,覆盖等价类(3)边界值法:X=0,X=1,X=3,X=4,31,例: 某报表处理系统要求用户输入处理报表的日期,日期限制在2003年1月至2008年12月,即系统只能对该段期间内的报表进行处理,如日期不在此范围内,则显示输入错误信息。 系统日期规定由年、月的6位数字字符组成,前四位代表年,后两位代表月。 如何用等价类划分法设计测试用例,来测试程序的日期检查功能?,用等价类划分法设计测试用例,32,第一步:等价类划分,“报表日期”输入条件的等价类表,33,第二步:为有效等价类设计测试用例,对表中编号为1,2,3的3

14、个有效等价类用一个测试用例覆盖:,(1) 6位数字字符 (2) 年在20032008之间 (3) 月在112之间,34,第三步:为每一个无效等价类 至少设计一个测试用例,本例的10个等价类至 少需要8个测试用例,35,习题,某城市电话号码由三部分组成,分别是:地区码 空白或三位数字;前 缀 非0且非1开头的三位数字;后 缀 4位数字。假定被测程序能接受一切符合上述规定的电话号码, 拒绝所有不符合规定的电话号码。要求: (1)请选择适当的黑盒测试方法,写出选择该方法的原因,并使用该方法的步骤,给出测试用例表。 (2)如果所生成的测试用例不够全面,请考虑用别的测试方法生成一些补充的测试用例。,36

15、,3,4,1 2,5 6 7,8 9 10 11 12,13 14 15,等价类划分法,37,38,习题:三角形问题,一个程序输入三个数a、b、c,分别作为三角形的三条边,现通过程序判断由三条边构成的三角形的类型为等边三角形、等腰三角形、一般三角形(特殊的还有直角三角形),以及是否构成三角形。问题:设三角形3条边分别为a、b、c。试用等价分类法设计测试用例,写出设计过程。,39,在多数情况下,是从输入域划分等价类的,但并非不能从被测程序的输出域反过来定义等价类,事实上,这对于三角形问题却是最简单的划分方法。 在三角形问题中,有四种可能的输出:等边三角形、等腰三角形、一般三角形和非三角形。利用这些信息能够确定下列输出(值域)等价类。R1 = : 边为a,b,c的等边三角形 R2 = : 边为a,b,c的等腰三角形 R3 = : 边为a,b,c的一般三角形 R4 = : 边为a,b,c不能组成三角形 ,

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

当前位置:首页 > 中学教育 > 初中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号