当前位置:文档之家› 软件测试 06 等价类+边界值 Part II

软件测试 06 等价类+边界值 Part II


23
边界值分析
• 等价类分析与边界值的区别? • 请举例说明 •
volunteer ??
24
边界值分析
• 边界值分析使用与等价类划分法相同的划分,只是边界值 分析假定错误更多地存在于划分的边界上,因此在等价类 的边界上以及两侧的情况设计测试用例。 • 例:测试计算平方根的函数 ——输入:实数
——输出:实数 ——规格说明:当输入一个0或比0大的数的时候,返回其 正平方根;当输入一个小于0的数时,显示错误信息“平方 根非法-输入值小于0”并返回0;库函数Print-Line可以用来 输出错误信息。
volunteer ??
26
边界值分析
• 等价类划分: – 可以考虑作出如下划分: • 输入 (i)<0 和 (ii)>=0 • 输出 (a)>=0 和 (b) Error – 测试用例有两个: • 输入4,输出2。对应于 (ii) 和 (a) 。 • 输入-10,输出0和错误提示。对应于 (i) 和 (b) 。 • 边界值分析: – 划分(ii)的边界为0和最大正实数;划分(i)的边界为最小负实数 和0。由此得到以下测试用例: • 输入 {最小负实数} • 输入 {绝对值很小的负数} • 输入 0 • 输入 {绝对值很小的正数} • 输入 {最大正实数}
1. 划分等价类,如下表所示。
有效等价类 整数 编号 1 无效等价类 浮点数 小于100 大于2000 不能被50整除 编号 4 5 6 7
在100到2000之间
能被50整除
2
3
7
等价类划分
2.设计测试用例,如下表所示。
用例编号 1 2 3 4 5 输入数据 100 100.5 50 2050 101 预期结果 提取成功 提示:输入无效 提示:输入无效 提示:输入无效 提示:输入无效 覆盖的等价类 1、2、3 4 5 6 7
34
边界值分析
• 例:有两个输入变量x1(a≤x1≤b)和x2(c≤x2≤d)的程序F的 边界值分析:

volunteer ??
35
边界值分析
• 例1:有两个输入变量x1(a≤x1≤b)和x2(c≤x2≤d)的程序F的 边界值分析测试用例如下: { <x1nom,x2min>, <x1nom,x2min+>, <x1nom,x2nom>, <x1nom,x2max>, <x1nom,x2max->, <x1min,x2nom>, <x1min+,x2nom>, <x1max,x2nom>, <x1max-,x2nom> }
32
边界值分析
• 测试用例设计原则
(1) 如果输入条件规定了值的范围,则应取刚达到这个范围的 边界值以及刚刚超过这个范围边界的值作为测试输入数据。 (2) 如果输入条件规定了值的个数,则用最大个数、最小个数 和比最大个数多1个、比最小个数少1个的数作为测试数据。 (3) 根据程序规格说明的每个输出条件,使用原则 (1)。 (4) 根据程序规格说明的每个输出条件,使用原则 (2) 。 (5) 如果程序的规格说明给出的输入域或输出域是有序集合 (如有序表、顺序文件等),则应选取集合中的第一个和 最后一个元素作为测试用例。 (6) 如果程序中使用了一个内部数据结构,则应当选择这个内 部数据结构的边界上的值作为测试用例。 (7) 分析程序规格说明,找出其它可能的边界条件。 33
有效等价类
对于程序的规格说明来说,是合理的、有意义的输入数据所构成的集合;
无效等价类
对于程序的规格说明来说,是不合理的、没有意义的输入数据所构成的集合;
3
等价类划分
例 1:
假定一台ATM机允许提取增量为50元,总金额从100~2000(包 含2000元)不等的金额,请等价类方法进行测试。
1. 划分等价类,如下表所示。
30
边界值分析
• 计算机是基于二进制进行工作的,因此,软件的任何数值 运算都有一定的范围限制。 计算机数值运算的范围 项 范围或值 位(bit) 0或1 0 ~ 255 字节(byte) 字(word) 0~65535(单字)或 0~4294967295(双字) 1024 千(K) 1048576 兆(M) 1073741824 吉(G)
边界值分析
• 采用边界值分析测试的基本思想是:故障往往出现在输入 变量的边界值附近。 ——因此,边界值分析法利用输入变量的最小值(min)、 略大于最小值(min+)、输入值域内的任意值(nom)、略小 于最大值(max-)和最大值(max)来设计测试用例。 • 边界值分析法是基于可靠性理论中称为“单故障”的假设 ,即有两个或两个以上故障同时出现而导致软件失效的情 况很少,也就是说,软件失效基本上是由单故障引起的。 ——因此,在边界值分析法中获取测试用例的方法是: (1) 每次保留程序中一个变量,让其余的变量取正常值, 被保留的变量依次取min、min+、nom、max-和max。 (2) 对程序中的每个变量重复 (1) 。
25
边界值分析
• 例:测试计算平方根的函数 ——输入:实数 ——输出:实数 ——规格说明:当输入一个0或比0大的数的时候,返回其 正平方根;当输入一个小于0的数时,显示错误信息“平方 根非法-输入值小于0”并返回0;库函数Print-Line可以用来 输出错误信息。
• 给出等价类、边界值方案? •
21
边界值分析
• 常见的边界值有哪些? •
volunteer ??
22
边界值分析
• 对16-bit 的整数而言 32767 和 -32768 是边界
• 屏幕上光标在最左上、最右下位置 • 报表的第一行和最后一行 • 数组元素的第一个和最后一个 • 循环的第 0 次、第 1 次和倒数第 2 次、最后一次
27
边界值分析
• 通常情况下,软件测试所包含的边界检验有几种类型: 数字、字符、位置、质量、大小、速度、方位、尺寸、 空间等
• 相应地,以上类型的边界值应该在: 最大/最小、首位/末位、上/下、最快/最慢、最高/最低、 最短/最长、 空/满等情况下
28
边界值分析
项 边界值 测试用例的设计思路
假设一个文本输入区域允许输入1个到255个 字符 起始-1个字 ,输入1个和255个字符作为有效等价类;输入0个 字符 符/结束+1 和256个字符作为无效等价类,这几个数值都属于 个字符 边界条件值。 假设某软件的数据输入域要求输入5位的数据值, 最小值-1/最 可以使用10000作为最小值、99999作为最大值; 数值 大值+1 然后使用刚好小于5位和大于5位的 数值来作为边 界条件。 小于空余空 例如在用U盘存储数据时,使用比剩余磁盘空间大 空间 间一点/大于 一点(几KB)的文件作为边界条件。 满空间一点
31
边界值分析
• 在计算机软件中,字符也是很重要的表示元素,其中ASCII 和Unicode是常见的编码方式。下表中列出了一些常用字符 对应的ASCII码值。
字符 空 (null) 空格 (space) 斜杠 ( / ) 0 冒号 ( : ) @ ASCII码值 0 32 47 48 58 64 字符 A a Z z 单引号 ( ‘ ) ASCII码值 65 97 90 122 96
4
5
2050
101
提示:输入无效
提示:输入无效
6
7
5
等价类划分
例 1:
假定一台ATM机允许提取增量为50元,总金额从100~2000(包 含2000元)不等的金额,请等价类方法进行测试。

volunteer ??
6
等价类划分
假定一台ATM机允许提取增量为50元,总金额从100~2000(包 含2000元)不等的金额,请等价类方法进行测试。
8
等价类划分
例 2:

volunteer ??
9
等价类划分
例 2:
10
等价类划分
例 2:
11
等价类划分
12
等价类划分
13
等价类划分
14
等价类划分
15
等价类划分
(4)
16
边界值分析
边界值分析法的定义: 边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界 值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。
17
边界值分析
边界值分析关注的是输入空间的边界。
确定边界值应遵循以下几条原则:
如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范 围边界的值作为测试输入数据。 如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少一、比最大个数 多一的数作为测试数据。 如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和 最后一个元素作为测试数据。 如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为 测试数据。
x2
c
d
a
b
x1
36
边界值分析
• 例2:有二元函数f(x,y),其中x∈[1,12],y∈[1,31]。 则采用边界值分析法设计的测试用例是:

volunteer ??
37
边界值分析
• 例2:有二元函数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> }
相关主题