第3章(2)黑盒测试方法2-边界值分析法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
边界值分析法的原则
Logo
• 2)如果输入条件规定了值的个数,则用最大 个数,最小个数,比最小个数少一,比最大个 数多一的数作为测试数据。
• 比如,一个输入文件应包括1~255个记录, 则测试用例可取1和255,还应取0及256等。
边界值分析法的原则
•
Logo
3)将规则1)和2)应用于输出条件,即设计测试 用例使输出值达到边界值及其左右的值。
• 边界值分析测试的一种扩展,除了取5个边 界值外,还需要考虑采用一个略超过最大 值(max+)及略小于最小值(min-)的取值, 检查超过极限值时系统的情况 • 健壮性测试最有意义的部分不是输入,而 是预期的输出
健壮性测试
Logo
• 对于一个含有n个变量的程序,保留其中一 个变量,让其余的变量取正常值,被保留 的变量依次取min、min+、min-,nom、max-、 max, max+值,对每个变量都重复进行。这 样,对于一个有n个变量的程序,边界值分 析测试程序会产生6n+1个测试用例。
Logo
为什么使用边界值分析法?
• 无数的测试实践表明,大量的故障往往发 生在输入定义域或输出值域的边界上,而 不是在其内部。因此,针对各种边界情况 设计测试用例,通常会取得很好的测试效 果。 • 例如,一个循环条件为“≤”时,却错写 成“<”;计数器发生少计数一次。
边界值分析测试的基本思想
Logo
(1)首先确定边界情况。通常输入或输出等 价类的边界就是应该着重测试的边界情况。 (2)选取正好等于、刚刚大于或刚刚小于边 界的值作为测试数据,而不是选取等价类 中的典型值或任意值。
边界值分析法设计测试用例
Logo
假设有两个变量x和y的程序,x、y在下列范 围内取值:a≤x≤b c≤y≤d 区间[a,b]和[c,d]是x、y的值域,程序F的输 入定义域图所示,即带阴影矩形中的任何 点都是程序F的有效输入。
month
-1 1 2 11 12 14
day
15 15 15 15 15 15
year
2001 2001 2001 2001 2001 2001
预期输出
month超出[1,12] 2001.1.16 2001.2.16 2001.11.16 2001.12.16 month超出[1,12]
常见的边界值
最坏情况测试
Logo
• 使用这种思想生成最坏情况的测试用 例, 首先对每个变量进行包含最小值min, 略高于最小值min+,正常值nom,略低 于最大值max-和最大值max五个元素集 合的测试, 然后对这些集合进行笛卡儿积计算, 以生成测试用例。
最坏情况测试
x1
Logo
d
c a b x2
最坏情况测试
Logo
Y
c
d a b
X
有两个输入变量的程序F的健壮性测试用例
Logo
有两个输入变量的程序F的边界值分析 (弱健Hale Waihona Puke Baidu性测试)测试用例:
<xnom,ymin>; <xnom,ymin->; <xnom,ymin+>; <xnom,ymax>; <xnom,ymax->; <xnom,ymax+>
<xnom,ynom>;
健壮最坏情况测试
x1 d
Logo
c
a
b
x2
习题:
Logo
• 找零钱最佳组合 • 假设商店货品价格(R) 都不大于100元 (且为整数),若顾客付款(P)在100元内,现有 一个程序能在每位顾客付款后给出找零钱的最佳 组合(找给顾客货币张数最少)。 假定此商店的 货币面值只包括:50元(N50)、10元(N10)、 5元 (N5)、1元(N1) 四种。 • 请结合等价类划分法和边界值分析法 为上述程序设计 出相应的测试用例。
软件测试
第3章 黑盒测试方法
——边界值分析法
目 录
1 2 3 4 5 复习 边界值分析法概要 为什么使用边界值分析法 边界值分析法的思想 边界值分析法设计测试用例
Logo
第一部分:复习
弱一般等价类测试
Logo
强一般等价类测试 等价类划分法
弱健壮等价类测试
强健壮等价类测试
划分法
特点
Logo
弱一般等价类测试 不考虑无效等价类,选取的测试用 例只需覆盖到有效等价类。 强一般等价类测试 不考虑无效等价类,选取测试用例 时,要根据等价类笛卡儿积,各有 效区间的组合都要覆盖到
弱健壮等价类测试 基于单缺陷假设,考虑无效等价类, 选取的测试用例要覆盖每一个有效 等价类和无效等价类,但时不能同 时覆盖两个无效等价类。 强健壮等价类测试 每个无效等价类和有效等价类的组 合都要覆盖到,考虑所有的有效和 无效情况。
Logo
边界值分析法概要
• 边界值分析法就是 对输入或输出的边界值 进行测试的一种黑盒测试方法。通常边界 值分析法是作为对等价类划分法的补充, 这种情况下,其测试用例来自等价类的边 界。
问题:NextDate函数 •
Logo
NextDate函数包含三个变量 month、day和year,函数的输出为输入 日期后一天的日期。 要求输入变量 month、day和year均为整数值,并且满 足下列条件: • 条件1 1≤ month ≤12 • 条件2 1≤ day ≤31 • 条件3 1912≤ year ≤2050
• 故障往往出现在输入变量的边界值附近。例如, 一个循环条件为“≤”时,却错写成“<”;计数 器发生少计数一次。 • 基于可靠性理论中称为“单故障”的假设,即有 两个或两个以上故障同时出现而导致软件失效的 情况很少,也就是说软件失效基本上是由单故障 引起的。
Logo
怎样用边界值分析法设计测试用例?
Logo
有两个变量x、y的程序的输入域
c
Y
d a b
X
有两个变量x、y的程序的输入域
Logo
有两个输入变量的程序F的边界值分 析(标准性测试)测试用例:
<xnom,ymin>; <xnom,ymin+>; <xnom,ymax>; <xnom,ymax->;
<xnom,ynom>;
<xmin,ynom>; <xmin+,ynom>; <xmax,ynom>; <xmax-,ynom>;
<xmin,ynom>; <xmin-,ynom>; <xmin+,ynom>; <xmax,ynom>; <xmax-,ynom>; <xmax+,ynom>;
练习2:
Logo
• 有函数f(x,y,z),其中x∈[1900,2100],y∈[1,12], z∈[1,31]的。请写出该函数采用边界值分析法设计 的测试用例。 • { <2000,6,1>, <2000,6,2>, <2000,6,0><2000,6,30>, <2000,6,31>, <2000,6,29><2000,1,15>, <2000,2,15>, <2000,0,15>,<2000,11,15>, <2000,12,15>, <2000,13,15><1900,6,15>, <1901,6,15>, <1899,6,15><2099,6,15>, <2100,6,15>, <2101,6,15><2000,6,15> }
Logo
预期输出
year超出[1912,2050]
1912.6.16 1913.6.16 1975.6.16 2049.6.16 2050.6.16
year超出[1912,2050]
Logo
测试用例
Test8 Test9 Test10 Test11 Test12 Test13
month
6 6 6 6 6 6
Logo
• 对16-bit 的整数而言 32767 和 -32768 是 边界 • 屏幕上光标在最左上、最右下位置 • 报表的第一行和最后一行 • 数组元素的第一个和最后一个 • 循环的第 0 次、第 1 次和倒数第 2 次、 最后一次
边界值分析法的原则
Logo
• 1)如果输入条件规定了值的范围,则应取刚达到这 个范围的边界的值,以及刚刚超越这个范围边界的 值作为测试输入数据。 • 例如,如果程序的规格说明中规定:"重量在10公 斤至50公斤范围内的邮件,其邮费计算公式为 ……"。作为测试用例,我们应取10及50,还应取 10.01,49.99,9.99及50.01等。
NextDate函数的边界值分析测试用例
测试用例 Test1 Test2 Test3 Test4 Test5 Test6 Test7 month 6 6 6 6 6 6 6 day 15 15 15 15 15 15 15 year 1911 1912 1913 1975 2049 2050 2051
Logo
Y
c
d a b X 有两个输入变量的程序F的边界 值分析测试用例
标准性(一般性)测试
Logo
对于一个含有n个变量的程序,保留其中一个变 量,让其余的变量取正常值,被保留的变量 依次取min、min+、nom、max-、max值,对每 个变量都重复进行。这样,对于一个有n个变 量的程序,边界值分析测试程序会产生4n+1 个测试用例。
练习1:
Logo
• 有二元函数f(x,y),其中x∈[1,12], y∈[1,31]。 • 则采用边界值分析法设计的测试用例是:
{ <1,15>, <2,15>, ><11,15>, <12,15>, <6,15>, <6,1>, <6,2>, <6,30>, <6,31>, }
健壮性测试
Logo
Logo
• 最坏情况测试比边界值分析测试以及 健壮性测试要彻底,边界值分析测试 用例是最坏情况测试用例的真子集。 • N变量函数的最坏情况测试,会产生 5n个测试用例,而边界值分析只产生 4n+1个测试用例
健壮最坏情况测试
Logo
首先对每个变量进行包含略小于最 小值min-,最小值min,略高于最 小值min+,正常值nom,略低于最 大值max-,最大值max,和略大于最 大值max+,七个元素集合的测试, 然后对这些集合进行笛卡儿积计 算,以生成测试用例。
day
0 1 2 30 31 32
year
2001 2001 2001 2001 2001 2001
预期输出
day超出[1,31] 2001.6.2 2001.6.3 2001.7.1 输入日期超界 day超出[1,31]
Logo
测试用例
Test14 Test15 Test16 Test17 Test18 Test19
Logo
4)如果程序的规格说明给出的输入域或输 出域是有序集合,则应选取集合的第一个元 素和最后一个元素作为测试用例。
5)如果程序中使用了一个内部数据结构, 则应当选择这个内部数据结构的边界上的 值作为测试用例。 6)分析规格说明,找出其它可能的边界条件。
3、最坏情况测试
Logo
• 边界值分析采用可靠性理论中的单缺 陷假设,如果不考虑这种假设,那么, 应该关心当多个变量取极值时会出现 什么情况。
• 例如,某程序的规格说明要求计算出"每月保险 金扣除额为0至1165.25元",其测试用例可取 0.00及1165.24、还可取一0.01及1165.26等。 再如一程序属于情报检索系统,要求每次" 最少显示1条、最多显示4条情报摘要",这时我 们应考虑的测试用例包括1和4,还应包括0和5等。
边界值分析法的原则