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