边界值测试
(A+C>B) (6)
是否等腰三角形 (A=B) (13)
(B=C) (14)
(C=A) (15)
是否等边三角形 (A=B)and(B=C)and (A=C) (17)
• 与等价划分的区别 1)边界值分析不是从某等价类中随便挑一个作为代 表,而是使这个等价类的每个边界都要作为测试 条件。 2)边界值分析不仅考虑输入条件,还要考虑输出空 间产生的测试情况。
常见的边界值
1)对16-bit 的整数而言 32767 和 -32768 是边 界 2)屏幕上光标在最左上、最右下位置 3)报表的第一行和最后一行 4)数组元素的第一个和最后一个 5)循环的第 0 次、第 1 次和倒数第 2 次、最 后一次
的输入数据
不合理的取值
合理的取值
1. 等价类划分原则(A)
如果输入条件规定了取值范围或值的格式, 则可以确定一个有效等价类和两个无效等价 类
无效等价类
有效等价类
无效等价类
1. 等价类划分原则(B)
输入条件规定了输入值的集合,或是规定了 必须如何的条件,则可以确定一个有效等价类 和一个无效等价类
<=500
5
500<X<=2000
10
2000<X<=5000
15
5000<X<=20000
20
20000<X<=40000
25
40000<X<=60000
30
60000<X<=80000
35
80000<X<=100000
40
X>100000
1. 等价类划分原则(D)
根据输出域,反推输入域等价类
无效等价类
有效等价类
1. 等价类划分原则(C)
如果我们确知,已经划分的等价类中各个元 素在程序中的处理方式不同的,则应该将此 等价类进一步划分
处理情况A
处理情况B
程序内部处理
等价类A
等价类B
输入域
个人所得税计算机程序
• 序号 •1 •2 •3 •4 •5 •6 •7 •8 •9
45
范围(X)
税率(%)
三角形程序,输出域分为:等边三角形、等腰三角形、 不等边三角形、不等腰三角形、不是三角形
等价类A
是不是等边三角形
等价类B
是不是等腰三角形
等价类D
是不是三角形
2.列出等价类表
输入输出条件
有效等价类
是否三角形
(A>0) (1)
(B>0(A+B>C) (4)
(B+C>A) (5)
软件是由文档,数据和程序组成的
软件测试是尽最大可能找出最多的缺陷
良好测试用例的特点
有相当的可能找出软件错误 不是冗余的 本类用例中最佳的选择 既不过于复杂,又不过于简单
测试用例设计方法
➢等价类划分法 ➢边界值分析法 ➢错误推测法 ➢因果图法 ➢正交验证法 ➢功能图法 ➢场景法 ➢判定表驱动法
边界值分析方法选择测试用例原则
1)如果输入条件规定了值的范围,则应取刚达 到这个范围的边界的值,以及刚刚超越这个 范围边界的值作为测试输入数据。
例如,如果程序的规格说明中规定:"重量在 10公斤至50公斤范围内的邮件,其邮费计 算公式为……"。作为测试用例,我们应取 10及50,还应取10.01,49.99,9.99及50.01 等。
边界值测试及用例设计方 法
• 人们从长期的测试工作经验得知,大量的 错误是发生在输入或输出范围的边界上, 而不是在输入范围的内部。因此针对各种
边界情况设计测试用例,可以查出更多的 错误。
•
使用边界值分析方法设计测试用例,
首先应确定边界情况。
边界值分析方法的理论知识
• 定义:边界值分析法就是对输入或输出的边界值 进行测试的一种黑盒测试方法。通常边界值分析 法是作为对等价类划分法的补充,这种情况下, 其测试用例来自等价类的边界。
再如一程序属于情报检索系统,要求每次"最少显 示1条、最多显示4条情报摘要",这时我们应考虑 的测试用例包括1和4,还应包括0和5等。
4)如果程序的规格说明给出的输入域或输出 域是有序集合,则应选取集合的第一个元素 和最后一个元素作为测试用例。
5)如果程序中使用了一个内部数据结构,则应 当选择这个内部数据结构的边界上的值作 为测试用例。
6)分析规格说明,找出其它可能的边界条件。
例1:分析以下代码段
int a[10]; for(i=1;i<=10;i++) a[i]=0; 很明显,这段代码的目的是创建包含10个元
素的数组,并为数组中的每一个元素赋初 值0。看看有什么问题?
软件测试就是拿到软件后直接运行程 序,找出软件的所有缺陷。
等价类划分法
1. 什么是等价类?
AB CD
所谓等价类,是指某个输 入域的集合,在这个集合 中每个输入条件是等效的, 如果其中一个不会导致问 题发生,那么集合中其它 输入条件进行测试也不可 能发现错误.
等价类基础划分
有效等价类
无效等价类
需求规格说明书 中有意义,合理
的输入数据
需求规格说明书 中无意义,不合理
最小
最大
最小减1
最小
最大
最大加1
边界值分析法-注意
注意!当输入条件是一个范围的 话,那么使用边界值分析是有效 的,而离散的无范围定义的值则 由于边界难以区分,而不是一个 较为有效的方法。
作业
请为以下实例设计测试用例
请在标准的另存为对话框中输入文件名.文件名 可以包含除 了” 、” , ”∕”, ”﹨”, ”:”, ”.”, ”?”,” 〈〉”之外的任意字符.文件名长度是1~255个字 符
边界值分析法
非法输入域
合法输入域
非法输入域
边界
边界
边界值分析法-原则(A)
如果输入条件规定了值的范围,则应取刚达到这个范围的 边界的值,以及刚刚超越这个范围边界的值作为测试输入 数据
非法取值 测试取值
合法取值
边界值分析法-原则
如果输入条件规定了值的个数,则用最大个数,最小个数, 比最小个数少一,比最大个数多一的数作为测试数据。
2)如果输入条件规定了值的个数,则用最大个 数,最小个数,比最小个数少一,比最大个数多 一的数作为测试数据。
比如,一个输入文件应包括1~255个记录, 则测试用例可取1和255,还应取0及256等。
3)将规则1)和2)应用于输出条件,即设计测试用 例使输出值达到边界值及其左右的值。
例如,某程序的规格说明要求计算出"每月保险金扣 除额为0至1165.25元",其测试用例可取0.00及 1165.24、还可取一0.01及1165.26等。