功能测试之边界条件

发表于:2007-11-05来源:作者:点击数: 标签:
边界条件是指软件计划的操作界限所在的边缘条件. 如果 软件测试 问题包含确定的边界,那么数据类型可能是: 数值 速度 字符 地址 位置 尺寸 数量 同时,考虑这些类型的下述特征: 第一个/最后一个 最小值/最大值 开始/完成 超过/在内 空/满 最短/最长 最慢/最快
边界条件是指软件计划的操作界限所在的边缘条件.

  如果软件测试问题包含确定的边界,那么数据类型可能是:

  数值 速度 字符 地址 位置 尺寸 数量

  同时,考虑这些类型的下述特征:

  第一个/最后一个 最小值/最大值

  开始/完成 超过/在内

  空/满 最短/最长

  最慢/最快 最早/最迟

  最大/最小 最高/最低

  相邻/最远

  越界测试

  通常是简单加1或者很小的数(对于最大值)和减少1或者很小的数(对于最小值),例如:

  第一个减1/最后一个加1

  开始减1/完成加1

  空了再减/满了再加

  慢上加慢/快上加快

  最大数加1/最小数减1

  最小值减1/最大值加1

  刚好超过/刚好在内

  短了再短/长了再长

  早了更早/晚了更晚

  最高加1/最低减1

  另一些该注意的输入:默认,空白,空值,零值和无;非法,错误,不正确和垃圾数据.

  

  选择测试用例的原则:

  一、如果输入条件规定了值的范围,则应该取刚达到这个范围的边界值,以及刚刚超过这个范围边界的值作为测试输入数据;

  二、如果输入条件规定了值的个数,则用最大个数、最小个数、比最大个数多1格、比最小个数少1个的数做为测试数据;

  三、根据规格说明的每一个输出条件,使用规则一;

  四、根据规格说明的每一个输出条件,使用规则二;

  五、如果程序的规格说明给出的输入域或输出域是有序集合(如有序表、顺序文件等),则应选取集合的第一个和最后一个元素作为测试用例;

  六、如果程序用了一个内部结构,应该选取这个内部数据结构的边界值作为测试用例;

  七、分析规格说明,找出其他可能的边界条件。

  

  边界值法举例

  找零钱最佳组合

  假 设 商 店 货 品 价 格 (R) 皆 不 大 於 100 元 ( 且 为 整 数 ) , 若 顾 客 付 款 在 100 元 内 (P) , 求 找 给 顾 客 之 最 少 货币 个(张) 数 ? ( 货 币 面 值 50 元 (N50) , 10 元 (N10) , 5 元 (N5) , 1 元 (N1) 四 种 )

  一、 分 析 输 入 的 情 形 。

  R >100

  0
  R <= 0

  P >100

  R<= P <= 100

  P
  二、 分 析 输 出 情 形 。

  N50 = 1

  N50 = 0

  4 >N10 >= 1

  N10 = 0

  N5 = 1

  N5 = 0

  4 >N1 >= 1

  N1 = 0

  三、 分 析 规 格 中 每 一 决 策 点 之 情 形 , 以 RR1, RR2, RR3 表 示 计 算 要 找 50, 10, 5 元 货 币 数 时 之 剩 余 金 额 。 R >100R <= 0

  P >100

  P   RR1 >= 50

  RR2 >= 10

  RR3 >= 5

  四、 由 上 述 之 输 入 / 输 出 条 件 组 合 出 可 能 的 情 形 。

  R >100

  R <= 0

  0 <= 100, P >100

  0 <= 100, P
  0 <= 100, R <= P <= 100, RR = 50

  0 <= 100, R <= P <= 100, RR = 49

  0 <= 100, R <= P <= 100, RR = 10

  0 <= 100, R <= P <= 100, RR = 9

  0 <= 100, R <= P <= 100, RR = 5

  0 <= 100, R <= P <= 100, RR = 4

  0 <= 100, R <= P <= 100, RR = 1

  0 <= 100, R <= P <= 100, RR = 0

  五、 为 满 足 以 上 之 各 种 情 形 , 测 试 资 料 设 计 如 下 :

  1. 货品价格 = 101

  2. 货品价格 = 0

  3.货品价格 = -1

  4. 货品价格 = 100, 付款金额 = 101

  5. 货品价格 = 100, 付款金额 = 99

  6. 货品价格 = 50, 付款金额 = 100

  7. 货品价格 = 51, 付款金额 = 100

  8. 货品价格 = 90, 付款金额 = 100

  9. 货品价格 = 91, 付款金额 = 100

  10. 货品价格 = 95, 付款金额 = 100

  11. 货品价格 = 96, 付款金额 = 100

  12. 货品价格 = 99, 付款金额 = 100

  13. 货品价格 = 100, 付款金额 = 100

原文转自:http://www.ltesting.net