《第2章 黑盒测试边界值分析法课件.ppt》由会员分享,可在线阅读,更多相关《第2章 黑盒测试边界值分析法课件.ppt(71页珍藏版)》请在三一办公上搜索。
1、2022/12/20,1,黑盒测试用例设计方法 -边界值分析方法,2022/12/20,2,2022/12/20,3,2022/12/20,4,边界值分析方法,1 概述人们从长期的测试工作经验得知,大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。,2022/12/20,5,边界值分析方法,比如,在做三角形计算时,要输入三角形的三个边长:A、B和C。 我们应注意到这三个数值应当满足 A0、B0、C0、 ABC、ACB、BCA,才能构成三角形。但如果把六个不等式中的任何一个大于号“”错写成大于等于号“”,那就不能构成三角形。问
2、题恰出现在容易被疏忽的边界附近。,2022/12/20,7,边界值分析方法,边界值分析方法也是一种黑盒测试方法测试用例主要来自于等价类的边界.边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。其测试用例来自等价类的边界。具有很强的发现程序错误的能力.,2022/12/20,8,边界值分析方法,边界值分析测试的基本原理:故障往往出现在输入变量的边界值附近.使用边界值分析方法设计测试用例,首先应确定边界情况. 通常输入和输出等价类的边界,就是应着重测试的边界情况.,2022/12/20,9,通常情况下,软件测试所包含的边界检验有几种类型: 数字、字符、位置、质量、大小、速度、方位、尺
3、寸、 空间等相应地,以上类型的边界值应该在: 最大/最小、首位/末位、上/下、最快/最慢、最高/最低、 最短/最长、 空/满等情况下,2022/12/20,10,举例 常见的边界值,对16-bit 的整数而言 32767 和 -32768 是边界屏幕上光标在最左上、最右下位置报表的第一行和最后一行数组元素的第一个和最后一个循环的第 0 次、第 1 次和倒数第 2 次、最后一次,2022/12/20,11,举例 利用边界值作为测试数据,2022/12/20,12,在多数情况下,边界值条件是基于应用程序的功能设计而需要考虑的因素,可以从软件的规格说明或常识中得到,也是最终用户可以很容易发现问题的。
4、然而,在测试用例设计过程中,某些边界值条件是不需要呈现给用户的,或者说用户是很难注意到的,但同时确实属于检验范畴内的边界条件,称为内部边界值条件或子边界值条件。,2022/12/20,13,边界值划分用例设计步骤,第一步,第二步,进行等价类划分,分析等价类,用边界值设计用例,2022/12/20,14,边界值分析方法,2边界值分析方法选择测试用例的原则 (1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据. 例如,如果程序的规格说明中规定:“重量在10公斤至50公斤范围内的邮件,其邮费计算公式为”。作为测试用例,我们应取10及50,还应
5、取10.01,49.99,9.99及50.01等。,2边界值分析方法选择测试用例的原则 (2)如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据.比如,一个输入文件应包括1255个记录,则测试用例可取1和255,还应取0及256等。,2022/12/20,16,边界值分析方法,(3)根据规格说明的每个输出条件,使用前面的原则(1). (4)根据规格说明的每个输出条件,应用前面的原则(2). 例如,某程序的规格说明要求计算出每月保险金扣除额为0至1165.25元,其测试用例可取0.00及1165.24、还可取一0.01及116526等。再如一程序属
6、于情报检索系统,要求每次最少显示1条、最多显示4条情报摘要,这时我们应考虑的测试用例包括1和4,还应包括0和5等。,(5)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例. (6)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例. (7)分析规格说明,找出其它可能的边界条件.,2022/12/20,18,内部边界值条件主要有下面几种:数值的边界值检验 字符的边界值检验其它边界值检验,2022/12/20,19,数值的边界值检验,计算机是基于二进制进行工作的,因此,软件的任何数值运算都有一定的范围限制。,计算
7、机数值运算的范围,2022/12/20,20,字符的边界值检验,在计算机软件中,字符也是很重要的表示元素,其中ASCII和Unicode是常见的编码方式。下表中列出了一些常用字符对应的ASCII码值。,2022/12/20,21,五、边界值法,下面举个例子让大家更深入地理解边界值法。 用户登录网上购物系统要购买某种商品,假设该商品剩余数量为100件,且用户只会输入整数,(如果没有这条说明,那还可能输入小数,字母,空格等)则用户只能购买1-100范围内的商品件数。使用边界值法设计测试用例,测试用户输入商品数量Q后,系统反应是否合乎标准。,2022/12/20,22,五、边界值法,提出边界时,一定
8、要测试邻近边界的合法数据,即测试最后一个可能合法的数据,以及刚刚超过边界的非常数据。越界测试通常简单地加1或者用最小的数减1。,2022/12/20,23,五、边界值法,我们可以考虑商品数量Q的输入区间:(1)Q100根据上面的分析可以设计六个用例:(1)Test Case 1:输入0,返回错误信息“您必须输入大于等于一个数量值”。(2)Test Case 2:输入1,页面正确运行。(3)Test Case 3:输入2,页面正确运行。,2022/12/20,24,五、边界值法,(4)Test Case 4:输入99,页面正确运行。(5)Test Case 5:输入100,页面正确运行。(6)T
9、est Case 6:输入101,返回错误信息“您所选购的商品数量仅剩100件”。 测试员可以将上面的信息填入用例设计表格中,形成标准的测试用例。,大宗购物折扣-需求,2022/12/20,29,边界值分析测试,3 边界值分析测试边界值分析是基于“单缺陷”假设:软件失效基本上是由单缺陷引起的,很少是由两个或者两个以上的故障引起的.在设计测试用例时,通常是使得其中一个变量的值取极值,其余变量的值取正常值.,2022/12/20,30,边界值分析测试,假设函数F有两个变量x1,x2,两个变量的取值范围:a x1b, cx2 d,2022/12/20,31,边界值分析测试,a,b,c,d,x2,x1
10、,2022/12/20,32,边界值分析测试,基于单缺陷假设,利用输入变量的最小值min,略大于最小值min+,正常值nom,略小于最大值max-,最大值max,来设计测试用例.,2022/12/20,33,边界值分析测试,a,b,c,d,x2,x1,2022/12/20,34,边界值分析测试,;,;,;,2022/12/20,35,边界值分析测试,对于一个含有n个变量的程序,只让其中一个变量取极值,让其余的变量取正常值,被保留的变量依次取min、min+、nom、max-、max值,对每个变量都重复进行。这样,对于一个有n个变量的程序,边界值分析测试程序会产生4n+1个测试用例。,2022/
11、12/20,36,三角形问题的边界值分析测试用例设计,三角形问题:要求三角形的三条边a,b,c都在1到100之内,2022/12/20,37,三角形问题的边界值分析测试用例设计,2022/12/20,38,2022/12/20,39,NextDate函数的边界值分析测试用例,2022/12/20,40,NextDate函数的边界值分析测试用例,2022/12/20,41,边界值分析的特点,对于一个n变量函数,边界值分析会产生4n1个测试用例。边界值的取值取决于变量本身的性质。边界值分析对布尔变量没有什么意义。边界值分析假设变量是完全独立的。,2022/12/20,42,健壮性测试,4 边界值分
12、析的健壮性测试边界值分析的扩展除了考虑5个边界值外,还需要考虑采用一个略超过最大值max+以及略小于最小值min-的取值。即:检查超过极限值的情况。,2022/12/20,43,健壮性测试,a,b,c,d,x2,x1,2022/12/20,44,健壮性测试,健壮性测试的主要价值是:观察例外处理情况。,2022/12/20,45,三角形问题的健壮性测试用例设计,考虑 max+,max,max-,nom,min+, min, min-。,2022/12/20,46,NextDate函数的健壮性测试用例设计,2022/12/20,47,NextDate函数的健壮性测试用例设计,2022/12/20,
13、48,最坏情况测试,3.5 最坏情况测试边界值分析采用可靠性理论中的单缺陷假设,如果不考虑这种假设,那么,应该关心当多个变量取极值时会出现什么情况。,2022/12/20,49,最坏情况测试,使用这种思想生成最坏情况的测试用例, 首先对每个变量进行包含最小值min,略高于最小值min+,正常值nom,略低于最大值max-和最大值max五个元素集合的测试, 然后对这些集合进行笛卡儿积计算,以生成测试用例。,2022/12/20,50,最坏情况测试,2022/12/20,51,最坏情况测试,最坏情况测试比边界值分析测试以及健壮性测试要彻底,边界值分析测试用例是最坏情况测试用例的真子集。N变量函数的
14、最坏情况测试,会产生5n个测试用例,而边界值分析只产生4n+1个测试用例,2022/12/20,52,健壮最坏情况测试,首先对每个变量进行包含略小于最小值min-,最小值min,略高于最小值min+,正常值nom,略低于最大值max-,最大值max,和略大于最大值max+,七个元素集合的测试, 然后对这些集合进行笛卡儿积计算,以生成测试用例。,2022/12/20,53,健壮最坏情况测试,2022/12/20,54,练习题,某人事管理系统在加入一个人的信息时,输入的信息包括:姓名、性别、籍贯、出生日期、学历、身高、德才表现等。采用边界值测试技术设计测试用例进行测试。假设在软件的规格说明中,规定
15、:姓名最长20个字符,性别为1个字符,籍贯最长为20个字符,出生日期要求年份4位,月份小于等于12,日期小于等于31,学历最长2个字符,身高3位数,德才表现最长2000个字符。,2022/12/20,55,2022/12/20,56,找零钱最佳组合,假设商店货品价格(R)皆不大于100元(且为整数),若顾客付款在100元内(P),求找给顾客之最少货币个(张)数?( 货 币 面 值 50 元 (N50) , 10 元 (N10) , 5 元 (N5) , 1 元 (N1) 四 种 )正确功能:找零的组合为1/5/10/50面值组合的最小个(张)数找零数额RP=P-R假设计算正确 结合等价类划分和
16、边界值分析设计测试用例,一、 分 析 输 入 的 情 形 。R 1000 100R= P = 100P R,二、 分 析 输 出 情 形 。N50 = 1N50 = 04 N10 = 1N10 = 0N5 = 1N5 = 04 N1 = 1N1 = 0,三、 分 析 规 格 中 每 一 决 策 点 之 情 形 , 以 RR1, RR2, RR3 表 示 计 算 要 找 50, 10, 5 元 货 币 数 时 之 剩 余 金 额 。 R 100R 100P = 50RR2 = 10RR3 = 5,四、 由 上 述 之 输 入 输 出 条 件 组 合 出 可 能 的 情 形 。R 100R 100
17、0 R = 100, P R0 R = 100, R = P = 100, RR = 500 R = 100, R = P = 100, RR = 490 R = 100, R = P = 100, RR = 100 R = 100, R = P = 100, RR = 90 R = 100, R = P = 100, RR = 50 R = 100, R = P = 100, RR = 40 R = 100, R = P = 100, RR = 10 R = 100, R = P = 100, RR = 0,五、 为 满 足 以 上 之 各 种 情 形 , 测 试 资 料 设 计 如 下 :
18、1. 货品价格 = 1012. 货品价格 = 03.货品价格 = -14. 货品价格 = 100, 付款金额 = 1015. 货品价格 = 100, 付款金额 = 996. 货品价格 = 50, 付款金额 = 1007. 货品价格 = 51, 付款金额 = 1008. 货品价格 = 90, 付款金额 = 1009. 货品价格 = 91, 付款金额 = 10010. 货品价格 = 95, 付款金额 = 10011. 货品价格 = 96, 付款金额 = 10012. 货品价格 = 99, 付款金额 = 10013. 货品价格 = 100, 付款金额 = 100,62,边界值分析法 - 举例,例题:
19、现有一个学生标准化考试批阅试卷,产生成绩报告的程序。其规格说明如下:程序的输入文件由一些有80个字符的记录组成,如右图所示,所有记录分为3组:,63,边界值分析法 - 举例, 标题:这一组只有一个记录,其内容为输出成绩报告的名字。,64,边界值分析法 - 举例,试卷各题标准答案记录: 每个记录均在第80个字符处标以数字“2”。该组的第一个记录的第1至第3个字符为题目编号(取值为1一999)。第10至第59个字符给出第1至第50题的答案(每个合法字符表示一个答案)。该组的第2,第3个记录相应为第51至第100,第101至第150,题的答案。,65,边界值分析法 - 举例,每个学生的答卷描述:该组
20、中每个记录的第80个字符均为数字“3”。每个学生的答卷在若干个记录中给出。如甲的首记录第1至第9字符给出学生姓名及学号,第10至第59字符列出的是甲所做的第1至第50题的答案。若试题数超过50,则第2,第3纪录分别给出他的第51至第100,第101至第150题的解答。然后是学生乙的答卷记录。,学生人数不超过200,试题数不超过999。,66,边界值分析法 - 举例,程序的输出有4个报告:a)按学号排列的成绩单,列出每个学生的成绩、名次。b)按学生成绩排序的成绩单。c)平均分数及标准偏差的报告。d)试题分析报告。按试题号排序,列出各题学生答对的百分比。 解答:分别考虑输入条件和输出条件,以及边界条件。给出下表所示的输入条件及相应的测试用例。,67,边界值分析法 - 举例,68,边界值分析法 - 举例,69,边界值分析法 - 举例,右表为输出条件及相应的测试用例表。,2022/12/20,71,小结,边界值分析测试边界值分析的健壮性测试最坏情况测试健壮最坏情况测试,