04边界值分析法

04边界值分析法

1边界值分析法的介绍和概念***

边界值分析是一种常用的黑盒测试方法,是对等价类划分方法的补充;所谓边界值,是指相对于输入等价类和输出 等价类而言,稍高于其最高值或稍低于最低值的一些特定 情况。边界值分析的步骤包括确定边界,选择测试用例两 个步骤。

根据大量的测试统计数据,很多错误是发生在输入或输出 范围的边界上,而不是发生在输入/输出范围的中间区域 。因此针对各种边界情况设计测试用例,可以查出更多的 错误。所以,边界值分析法是一种很实用的黑盒测试用例 方法,它具有很强的发现故障缺陷能力。

2边界值分析法的基本原理

  • 错误更可能出现在输入变量的极值附近

04边界值分析法

3边界值分析法的基本思想

选取正好等于,刚刚大于或刚刚小于边界的值 作为测试数据,而不是选取等价类中的典型值 或任意值作为测试数据。

  • 表示方法:最小值min,略高于最小值min+, 正常值nom,略低于最大值max-,最大值max

4边界值测试用例设计法***

  • 一般边界值测试
  • 健壮边界值测试
  • 最坏情况测试
  • 健壮最坏情况测试
  • 特殊值测试

5一般边界值测试**

有n个输入变量,设计测试用例使得一个变量 在数据有效区内取最大值、略小于最大值、正 常值、略大于最小值和最小值。如下图所示, 两个变量X1,X2。它们的有效取值区间分别为 [c,d],[a,b]。

04边界值分析法

分析
  • 每次保留程序中一个变量,让其余的变 量取正常值,被保留的变量依次取min、min+ 、nom、max-、max
  • 对程序中的每个变量重复(n个变量的测 试用例个数为4n+1个)

6健壮性测试**

健壮性是指在异常情况下,软件还能正常运行 的能力。健壮性考虑的主要部分是预期输出, 而不是输入。健壮性测试是边界值分析的一种 简单扩展。除了变量的5 个边界分析取值还要 考虑略超过最大值(max)和略小于最小值( min)时的情况。健壮性测试的最大价值在于 观察处理异常情况,它是检测软件系统容错性 的重要手段。如下图所示

04边界值分析法

分析
  • 每次保留程序中一个变量,让其余的变量 取正常值,被保留的变量依次取min-、min、 min+、nom、max-、max、max+。
  • 对程序中的每个变量重复(n个变量的测 试用例个数为6n+1个)

7最坏情况测试**

最坏情况测试拒绝单缺陷假设,它关心的是当 多个变量取极值时出现的情况。最坏情况测试 中,对每一个输入变量首先进行包含最小值、 略高于最小值、正常值、略低于最大值、最大 值等5个元素集合的测试,然后对这些集合进 行笛卡尔积计算,以生成测试用例。最坏情况 测试将意味着更大工作量。如下图所示

04边界值分析法

分析
  • 所有变量均可去min、min+、nom、 max-、max这五个边界值中的任何一个。( 组合)
  • 测试用例为五个集合的笛卡尔乘积。对 于一个n变量函数,该方法生成的测试用例数 为5的n次方个。

8健壮性最坏情况测试**

健壮最坏情况假设对每一个变量首先进行最小 值、略小于最小值的值、略高于最小值的值、 正常值、最大值、略高于最大值的值、略低于 最大值的值等7个元素的集合。然后对这些集 合进行笛卡尔积运算,以生成测试用例。如下 图所示。

04边界值分析法

分析
  • 所有变量均可取min-、min、min+、nom 、max-、max、max+这7个边界值中的任何一 个。
  • 测试用例为7个集合的笛卡尔乘积。对于 一个n变量函数,该方法生成的测试用例数为7 的n次方个

9特殊值测试**

边界值分析假定n个变量是互相独立的,没有 考虑这些变量之间的互相依赖关系;

特殊值测试使用领域知识、使用类似程序的经 验开发用例的特殊值。

  • 特点:最直观、最不一致、具有高度主观性

特殊值测试特别依赖测试人员的能力

虽然特殊值测试是高度主观性,但是能更有效 地发现问题

例如:2月28日、2月29日

10次边界条件***

边界在软件内部,最终用户几乎看不到,但是软 件测试员仍有必要进行检查。这样的边界条件称 为次边界条件或内部边界条件

  • 1、2的幂

    计算机和软件的基础是二进制数----用位(bit)来 表示0和1,一个字节(byte)由8位组成,(在 32位系统上)一个字(words)由4个字节组成。

    位,字节,

    bit byte 1024KB 1024MB GB TB

    2,4,8,16,32,64,128,256,512,1024

  • ASCII码

  • 默认、空白、空值、零值和无

  • 非法、错误、不正确和垃圾数据

    非法、错误、不正确和垃圾数据测试是很有意 思的。

    如果软件要求输入数字,就输入字母。

    如果软件只接受正数,就输入负数

    如果软件对日期敏感,就看它在公元3000年 是否还能正常工作。

    假装有“肥胖的手指”,同时按下多个键。

如果软件要求输入数字,就输入字母。

如果软件只接受正数,就输入负数

如果软件对日期敏感,就看它在公元3000年 是否还能正常工作。

假装有“肥胖的手指”,同时按下多个键。